
皆さん、私は Linux のパーミッションを学習中ですが、setuid、setgid、stickybit を理解しようとして困惑しています。以下の私の理解は正しいでしょうか。
セトゥイド :-
ファイル: 実行可能ファイルに setuid が設定され、起動されると、起動したユーザーの権限ではなく、ファイル所有者の権限で実行されます。
ディレクトリ:- ディレクトリに設定されたsetuid権限はUNIXおよびLinuxシステムでは無視されます
スティックバイビット:-
ファイル:- スティッキービット権限はファイルでは無視されます
ディレクトリ: ディレクトリにスティッキー ビットが設定されている場合、ファイルを削除できるのは、ファイル所有者、ディレクトリ所有者、または特権ユーザーのみです。
設定:-
ファイル:- ファイルで使用される setgid は、setuid と非常に似ています。プロセスは、実行されると、ファイルを所有するグループとして実行されます。
ディレクトリ:- setgid はディレクトリに適用できますか。設定しようとしていますが、設定されません。
-bash-4.4$ pwd
/cms/fmw/sticktest
-bash-4.4$ ls -rlt
total 3
drwxrwxr-x 2 cmsstg cmsstg 3 Nov 8 16:23 guidtest
-bash-4.4$
-bash-4.4$ chmod 2775 guidtest/
-bash-4.4$ ls -rlt
total 3
drwxrwxr-x 2 cmsstg cmsstg 3 Nov 8 16:23 guidtest
-bash-4.4$
答え1
適用可能です。ディレクトリ内のファイルはディレクトリのグループで作成されることを意味します。
例:
[/tmp]$ mkdir konijn
[/tmp]$ ls -ld konijn
drwxr-xr-x 2 ljm users 4096 Nov 8 14:15 konijn
[/tmp]$ touch konijn/wiep
[/tmp]$ ls -l konijn/wiep
-rw-r--r-- 1 ljm users 0 Nov 8 14:15 konijn/wiep
[/tmp]$ chgrp games konijn
[/tmp]$ chmod 2755 konijn
[/tmp]$ ls -ld konijn
drwxr-sr-x 2 ljm games 4096 Nov 8 14:19 konijn
[/tmp]$ touch konijn/wiep2
-rw-r--r-- 1 ljm games 0 Nov 8 14:21 konijn/wiep2
所有者(ljm
)はグループ(games
)のメンバーである必要があることに注意してください。