ユーザーが自分が所有するファイルのグループ権限を変更できないのはなぜですか?ユーザーがいるとしましょうmartin
。
$ ls -lAd /home/martin/
drwx------ 8 martin martin 4096 Apr 20 01:06 /home/martin/
何らかの理由でユーザーがpaul
私の家を訪問できることを願っています。
$ chgrp paul /home/martin/
chgrp: changing group of `/home/martin/': Operation not permitted
ユーザーが自分のファイルのグループ所有権を変更できないセキュリティ上の理由はありますか?
使っていますDebian 7(息を呑む)。
答え1
chgroup
自分が属しているグループに対してのみ、次の操作を実行できます。
$ groups
terdon sudo netdev fuse vboxsf vboxusers
$ chgrp fuse file
$ ls -l file
-rw-r--r-- 1 terdon fuse 531 Apr 15 19:17 file
$ chgrp mysql file
chgrp: changing group of ‘file’: Operation not permitted
この行動はPOSIX仕様:
ファイル所有者または適切な権限を持つユーザーのみがファイル所有者またはグループを変更できます。
一部の実装では、指定されたグループが有効なグループIDまたは呼び出しプロセスの補足グループIDのいずれかでない場合は、適切な権限を持つユーザーにchgrpの使用を制限します。
その主な理由は、あなたがグループのメンバーではない場合、グループがアクセスできるアイテムを変更できないためです。この回答chown
権限とも関連があります。
従来、共有システムには、users
すべての一般ユーザーが属するグループが 1 つあり、これは各ユーザーの基本グループです。これにより、生成されたファイルはusers
グループの所有になり、すべてのユーザーがそのファイルを読み取ることができます。
とにかく、これは現在Debianベースのディストリビューションが設定されていないので、特定のユーザーにディレクトリへのアクセスを許可する方法は次のとおりです。
ディレクトリ内のグループの所有権を、ユーザーと他のユーザーがメンバーに属するグループに変更します。
それに応じてディレクトリの権限を変更します。
$ chmod 755 /home/martin $ ls -ld /home/martin/ drwxr-xr-x 170 martin martin 491520 Apr 20 13:43 /home/martin/
これにより、誰もがディレクトリにアクセスできるようになります。ポールも含まれた。