Linux中設置普通用戶可以su和sudo


 

一:設置普通用戶可以使用su 

su : 可以在一個登陸 session 下切換不同用戶(通常是root).意思就是不需要退出當前用戶的登錄而切換到新用戶.

 

1、 vi /etc/pam.d/su

第一個框:去掉注釋之后,信任的wheel組用戶su時候不用密碼。

第二個框:去掉注釋之后,只有wheel的用戶才能su。

注意:以上是僅僅wheel組才可以su,如果改為其他組可以su的話,那么就把 use_uid 改為 group=chen即可(比如 chen組),這樣chen組的用戶可以su,wheel的用戶就不能su了。

 

2、把用戶test1放到chen組中
#usermod -a -G chen test1 (加-a ,意思是把test1添加到chen組中,也在原來的組中)
如果想把用戶test1只放到chen組中,從其他組刪除,則:
#usermod -G chen test1

 

二:設置普通用戶可以使用sudo

sudo : 暫時切換到超級用戶模式以執行超級用戶權限,提示輸入密碼時該密碼為當前用戶的密碼,而不是超級賬戶的密碼.

 

1 先查看系統是否安裝sudo,可以使用命令 rpm -qa sudo 查看,若沒有安裝,可以使用yum安裝  yum -y install sudo 

[root@chen ~]# rpm -qa sudo
sudo-1.8.19p2-10.el7.x86_64

 

2 編輯 /etc/sudoers 文件  使用命令  visudo ( 而不是直接使用 vim /etc/sudoers ) , 可以新建一個組, 或者直接使用里面默認的wheel組 ( wheel前面的% 表示wheel是組, 如果沒有%則表示wheel是普通用戶 ), 

[root@chen ~]# cat /etc/sudoers | grep wheel
## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL
# %wheel    ALL=(ALL)    NOPASSWD: ALL
[root@chen ~]# 

 

3 把用戶放到一個可以運行sudo命令的組中, 那么該用戶就可以使用sudo了 ( 也可以在新建用戶時候直接指定可以使用sudo命令的組中 )

[root@chen ~]# usermod -aG wheel vbox
[root@chen ~]# 
[root@chen ~]# useradd -G wheel test
[root@chen ~]# 
[root@chen ~]# cat /etc/group | grep wheel
wheel:x:10:vbox,test
[root@chen ~]# 

 

注意: 以上操作中,  /etc/sudoers 文件里面這一行  %wheel ALL=(ALL) ALL   意思是 wheel組的成員可以在任何地方運行所有命令, 如果想限制用戶或組只能使用特定命令該如何設置呢?  請看下面

 

舉個例子: 如果設置一個test組,組成員可以在所有地方執行 cat useradd userdel usermod 命令,那么添加這一行  %test ALL=/bin/cat, /sbin/useradd, /sbin/userdel, /sbin/usermod  , 除了以上4條命令可以使用sudo之外,其他命令都不可以使用sudo 

[test@chen ~]$ sudo cat /etc/sudoers | grep test%test    ALL=/bin/cat, /sbin/useradd, /sbin/userdel, /sbin/usermod
[test@chen ~]$ 
[test@chen ~]$ sudo ls /etc/sudoers
Sorry, user test is not allowed to execute '/bin/ls /etc/sudoers' as root on chen.
[test@chen ~]$ 
[test@chen ~]$ sudo useradd user1
[test@chen ~]$ cat /etc/passwd | grep user1
user1:x:1008:1008::/home/user1:/bin/bash
[test@chen ~]$ 
[test@chen ~]$ sudo groupadd group1
Sorry, user test is not allowed to execute '/sbin/groupadd group1' as root on chen.
[test@chen ~]$ 
[test@chen ~]$ sudo ls /etc/sudoers
Sorry, user test is not allowed to execute '/bin/ls /etc/sudoers' as root on chen.
[test@chen ~]$ 
[test@chen ~]$ 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM