rootまたは自分以外のユーザーが所有するファイルをユーザーがchmodできるようにします。ファイルを777にchmodしましたが、「操作は許可されていません」と表示されます。ユーザーをファイルのグループに追加し、同じものを取得しました。ユーザーが書き込みアクセス権を持つファイルをchmodできないのはなぜですか?
rootまたは自分以外のユーザーが所有するファイルをユーザーがchmodできるようにします。ファイルを777にchmodしましたが、「操作は許可されていません」と表示されます。ユーザーをファイルのグループに追加し、同じものを取得しました。ユーザーが書き込みアクセス権を持つファイルをchmodできないのはなぜですか?
回答:
ユーザーが書き込みアクセス権を持つファイルをchmodできないのはなぜですか?
通常のアクセス権の場合、これは設計上の決定です。richaclsが必要です:WRITE_ACL
そして多分WRITE_OWNER
。
Unixの許可は単純になるように設計されています。ファイルから読み取るには読み取り権限、ファイルに書き込むには書き込み権限、ファイルを実行するには実行権限が必要です。メタデータを変更するにはファイルを所有する必要があります¹。
ファイルを読み取ることができるユーザーに他のユーザーに読み取り権限を許可したり、ファイルに書き込むことができるユーザーに他のユーザーに書き込み権限を許可したりしても、セキュリティモデルはあまり変わりません。これは、Unixのアクセス権が任意であるためです。ファイルを読み取ることができるユーザーは、他のユーザーがファイルを読み取れない場合でも、そのコンテンツを他のユーザーに公開できます(書き込みについても同様に、ユーザーはプロキシとして機能し、他の人に代わって書いてください)。
一方、ユーザーが持っていない許可を許可すると、許可システムが完全に破られます。ユーザーはすべての許可を自分自身に許可できます。
所有していないファイルの許可を変更する必要はほとんどありません。通常、ファイルが作成されたらすぐに適切なアクセス許可を持つようにファイルを調整する必要があります。本当に必要な場合sudo chmod
は、特定のモードと特定のファイル(例:)のユーザー権利を与えることができますjoe: ALL = (ALL) chmod g+r /path/to/file
。
¹ ファイルへの読み取りまたは書き込みによっても設定されるため、アクセス時間と変更時間を除きます。