visudo精确用户赋权(sudo)
sudo” 是 Unix/Linux 平臺上的一個非常有用的工具,允許為非根用戶賦予一些合理的 “ 權(quán)利 ” ,讓他們執(zhí)行一些只有根用戶或特許用戶才能完成的任務(wù),從而減少根用戶的登陸次數(shù)和管理時間同時也提高了系統(tǒng)安全性。
- sudo的目的:為非根用戶授予根用戶的權(quán)限;
- 配置文件:/etc/sudoers
- visudo命令編輯修改/etc/sudoers配置文件
1、一般用戶賦權(quán)設(shè)置:
| [root@localhost ~]# visudo ……前面省略 69 ## Syntax: 70 ## 71 ##? ?? ?user? ? MACHINE=COMMANDS 72 ## 73 ## The COMMANDS section may have other options added to it. 74 ## 75 ## Allow root to run any commands anywhere 76 root? ? ALL=(ALL)? ?? ? ALL 77 test? ?ALL=(root) /usr/sbin/useradd? ?? ?? ?//新增加用戶行……后面省略 |
? ?? ???說明:
? ?? ???第一個字段:root為能使用sudo命令的用戶;
? ?? ???第二個字段:第一個ALL為允許使用sudo的主機(jī),第二個括號里的ALL為使用sudo后以什么身份(目的用戶身份)來執(zhí)行命令;
? ?? ???第三個字:ALL為以sudo命令允許執(zhí)行的命令;
??上列解釋: test? ?ALL=(root) /usr/sbin/useradd
表示允許test用戶從任何主機(jī)登錄,以root的身份執(zhí)行/usr/sbin/useradd命令。
用戶執(zhí)行命令效果:
| [root@server ~]# su - redhat [redhat@server ~]$ sudo /usr/sbin/useradd test //命令需要輸入完整的路徑 口令:? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? //這里輸入用戶redhat自己的密碼 [redhat@server ~]$ cat /etc/passwd |tail -5 xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin gdm:x:42:42::/var/gdm:/sbin/nologin sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin redhat:x:500:500::/home/redhat:/bin/bash test:x:501:501::/home/test:/bin/bash? ?? ?? ?? ?//新增加的用戶 |
2、sudo配置深入:
? ?? ?? ?1)多個用戶的設(shè)置(非同一群組用戶):
u 對于不同需求的用戶:可以按照上面的方法依次增加多行,每行對應(yīng)一個用戶。
u 對于相同需求的多個用戶
User_Alias UUU=user1,user2……? ?? ?? ?? ? 定義用戶別名;
| [root@localhost ~]# visudo ……前面省略 16 ## User Aliases 17 ## These aren't often necessary, as you can use regular groups 18 ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname 19 ## rather than USERALIAS 20 # User_Alias ADMINS = jsmith, mikem? ?? ?//這個就是一個實例行,按照這個寫自己的 21 User_Alisa sudouser=user1,user2,user3,user4 //第一一個別名suduouser ……后面省略 69 ## Syntax: 70 ## 71 ##? ?? ?user? ? MACHINE=COMMANDS 72 ## 73 ## The COMMANDS section may have other options added to it. 74 ## 75 ## Allow root to run any commands anywhere 76 root? ? ALL=(ALL)? ?? ? ALL 77 sudouser? ?ALL=(root)? ? /usr/sbin/useradd??命令行書寫格式,用戶列用別名……后面省略 |
對于多個命令的設(shè)置:
| [root@localhost ~]# visudo ……前面省略 23 ## Command Aliases 24 ## These are groups of related commands... 25 26 ## Networking 27 Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dh? ?? ???client, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial,? ?? ?? ?/sbin/iwconfig, /sbin/mii-tool? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???//多個命令定義一個命令別名; ……后面省略 69 ## Syntax: 70 ## 71 ##? ?? ?user? ? MACHINE=COMMANDS 72 ## 73 ## The COMMANDS section may have other options added to it. 74 ## 75 ## Allow root to run any commands anywhere 76 root? ? ALL=(ALL)? ?? ? ALL 77 sudouser? ?ALL=(root)? ? NETWORKING??//命令行書寫格式,命令列用別名……后面省略 |
對于多主機(jī)的設(shè)置和多登陸角色的設(shè)置:
?修改 Host_Alias HHH=host1,host2……
定義主機(jī)別名;
修改后對應(yīng)的命令行主機(jī)列位置也是用別名
?Runas_Alias? ?RRR=role1,role2……? ?? ?? ?? ?? ? 定義runas別名,指定的是“目的用戶”,即sudo 允許轉(zhuǎn)換至的用戶;
建立相關(guān)別明后,相關(guān)命令行相應(yīng)的列也是用我們定義的別名。
? ?? ?? ?2)多個用戶的設(shè)置(同一群組用戶):
| [root@localhost ~]# visudo ……前面省略 81 82## Allows people in group wheel to run all commands 83# %wheel? ?? ???ALL=(ALL)? ?? ? ALL? ?? ???//用戶列%+群組名 ……后面省略 |
END,希望大家能夠合理為個用戶賬號授權(quán)。
總結(jié)
以上是生活随笔為你收集整理的visudo精确用户赋权(sudo)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux禁止非WHEEL用户使用SU命
- 下一篇: traceroute命令的用法实例