ユーザーが自分のファイルのグループ所有権を変更できないのはなぜですか? [コピー]

ユーザーが自分のファイルのグループ所有権を変更できないのはなぜですか? [コピー]

ユーザーが自分が所有するファイルのグループ権限を変更できないのはなぜですか?ユーザーがいるとしましょう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ベースのディストリビューションが設定されていないので、特定のユーザーにディレクトリへのアクセスを許可する方法は次のとおりです。

  1. ディレクトリ内のグループの所有権を、ユーザーと他のユーザーがメンバーに属するグループに変更します。

  2. それに応じてディレクトリの権限を変更します。

    $ chmod 755 /home/martin
    $ ls -ld /home/martin/
    drwxr-xr-x 170 martin martin 491520 Apr 20 13:43 /home/martin/
    

    これにより、誰もがディレクトリにアクセスできるようになります。ポールも含まれた。

関連情報