Unix/Linux特殊権限
3985 ワード
setuid
setuid設定ファイル実行時に所有者に切り替える権限
rootのみがアクセスできるファイルやコマンドには、機能的に一般ユーザーとしてアクセスする必要があります.
setgid設定ファイル実行時にその所有者グループに切り替える権限
通常のファイルグループのメンバーは、ファイル所有者のグループに関係なく、ディレクトリ内のすべてのファイルにアクセスする必要がある共有ディレクトリに便利です.
sticky bit
sticky bitを設定するディレクトリは777個のタスクを持つファイルを持つ人だけが削除でき、すべてのユーザーが実行読み取りを変更または作成することができます.
コアは777個のスーパータスクを持つディレクトリですが、ファイルを作成した勘定科目とルート勘定科目しか削除できません.
特殊な権限の確認
Unixシステムは16 bitを使用してファイルの権限とファイルタイプを表し、その意味は以下の通りである.
4 bit(ファイルタイプ)3 bit(特殊権限)3 bit(所有者アクセス)3 bit(グループ所有者アクセス)-3 bit(その他のユーザーアクセス)
2番目の3 bitで特殊権限をチェックして付与できます
statコマンドのアクセスエントリとls-alを表示することで、ファイルシステム権限を表示できます.
setuidのチェック
$ stat test
File: test
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 3408051 Links: 1
Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-21 13:27:50.333437618 +0900
Modify: 2021-12-21 13:27:50.333437618 +0900
Change: 2021-12-21 13:28:34.306955587 +0900
Birth: -
$ ls -al test
-rwsr-xr-x 1 root root 0 Dec 21 13:27 test
setgidの確認$ stat test
File: test
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 3408051 Links: 1
Access: (2755/-rwxr-sr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-21 13:27:50.333437618 +0900
Modify: 2021-12-21 13:27:50.333437618 +0900
Change: 2021-12-21 13:29:12.596275893 +0900
Birth: -
$ ls -al test
-rwxr-sr-x 1 root root 0 Dec 21 13:27 test
チェックsticky bit$ stat tmp
File: tmp
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd01h/64769d Inode: 3670017 Links: 70
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-21 10:50:56.913827436 +0900
Modify: 2021-12-21 13:25:19.664236075 +0900
Change: 2021-12-21 13:25:19.664236075 +0900
Birth: -
$ ls -al test
-rwxrwxrwt 1 root root 0 Dec 21 13:27 test
特殊権限の検索find /bin /usr/bin /sbin -perm -4000 -o -perm -4000 |xargs ls -l
find /bin /usr/bin /sbin -perm -2000 -o -perm -2000 |xargs ls -l
find /bin /usr/bin /sbin -perm -1000 -o -perm -1000 |xargs ls -l
特別な権限//setuid
chmod 4755 setuid-prog
//setgid
chmod 2755 setgid-prog
//sticky bit
chmod -R 1777 /opt/mytmp
所有者およびルート以外のユーザーがディレクトリにstickyビットを持つファイルを変更および削除しようとした場合、次の操作はできません.$ mv test test2
mv: cannot move 'test' to 'test2': Operation not permitted
特殊なアクセス権のリカバリ// setuid 회수
$ chmod u-s filename
// setgid 회수
$ chmod g-s filename
// sticky bit 회수
$ chmod o-t filename name
参考資料Reference
この問題について(Unix/Linux特殊権限), 我々は、より多くの情報をここで見つけました https://velog.io/@leesjpr/UnixLinux-특수권한テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol