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

ディレクトリ内のすべてのフォルダ/ファイルにデフォルトのファイル権限を設定する方法は?

私はそれを見つけました:デフォルトのパーミッションを適用しています

記事より:

<オール>
  • setgid を設定します の下のファイル/フォルダーが と同じグループで作成されるようにします

    chmod g+s <directory>
    
  • グループおよびその他のデフォルト ACL を設定する

    setfacl -d -m g::rwx /<directory>
    setfacl -d -m o::rx /<directory>
    
  • 次に確認できます:

    getfacl /<directory>
    

    出力:

    # file: ../<directory>/
    # owner: <user>
    # group: media
    # flags: -s-
    user::rwx
    group::rwx
    other::r-x
    default:user::rwx
    default:group::rwx
    default:other::r-x
    

    これは Chris の回答への追加です。Arch Linux リグでの私の経験に基づいています。

    デフォルトのスイッチ (-d を使用) ) と変更スイッチ (-m ) はデフォルトのパーミッションのみを変更し、既存のものはそのままにします:

    setfacl -d -m g::rwx /<directory>
    

    既存のものを含むフォルダーのパーミッション構造全体を変更したい場合 (追加の行を実行して、-R で再帰的にする必要があります) ):

    setfacl -R -m g::rwx /<directory>
    

    setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
    setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders 
    setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
    setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else. 
    

    (クレジット すべての権限を取り消す行の構文については、コメントで markdwite を使用してください)


    自分自身/ログに記録されたユーザーを www-data グループに追加して、www-data サーバーによって作成されたファイルを操作できるようにします

    sudo usermod -a -G www-data $USER
    

    新しく追加されたグループを有効にするには、再起動/再ログインする必要があります

    cd /var/www
    

    www-data を html フォルダーのグループ メンバーとして追加し、ユーザーを所有者として追加して、グループ メンバーだけでなくそれを所有するようにします

    sudo chown -R $USER:www-data html
    

    USER の代わりにユーザー名を入力してください

    必要に応じて読み取り、書き込み、実行権限を設定します (ugo) u=user、g=group、o=others

    sudo chmod 750 html
    

    html の GID を設定すると、html で新しく作成されたファイルは所有権を継承します:

    sudo chmod g+s html
    

    これにより、html ディレクトリとサブディレクトリ内に新しく作成されたファイル/ディレクトリのデフォルト ルールが作成されます。

    sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html
    

    インストールされている場合は SELinux を作成し、www-data コンテキスト要件を無視して、書き込み権限を許可します

    sudo setsebool -P httpd_unified 1
    

    ディレクトリを一覧表示して、適用された新しい権限を確認します

    ls -ld html
    

    これを返します

    drwxrwsr-x+   3 html www-data
    

    末尾の + は、ディレクトリに ACL (アクセス制御リスト) が設定されていることを示します。

    リファレンス :フォーラムへのリンク


    Linux
    1. Inotifywaitを使用して、特定の拡張子のファイルを作成するためのディレクトリを監視する方法は?

    2. / varの下にあるすべてのファイルのデフォルトのグループ/ユーザー所有権を復元するにはどうすればよいですか?

    3. シンプルスキャンのデフォルトのファイルタイプPNGを設定するにはどうすればよいですか?

    1. ディレクトリ内のファイル サイズがゼロ (0) バイトのすべてのファイルを再帰的に検索する方法

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

    3. 新しい irssi 接続にデフォルトのニックネームを設定するにはどうすればよいですか?

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

    2. root ユーザーのファイル許可はどのように機能しますか?

    3. Linux ファイル サーバーで新しいファイル/フォルダーに特定のアクセス許可を強制するにはどうすればよいですか?