日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用户权限sudo、suid、sgid以及facl等

發(fā)布時間:2025/3/8 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用户权限sudo、suid、sgid以及facl等 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

su

切換用戶或以指定用戶運行命令。

使用su可以指定運行命令的身份(user/group/uid/gid)。

為了向后兼容,su默認不會改變當前目錄,且僅設置HOME和SHELL這兩個環(huán)境變量(若目標用戶非root,則還設置USER和LOGNAME環(huán)境變量)。推薦使用--login選項(即"-"選項)避免環(huán)境變量混亂

-c command使用-c選項傳遞要指定的命令到shell上執(zhí)行。使用-c執(zhí)行命令會為每個su都分配新的會話環(huán)境?
-, -l, --login

啟動shell作為登錄的shell,模擬真正的登錄環(huán)境。它會做下面幾件事:

? ?1.清除除了TERM外的所有環(huán)境變 ? ? ? 量
? ?2.初始化HOME,SHELL,USER,

? ? ? LOGNAME,PATH環(huán)境變量
? ?3.進入目標用戶的家目錄
? ?4.設置argv[0]為"-"以便設置shell ? ? ? ? 作為登錄的shell使用--login的su ? ? ? 是交互式登錄。不使用--login的 ? ? ? su是非交互式登錄(除不帶任何 ? ? ? ? 參數的su外

(1). 若su沒有給定任何參數,將默認以root身份運行交互式的shell(交互式,所以需要輸入密碼),即切換到root用戶,但只改變HOME和SHELL環(huán)境變量。

(2). su - username是交互式登錄,要求密碼,會重置整個環(huán)境變量,它實際上是在模擬真實的登錄環(huán)境。

(3). su username是非交互登錄,不會重置除HOME/SHELL外的環(huán)境變量

-m, -p, --preserve-environment保留整個環(huán)境變量(不會重新設置HOME,SHELL,USER和LOGNAME),保留環(huán)境的方法是新用戶shell上執(zhí)行原用戶的各配置文件,如~/.bashrc。當設置了--login時,將忽略該選項
-s SHELL

運行指定的shell而非默認shell,選擇shell的順序優(yōu)先級如下:
1.--shell指定的shell
2.如果使用了--preserve-environment,選擇SHELL環(huán)境變量的shell

?3.選項目標用戶在passwd文件中指定的shell
? 4./bin/sh

sudo

-b ? (background)該選項告訴sudo在后臺執(zhí)行指定的命令。
? ? ??注意,如果使用該選項,將無法使用任務計劃(job)來控 ? ? ? ? 制維護這些后臺進程,需要交互的命令應該考慮是否真的要后臺,因為可能會失敗
-l[l] [command]:當單獨使用-l選項時,將列出(list)用戶可執(zhí)行和被禁止的命令。
? ? ? ? ? ? ? ? ? ? ? ? ? 當配合command時,且該command是被允許執(zhí)行的命令,將列出命令的全路徑及該命令參數。
? ? ? ? ? ? ? ? ? ? ? ? ? 如果command是不被允許執(zhí)行的,則sudo直接以狀態(tài)碼-1退出。
? ? ? ? ? ? ? ? ? ? ? ? ? 可以指定多個字母"l"來顯示更詳細的格式
-n ? ? ? ? ? ? :使得sudo變成非交互模式,但如果安全策略是要求輸入密碼的,則sudo將報錯
-S ? ? ? ? ? ? :(stdin)該選項使得sudo從標準輸入而非終端設備上讀取密碼,給定的密碼必須在尾部加上換行符
-s [command] ? :(shell)指定要切換到的shell,如果給定command,則在此shell上執(zhí)行該命令
-U user ? ? ? ?:(other user)配合-l選項來指定要列出哪個用戶的權限信息
-u user ? ? ? ?:(user)該選項明確指定要以此處指定的用戶而非root來運行command。
? ? ? ? ? ? ? ? ? ? ?若使用uid的方式指定用戶,則需要使用"#uid",但很多時候可能需要對"#"使用"\"轉義,即使用"\#uid"
-E ? ? ? ? ? ? ? :(environment)該選項告訴sudo在執(zhí)行命令時保留自己的環(huán)境變量,保留環(huán)境變量的方式是執(zhí)行環(huán)境配置文件。
? ? ? ? ? ? ? ? ? ? ?但因為跨了用戶,所以很可能某些家目錄下的環(huán)境配置文件會因為無權限而執(zhí)行失敗,此時sudo將報錯 ??
-k [command] ? :當單獨使用-k選項時,sudo將使得用戶的認證緩存失效。下次執(zhí)行sudo命令需要輸入密碼。
? ? ? ? ? ? ? ? ? ? ? ? ? ?當配合command時,-k選項將忽略用戶的緩存,所以sudo將要求用戶輸入密碼,但這次輸入密碼不會更新認證緩存
? ? ? ? ? ? ? ? ? ? ? ? ? ?但執(zhí)行-k選項本身,不需要密碼
-K ? ? ? ? ? ? :(sure kill)類似于-k選項,但它會完全移除用戶的認證緩存,且不會配合command,執(zhí)行-K本身不需要密碼
-v ? ? ? ? ? ? :(validate)該選項使得sudo更新用戶認證緩存
-- ? ? ? ? ? ? :暗示sudo命令行參數到此結束

sudo? -k? ?認證信息失效必須輸入密碼,sudo輸入密碼默認時長5分鐘? ? ? ? ? ? ? ? sudo? -l? 列出當前用戶所有的可以使用的sudo命令? sudo?-h? ? ?列出使用方法,退出。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?sudo?-V? ? 顯示版本信息,并退出。
sudo?-u? ? ?以指定用戶的身份執(zhí)行命令,可以是用戶名,也可以是#uid。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
sudo?-p? ? ?Prompt?????可以更改詢問密碼的提示語,其中%u會代換為使用者帳號名稱,%h會顯示主機名稱。
sudo?-e? ? ?file? ? ?不是執(zhí)行命令,而是修改文件,相當于命令sudoedit。

?

1. sudo能夠限制指定用戶在指定主機上運行某些命令。
2. sudo可以提供日志,記錄每個用戶使用sudo做了些什么,在配置文件/etc/syslog.cnf添加修改。
3. sudo為系統管理員提供配置文件,允許系統管理員集中地管理用戶的使用權限和使用的主機。它默認的存放位置

4.sudo命令使用必須輸入當前用戶密碼,密碼有效期為5分鐘。超時以后,用戶必須重新輸入密碼。
5.? ?支持別名? ,遵循EBNF描述性語言,字母必須全部大寫,別名可以嵌套別名,可以!取反,必須先定義

? ? ? ? ? ? ? ? ? ? ? ? ? 是/etc/sudoers,用visudo命令修改,一個sudo條目:

? ? ? ? ? ? 用戶? ? ? ?ALL主機=(root)以身身份執(zhí)行? ? ? NOPASSWD:? 命令 ,? PASSWD:命令? ? !命令

 ? ? ? ? test? ?linux=(test1,test2)??? /bin/ls? ? 用sudo? -u指定用戶運行

? ? ? ? ? ? Defaults:test? ?runas_default=test1? 默認以test1運行,Defaults后面如果有冒號,是對后面用戶的默認,如果沒有,則是? ? ? ? ? ? ? 對所 有?用戶的默認

①用戶名:可以用組,只需在組名前加個百分號%表示。

②主機名:表示該用戶可以在哪些主機上運行sudo,可以用hostname也可以用ip指定。

③可切換的用戶身份,即指定執(zhí)行命令的用戶,也可以用組。

④權限和命令:允許執(zhí)行和不允許執(zhí)行的命令(多個命令間用逗號分隔)和特殊權限,命令可以帶其選項及參數。命令要寫絕對路徑。不允許執(zhí)行的命令需要在命令前加上"!"來表示。可以使用標簽,如NOPASSWD標簽表示切換或以指定用戶執(zhí)行該標簽后的命令時不需要輸入密碼。一行寫不下時可使用"\"續(xù)行

?

? ? ? ? ? ? ?who? ? ? ? ? ? ? ?User_alias? ? ?USER_ADMIN =? 用戶名,組名%引導

? ? ? ? ? ? ?which host? ? Host_Alias=主機名、ip地址、其他主機別名

? ? ? ? ? ? ?runas? ? ? ? ? ? Run_Alias=用戶名、%組名,其他的別名

? ? ? ? ? ? ?command? ? ?Cmd_Alias=命令路徑,目錄,其他別名? ?

?

?

7.SUID、SGID、STICK

? ? SUID? 以執(zhí)行文件所屬主身份運行,chmod u+s 文件? ? ,如果原來有執(zhí)行權限,其他位為s,否則為S

8? ? ? facl利用文件擴展保存額外的訪問控制權限 ,文件屬性后面有+號

? ? ? ?對于一個文件的訪問? ?ower-----》facl? ?ower-----》group-----》facl? group》other

? ? ? ?setfacl? ? ?-m? 設定? ? ? ?u uid? ? ? ??-m? ?u:test:rw? ? ? ?文件? ? 前面加d:,為目錄設置,目錄中創(chuàng)建的文件自動繼承目錄權限

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? g? gid? ? ? ? -m? ?g:group:rw? ?文件? ??

? ? ? ? ? ? ? ? ? ? ? --mask?? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? -x取消設定? ??

? ? ? ?getfacl??

?

? ??

? ?

?

總結

以上是生活随笔為你收集整理的用户权限sudo、suid、sgid以及facl等的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。