歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux學習筆記_7_Linux用戶管理_2_SetUID、SetGID、粘著位相關分析

一、SetUID

問題:為什麼普通用戶可以修改密碼?

【操作: which passwd; ls -l /usr/bin/passwd】

1、SetUID的定義:當一個可執行程序(一般為一個命令)具有SetUID 權限,用戶執行這個程序時,將以這個程序的所有者的身份執行。

2、加SetUID權限:

chmod u+s … 或: chmod 4755 … //SetUID=4

示例:

chmod u+s `which touch` && touch test && ls -l test

3、危險!

將命令設置成SetUID是一件很危險的事兒!

比如將vi設置成SetUID,則他可以編輯並保存系統中所有的文件,甚至是系統配置文件!他可以讓一個用戶瞬間編程超級用戶,他可以使你的系統不斷的重啟,他可以使一個用戶不需要密碼就可以登錄...

或者將kill設置成SetUID...

預防:

find / -perm -4000 -o -perm -2000

查找權限為4000或2000的文件,即具有SetUID,SetGID的文件

4、取消SetUID權限:

chmod u-s... 或 chmod 755...

二、SetGID

1、SetGID的定義:當一個可執行程序(一般為一個命令)具有SetGID 權限,用戶執行這個程序時,將以這個程序所屬組的身份執行。

2、加SetGID權限:

chmod g+s... 或 chmod 2755... //SetGID=2

【同時設置UID與GID chmod 655...】

三、粘著位

1、定義:如果一個權限為777的目錄,被設置了粘著位,每個用戶都可以在這個目錄裡面創建文件,但是只可以刪除所有者是自己的文件。

2、設置粘著位:

chmod o+t... 或 chmod 1777...

3、粘著位用t來表示,權限值=1

Copyright © Linux教程網 All Rights Reserved