su 切換用戶或以指定用戶運行命令。 使用su可以指定運行命令的身份(user/group/uid/gid)。 為了向后兼容,su默認不會改變當前目錄,且僅設置HOME和SHELL這兩個環境變量(若目標用戶非root,則還設置USER和LOGNAME環境變量)。推薦使用--login選項(即"-"選項)避免環境變量混亂 | -c command | 使用-c選項傳遞要指定的命令到shell上執行。使用-c執行命令會為每個su都分配新的會話環境 | ? |
-, -l, --login | 啟動shell作為登錄的shell,模擬真正的登錄環境。它會做下面幾件事: ? ?1.清除除了TERM外的所有環境變 ? ? ? 量 ? ? ? LOGNAME,PATH環境變量 | (1). 若su沒有給定任何參數,將默認以root身份運行交互式的shell(交互式,所以需要輸入密碼),即切換到root用戶,但只改變HOME和SHELL環境變量。 (2). su - username是交互式登錄,要求密碼,會重置整個環境變量,它實際上是在模擬真實的登錄環境。 (3). su username是非交互登錄,不會重置除HOME/SHELL外的環境變量 | |
-m, -p, --preserve-environment | 保留整個環境變量(不會重新設置HOME,SHELL,USER和LOGNAME),保留環境的方法是新用戶shell上執行原用戶的各配置文件,如~/.bashrc。當設置了--login時,將忽略該選項 | ||
-s SHELL | 運行指定的shell而非默認shell,選擇shell的順序優先級如下: ?3.選項目標用戶在passwd文件中指定的shell | ||
sudo | -b ? (background)該選項告訴sudo在后臺執行指定的命令。 sudo? -k? ?認證信息失效必須輸入密碼,sudo輸入密碼默認時長5分鐘? ? ? ? ? ? ? ? sudo? -l? 列出當前用戶所有的可以使用的sudo命令? sudo?-h? ? ?列出使用方法,退出。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?sudo?-V? ? 顯示版本信息,并退出。 | ? | 1. sudo能夠限制指定用戶在指定主機上運行某些命令。 4.sudo命令使用必須輸入當前用戶密碼,密碼有效期為5分鐘。超時以后,用戶必須重新輸入密碼。 |
? ? ? ? ? ? ? ? ? ? ? ? ? 是/etc/sudoers,用visudo命令修改,一個sudo條目: ? ? ? ? ? ? 用戶? ? ? ?ALL主機=(root)以身身份執行? ? ? NOPASSWD:? 命令 ,? PASSWD:命令? ? !命令 ? ? ? ? test? ?linux=(test1,test2)??? /bin/ls? ? 用sudo? -u指定用戶運行 ? ? ? ? ? ? Defaults:test? ?runas_default=test1? 默認以test1運行,Defaults后面如果有冒號,是對后面用戶的默認,如果沒有,則是? ? ? ? ? ? ? 對所 有?用戶的默認 ①用戶名:可以用組,只需在組名前加個百分號%表示。 ②主機名:表示該用戶可以在哪些主機上運行sudo,可以用hostname也可以用ip指定。 ③可切換的用戶身份,即指定執行命令的用戶,也可以用組。 ④權限和命令:允許執行和不允許執行的命令(多個命令間用逗號分隔)和特殊權限,命令可以帶其選項及參數。命令要寫絕對路徑。不允許執行的命令需要在命令前加上"!"來表示。可以使用標簽,如NOPASSWD標簽表示切換或以指定用戶執行該標簽后的命令時不需要輸入密碼。一行寫不下時可使用"\"續行 ? ? ? ? ? ? ? ?who? ? ? ? ? ? ? ?User_alias? ? ?USER_ADMIN =? 用戶名,組名%引導 ? ? ? ? ? ? ?which host? ? Host_Alias=主機名、ip地址、其他主機別名 ? ? ? ? ? ? ?runas? ? ? ? ? ? Run_Alias=用戶名、%組名,其他的別名 ? ? ? ? ? ? ?command? ? ?Cmd_Alias=命令路徑,目錄,其他別名? ? |
?
?
7.SUID、SGID、STICK
? ? SUID? 以執行文件所屬主身份運行,chmod u+s 文件? ? ,如果原來有執行權限,其他位為s,否則為S
8? ? ? facl利用文件擴展保存額外的訪問控制權限 ,文件屬性后面有+號
? ? ? ?對于一個文件的訪問? ?ower-----》facl? ?ower-----》group-----》facl? group》other
? ? ? ?setfacl? ? ?-m? 設定? ? ? ?u uid? ? ? ??-m? ?u:test:rw? ? ? ?文件? ? 前面加d:,為目錄設置,目錄中創建的文件自動繼承目錄權限
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? g? gid? ? ? ? -m? ?g:group:rw? ?文件? ??
? ? ? ? ? ? ? ? ? ? ? --mask?? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? -x取消設定? ??
? ? ? ?getfacl??
?
? ??
? ?
?