紅帽7 su命令與sudo服務

一、su命令安全

su命令能夠解決切換用戶身份的需求,使得當前用戶在不退出登陸的狀況下,順暢地切換到其餘用戶,好比從root管理員切換至普通用戶編輯器

[root@localhost Desktop]# su - lisi Last login: Wed Sep 12 23:47:44 CST 2018 on pts/0 [lisi@localhost ~]$ id uid=1001(lisi) gid=1001(lisi) groups=1001(lisi) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

上面的su命令與用戶名之間有一個減號(-),這意味着徹底切換到新的用戶,即把環境變量信息也變動爲新用戶的相應信息,而不是保留原始的信息。另外,當從root管理員切換到普通用戶時是不須要密碼驗證的,而從普通用戶切換成root管理員就須要進行密碼驗證了。ide

二、sudo服務ui

普通用戶能夠徹底切換到root管理員身份來完成相應工做,但這將暴露root管理員的密碼,sudo命令能夠把特定命令的執行權限賦予給指定用戶,這樣既可保證普通用戶可以完成特定的工做,也能夠避免泄露root管理員密碼。咱們要作的就是合理配置sudo服務,以便兼顧系統的安全性和用戶的便捷性。sudo服務的配置原則也很簡單—在保證普通用戶完成相應工做的前提下,儘量少地賦予額外的權限。spa

sudo命令用於給普通用戶提供額外的權限來完成本來root管理員才能完成的任務,格式爲「sudo [參數] 命令名稱」。code

  sudo服務中的可用參數以及做用blog

參數 做用
-h 列出幫助信息
-l 列出當前用戶可執行的命令
-u 用戶名或UID值 以指定的用戶身份執行命令
-k 清空密碼的有效時間,下次執行sudo時須要再次進行密碼驗證
-b 在後臺執行指定的命令
-p 更改詢問密碼的提示語

 

 

 

 

 

 

 

 

 

 

 

總結來講,sudo命令具備以下功能:it

限制用戶執行指定的命令:io

記錄用戶執行的每一條命令;table

配置文件(/etc/sudoers)提供集中的用戶管理、權限與主機等參數;

驗證密碼的後5分鐘內(默認值)無須再讓用戶再次驗證密碼。

可使用sudo命令提供的visudo命令來配置用戶權限。這條命令在配置用戶權限時將禁止多個用戶同時修改sudoers配置文件,還能夠對配置文件內的參數進行語法檢查,並在發現參數錯誤時進行報錯,只有root管理員纔可使用visudo命令編輯sudo服務的配置文件

使用visudo命令配置sudo命令的配置文件時,其操做方法與Vim編輯器中用到的方法一致,所以在編寫完成後記得在末行模式下保存並退出。在sudo命令的配置文件中,按照下面的格式將第99行(大約)填寫上指定的信息

誰可使用  容許使用的主機=(以誰的身份)  可執行命令的列表

在填寫完畢後記得要先保存再退出,而後切換至指定的普通用戶身份,此時就能夠用 sudo -l 命令查看到全部可執行的命令了

 

做爲一名普通用戶,是確定不能看到root管理員的家目錄(/root)中的文件信息的,可是,只須要在想執行的命令前面加上sudo命令就能夠了

[lisi@localhost ~]$ ls /root/ ls: cannot open directory /root/: Permission denied [lisi@localhost ~]$ sudo ls /root/ anaconda-ks.cfg  Documents  initial-setup-ks.cfg Pictures Templates Desktop Downloads Music Public Videos

若是須要讓某個用戶只能使用root管理員的身份執行指定的命令,切記必定要給出該命令的絕對路徑,多個命令用逗號隔開,不然系統會識別不出來。

 

相關文章
相關標籤/搜索