setgidバイナリに権限がなく、インストールが正しくありますが、何かが欠けていますが、何ですか?

setgidバイナリに権限がなく、インストールが正しくありますが、何かが欠けていますが、何ですか?

マニュアルページ、インストール、権限を確認しました。

(編集:要求どおりにレコードをシーケンスにマージします。マイナーな問題のように見え始めました。最後の編集以降、新しいものはなく、すべての良い内容を1つにまとめました。)

~/sandbox/6$ editfunc doit
~/sandbox/6$ -x doit
+ doit
+ find
.
+ cp /bin/ln /bin/id .
+ sudo chown jthill:jthill id ln
+ chmod g+s id ln
+ mkdir protected
+ chmod 770 protected
+ touch data
+ set +xv
~/sandbox/6$ ls -A
data  id  ln  protected
~/sandbox/6$ ls -Al
total 92
-rw-r--r-- 1 jthill jthill     0 Nov  8 02:39 data
-rwxr-sr-x 1 jthill jthill 31432 Nov  8 02:39 id
-rwxr-sr-x 1 jthill jthill 56112 Nov  8 02:39 ln
drwxrwx--- 2 jthill jthill  4096 Nov  8 02:39 protected
~/sandbox/6$ sudo su nobody
[nobody@home 6]$ ./id
uid=619(nobody) gid=617(nobody) egid=1000(jthill) groups=617(nobody)
[nobody@home 6]$ ./ln ln protected
./ln: failed to create hard link ‘protected/ln’ => ‘ln’: Operation not permitted
[nobody@home 6]$ ./ln data protected
./ln: failed to create hard link ‘protected/data’ => ‘data’: Operation not permitted
[nobody@home 6]$ ln ln protected
ln: failed to create hard link ‘protected/ln’ => ‘ln’: Permission denied
[nobody@home 6]$ ln data protected
ln: failed to create hard link ‘protected/data’ => ‘data’: Permission denied
[nobody@home 6]$ exit
~/sandbox/6$ 

ベストアンサー1

それを発見:

  • 設定されている場合sysctl fs/protected_hardlinks
  • 所有者ではない(そしてCAP_FOWNERを持たない)ハードリンクは次のようになります。
    • 特別ではない
    • ユーザーIDが設定されていません。
    • setgidが実行可能ではありません
    • 読み書き可能

によるとfs/namei.c。 SOの一部の人々は、人々が追加することはできますが、見ることができないアーカイブフォルダを持っていたかったのです(私の考えでは、これはWindows機能のようです)。私はこれがsetgidが良い数少ないところの一つだと思い、スモークテストを通してここに。

特にみんなに感謝します。アントンソース確認を提案した人。

(編集:sysctlスペル)

おすすめ記事