GNU/Linux >> Linux の 問題 >  >> Linux

ACL を使用して umask を上書きし、特定のディレクトリに作成されたすべてのファイルを誰でも読み取り可能にすることはできますか?

解決策 1:

はい、ACL はこれを行うことができます。

<オール>
  • ファイルシステムが acl でマウントされていることを確認してください .これを確認するには、mount と入力します . acl が表示されるはずです

    など、その他の権限のリスト
    /dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)
    

    acl でマウントされていない場合は、/etc/fstab を開きます 、および acl を追加します オプションのリストへ:

    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type>   <options>       <dump>  <pass>
    /dev/sda1       /          ext3     noatime,errors=remount-ro,acl 0       1
    

    次に、実行中のファイルシステムを新しいオプションで再マウントします:

    mount -v -o remount /
    
  • acl ユーティリティをインストールします。 ubuntu/debian の場合:

    sudo apt-get install acl
    
  • あなたの新しい友達は setfacl です そして getfacl . setfacl を使用 ディレクトリのデフォルトの ACL を変更するには:

    setfacl -d -m o:r foo
    

    -d デフォルトを設定、-m acl を変更し、o:r 「その他」に読み取り権を付与します。ディレクトリに default を設定することは、ディレクトリに setgid を設定することとほぼ同じですが、新しく作成されたファイルがグループを継承する代わりに、それらは acl を継承します。 setgid と acl を一緒に使用すると、効果的なグループベースのディレクトリごとの umask のために、デフォルトのアクセス許可をグループに付与し、新しく作成されたファイルをそのグループに所属させることができるため、強力になります。

  • あなたの仕事をチェックしてください:ls -l 標準のファイル許可に加えて、acl の存在を示す追加の「+」が表示されるはずです。

    % ls -la foo/
    drwxr--r--+
    

    getfacl を使用して ACL の詳細情報を取得できます .

    % getfacl foo
    # file: foo
    # owner: you
    # group: you
    user::rwx
    group::r--
    other::r--
    default:user::rwx
    default:group::---
    default:other::r--
    
  • 解決策 2:

    次のようにマスク ACL プロパティを設定することにより、ディレクトリの umask を強制することもできます:

    setfacl -d -m mask:07 .
    

    Linux
    1. ディレクトリ内のすべての新しいファイルをグループからアクセスできるようにしますか?

    2. Linux –ディレクトリ内のすべてのフォルダ/ファイルにデフォルトのファイル権限を設定するにはどうすればよいですか?

    3. Cを使用してディレクトリ内のファイル数を数える

    1. ディレクトリ内のすべてのファイルを解凍します

    2. 2 つのディレクトリ ツリーが与えられた場合、内容が異なるファイルを見つけるにはどうすればよいですか?

    3. ディレクトリのすべてのファイルを空にする linux コマンド

    1. インデックスを使用してgrepを高速化しますか?

    2. ディレクトリ(およびそのサブディレクトリ)内のすべてのpdfファイルを単一の出力ディレクトリに再帰的にコピーするにはどうすればよいですか?

    3. Linux で 1 つのディレクトリを除くすべてのファイルのアクセス許可を変更できますか?