権限が777に設定されているフォルダーがありますが、そのフォルダーにファイルを追加したり、フォルダーを解凍したりします。抽出されたファイルまたはフォルダーのアクセス許可は変更されません。宛先フォルダーのアクセス許可は777であり、そのフォルダーに追加するものが自動的に777のアクセス許可を取得するようにします。
そのフォルダーに.zipを抽出してファイルまたはフォルダーを追加すると、抽出されたフォルダー/ファイルのアクセス許可が自動的に変更されません。ファイル/フォルダを新しく追加するには、常にchmodを実行する必要があります!
承認された回答:
必要なものはACLと呼ばれます –アクセス制御リスト。
アクセス制御リスト(ACL)は、ファイルシステムに追加のより柔軟な
許可メカニズムを提供します。
UNIXファイルのパーミッションを支援するように設計されています。 ACLを使用すると、任意のユーザーまたはグループに任意のディスクリソースへのアクセス許可を与えることができます。
acl
パッケージがすでにインストールされている必要があります。実行を確認するには、次のようにします。dpkg -s acl
。
ACLを使用するには、ファイルシステムでACLを有効にする必要があります。ただし、すでに有効になっていることができます 。確認するには、tune2fs -l
を使用します 。 /dev/sda6
に置き換えます システムの場合:
$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options: user_xattr acl
aclが表示された場合 ワード–デバイス/dev/sda6
ですでに有効になっています 。
aclが表示されない場合 単語– tune2fs -o acl /dev/sda6
を実行します 有効にします。
ACLを変更するには、 setfaclを使用します 指図。権限を追加するには、 setfacl -mを使用します 。
ユーザーの権限を設定するには:
$ setfacl -m "u:username:rwx" /path/to/folder
これにより、rwx
が設定されます ACL、ユーザーusername
/ path / to/folderへ。これは、このフォルダに作成されたすべてのファイルにrwx
が含まれることを意味します username
の権限 。
グループの権限を設定するには:
$ setfacl -m "g:groupname:rwx" /path/to/folder
これにより、rwx
が設定されます ACL、グループgroupname
/ path / to/folderへ。これは、このフォルダに作成されたすべてのファイルにrwx
が含まれることを意味します グループgroupname
の権限 。
その他の権限を設定するには:
$ setfacl -m "o:rwx" /path/to/folder
これにより、rwx
が設定されます ACL、その他の/ path / to/folder。これは、このフォルダに作成されたすべてのファイルにrwx
が含まれることを意味します その他の許可。
許可を確認するには:
$ getfacl /path/to/folder
aclを組み合わせる
$ setfacl -m u:username:rwx,g:groupname:rwx,o:rwx /path/to/folder
デフォルトACL
The new object inherits the default ACL of the containing directory as its
access ACL.
If no default ACL is associated with a directory, the mode parameter to the func‐
tions creating file objects and the file creation mask (see umask(2)) are used to
determine the ACL of the new object:
The new object is assigned an access ACL containing entries of tag types
ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER. The permissions of these entries
are set to the permissions specified by the file creation mask.
したがって、デフォルトのACLを設定すると、優先になります。 ACL。つまり、user
にACLを設定すると またはgroup
、新しく作成されたファイルはデフォルトを継承します aclとにかく 。デフォルトのACLに注意してください。
デフォルトのACLを設定するには、-d
を使用します キー、
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
またはdefault
を使用します 単語
$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder
デフォルトのACLの設定には注意してください。たとえば、次のように設定した場合:
$ setfacl -d -m o:--x /path/to/folder
そして今、このACLをフェッチします
$ getfacl /path/to/folder
# file: path/to/folder
# owner: c0rp
# group: c0rp
user::rwx
group::rwx
other::--x
default:user::rwx
default:group::rwx
default:other::--x
グループとユーザーのデフォルトのACLはrwx
になります 自動的に!
ACLを削除
$ setfacl -b /path/to/folder
これにより、すべてのACLがフォルダから削除されます
最後に
システム内のユーザーのみの場合は、デフォルトのACLを使用することをお勧めします。
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
これにより、/ path / to / folder
に必要な処理が実行されます。ソース
archlinux – https://wiki.archlinux.org/index.php/Access_Control_Lists
help.ubuntu – https://help.ubuntu.com/community/FilePermissionsACLs