当前位置:  技术问答>linux和unix

用sudo为普通用户设置管理员的权限

    来源: 互联网  发布时间:2015-08-12

    本文导语:  请问:在/etc/sudoers中怎么样设置,才能使普通用户有管理员的权限,麻烦你说清楚点。 | 看书啊, | 9) 你可以用visudo编辑sudoers配置文件,不过也可以直接通过修改sudoers文件...

请问:在/etc/sudoers中怎么样设置,才能使普通用户有管理员的权限,麻烦你说清楚点。

|
看书啊,

|
9) 你可以用visudo编辑sudoers配置文件,不过也可以直接通过修改sudoers文件实现,不过编辑之前最好看一下它的sample.sudoers文件,里面有一个相当详细的例子可以参考。 
#第一部分:用户定义,将用户分为FULLTIMERS、PARTTIMERS和WEBMASTERS三类。 
User_Alias FULLTIMERS = millert, mikef, dowdy 
User_Alias PARTTIMERS = bostley, jwfox, crawl 
User_Alias WEBMASTERS = will, wendy, wim 
#第二部分,将操作类型分类。 
Runas_Alias OP = root, operator 
Runas_Alias DB = oracle, sybase 
#第三部分,将主机分类。这些都是随便分得,目的是为了更好地管理。 
Host_Alias SPARC = bigtime, eclipse, moet, anchor : 
SGI = grolsch, dandelion, black : 
ALPHA = widget, thalamus, foobar : 
HPPA = boa, nag, python 
Host_Alias CUNETS = 128.138.0.0/255.255.0.0 
Host_Alias CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0 
Host_Alias SERVERS = master, mail, www, ns 
Host_Alias CDROM = orion, perseus, hercules 
#第四部分,定义命令和命令地路径。 
Cmnd_Alias DUMPS = /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump, 
/usr/sbin/restore, /usr/sbin/rrestore 
Cmnd_Alias KILL = /usr/bin/kill 
Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm 
Cmnd_Alias SHUTDOWN = /usr/sbin/shutdown 
Cmnd_Alias HALT = /usr/sbin/halt, /usr/sbin/fasthalt 
Cmnd_Alias REBOOT = /usr/sbin/reboot, /usr/sbin/fastboot 
Cmnd_Alias SHELLS = /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh, 
/usr/local/bin/tcsh, /usr/bin/rsh, 
/usr/local/bin/zsh 
Cmnd_Alias SU = /usr/bin/su 
#这里是针对不同的用户采用不同地策略,比如默认所有的syslog直接通过auth 输出。FULLTIMERS组不用看到lecture(第一次运行时产生的消息);用户millert使用sudo时不用输入密码;以及logfile的路径在/var/log/sudo.log而且每一行日志中必须包括年。 
Defaults syslog=auth 
Defaults:FULLTIMERS !lecture 
Defaults:millert !authenticate 
Defaults@SERVERS log_year, logfile=/var/log/sudo.log 
#root和wheel组的成员拥有任何权利。 
root ALL = (ALL) ALL 
%wheel ALL = (ALL) ALL 
#FULLTIMERS可以运行任何命令在任何主机而不用输入自己的密码 
FULLTIMERS ALL = NOPASSWD: ALL 
#PARTTIMERS可以运行任何命令在任何主机,但是必须先验证自己的密码。 
PARTTIMERS ALL = ALL 
#jack可以运行任何命令在定义地CSNET(128.138.243.0, 128.138.242.0和128.138.204.0/24的子网)中,不过注意前两个不需要匹配子网掩码,而后一个必须匹配掩码。 
jack CSNETS = ALL 
#lisa可以运行任何命令在定义为CUNETS(128.138.0.0)的子网中主机上。 
lisa CUNETS = ALL 
#用户operator可以运行DUMPS,KILL,PRINTING,SHUTDOWN,HALT,REBOOT以及在/usr/oper/bin中的所有命令。 
operator ALL = DUMPS, KILL, PRINTING, SHUTDOWN, HALT, REBOOT, 
/usr/oper/bin/ 
#joe可以运行su operator命令 
joe ALL = /usr/bin/su operator 
#pete可以为除root之外地用户修改密码。 
pete HPPA = /usr/bin/passwd [A-z]*, !/usr/bin/passwd root 
#bob可以在SPARC和SGI机器上和OP用户组中的root和operator一样运行如何命令。 
bob SPARC = (OP) ALL : SGI = (OP) ALL 
#jim可以运行任何命令在biglab网络组中。Sudo默认“+”是一个网络组地前缀。 
jim +biglab = ALL 
#在secretaries中地用户帮助管理打印机,并且可以运行adduser和rmuser命令。 
+secretaries ALL = PRINTING, /usr/bin/adduser, /usr/bin/rmuser 
#fred能够直接运行oracle或者sybase数据库。 
fred ALL = (DB) NOPASSWD: ALL 
#john可以在ALPHA机器上,su除了root之外地所有人。 
john ALPHA = /usr/bin/su [!-]*, !/usr/bin/su *root* 
#jen可以在除了SERVERS主机组的机器上运行任何命令。 
jen ALL, !SERVERS = ALL 
#jill可以在SERVERS上运行/usr/bin/中的除了su和shell命令之外的所有命令。 
jill SERVERS = /usr/bin/, !SU, !SHELLS 
#steve可以作为普通用户运行在CSNETS主机上的/usr/local/op_commands/内的任何命令。 
steve CSNETS = (operator) /usr/local/op_commands/ 
#matt可以在他的个人工作站上运行kill命令。 
matt valkyrie = KILL 
#WEBMASTERS用户组中的用户可以以www的用户名运行任何命令或者可以su www。 
WEBMASTERS www = (www) ALL, (root) /usr/bin/su www 
#任何用户可以mount或者umount一个cd-rom在CDROM主机上,而不用输入密码。 
ALL CDROM = NOPASSWD: /sbin/umount /CDROM, 
/sbin/mount -o nosuid,nodev /dev/cd0a /CDROM 

10) 我的sudoers 配置文件是这样的 
User_Alias ADMIN = root,username 
Runas_Alias OP = username 
Cmnd_Alias IPCHAINS = /usr/bin/ipchains 
Cmnd_Alias EDIT = /bin/vi 
Cmnd_Alias SHUTDOWN =/sbin/shutdown 
Cmnd_Alias HALT = /usr/bin/halt 
Cmnd_Alias DEL = /bin/rm 
Cmnd_Alias COPY= /bin/cp 
Cmnd_Alias SU=/bin/su 
Cmnd_Alias SLEEP= /bin/sleep 
Cmnd_Alias REBOOT = /usr/bin/reboot 
Cmnd_Alias CHMOD=/bin/chmod 
Cmnd_Alias HWCLOCK=/sbin/hwclock 
Cmnd_Alias TRACET=/usr/sbin/traceroute 
Cmnd_Alias VIPW = /sbin/route 
Cmnd_Alias PASSWD=/usr/bin/passwd 
Cmnd_Alias IPSEC=/usr/local/sbin/ipsec 
Cmnd_Alias ARP=/sbin/arp 
Cmnd_Alias HOSTNAME=/bin/hostname 
root ALL = (ALL) ALL 
ADMIN SERVERNAME=(ALL) NOPASSWD:HOSTNAME 
ADMIN SERVERNAME=(ALL) NOPASSWD:ARP 
ADMIN SERVERNAME=(ALL) NOPASSWD:HWCLOCK 
ADMIN SERVERNAME=(ALL) NOPASSWD:IPCHAINS 
ADMIN SERVERNAME=(ALL) NOPASSWD:HALT 
ADMIN SERVERNAME=(ALL) NOPASSWD:SHUTDOWN 
ADMIN SERVERNAME=(ALL) NOPASSWD:REBOOT 
ADMIN SERVERNAME=(ALL) NOPASSWD:CHMOD 
ADMIN SERVERNAME=(ALL) NOPASSWD:IPSEC 
ADMIN SERVERNAME=(ALL) NOPASSWD:PASSWD 
ADMIN SERVERNAME=(ALL) NOPASSWD:TRACET 
ADMIN SERVERNAME=(ALL) NOPASSWD:DEL 
ADMIN SERVERNAME=(ALL) NOPASSWD:COPY 
ADMIN SERVERNAME=(ALL) NOPASSWD:SU 
ADMIN SERVERNAME=(ALL) NOPASSWD:EDIT 
ADMIN SERVERNAME=(ALL) NOPASSWD:SLEEP 
ADMIN SERVERNAME=(ALL) NOPASSWD:ROUTE 

sudo的使用相对地简单,只要将sudo和sudoers命令拷贝到相应的路径即可。Sudo命令可以rename成你所喜欢的名字,sudoers也一样。 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • etc下文件设置成777导致sudo命令不能用,求解决
  • linux下不使用sudo命令执行docker的操作步骤
  • 看了很多关于sudo命令的资料,还是不知道sudo什么情况下会用到?
  • 为什么用sudo时有些命令提示command not found,不用sudo或直接用root时都没有事.
  • sudo 执行命令的疑问
  • linux里面没有"sudo"这个命令么?
  • ubuntu sudo问题
  • jQuery 滑块插件 Sudo Slider
  • maemo -sh: sudo: not found 怎么办
  • Linux中sudo命令从哪移值来的?
  • 关于sudo 命令
  • 我用的redhat enterprise 5 ,sudo命令求解
  • Error loading /usr/bin/sudo
  • 关于sudo以及suid的问题
  • system("sudo reboot"),问题,希望帮助!
  • sudo 使用的问题
  • sudo搭配su命令一口气将身份转为root
  • 安装Ubuntu10.04时不能使用sudo命令
  • ubuntn下sudo命令用不了
  • 利用管道实现sudo命令免输入密码的方法
  • sudo使用不了
  • sudo route add default dev ppp 没有这个设备


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3