Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343396
  • 博文数量: 26
  • 博客积分: 3726
  • 博客等级: 中校
  • 技术积分: 621
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-29 08:59
文章分类

全部博文(26)

文章存档

2008年(26)

分类: LINUX

2008-06-12 12:57:28

sudo的作用,它允许经过同意的使用者以超级管理员的身份执行指定指令。sudo 的主要配置文件是/etc/sudoers,编辑文件时最好使用visudo,它会对语法进行简单的校验,并且防止多个程序同时编辑该文件
 
sudo 有4个字段
例如:
 
第一字段  第二字段  第三字段  第四字段
root       ALL     (ALL)    ALL
第一个字段指明哪个用户可使用sudo,这里是root
第二个字段指明主机(可以是主机名或主机的IP地址),这里ALL表示所有机器
第三个字段指明以哪个用户(可以使用用户别名),(ALL)指所有用户
第四个字段指明执行的命令(也可使用Cmd alias),ALL指任何指令

执行sudo指令后,在5分钟内若再次使用sudo不用输入当前用户的密码,为了安全可取消这个功能,使用参数“-k”
#sudo -k cmd
 
 
使用方法:
使用方式:
sudo -V   显示版本号 
sudo -h   显示版本号及指令使用方式说明
sudo -l   显示出自己的权限
sudo -v   因为sudo在第一次执行时或是在N分钟内没有执行(N预设为5)会问密码,这个参数是重新做一
          次确认,如果超过N分钟,也会问密码 
sudo -k   将会强迫使用者在下一次执行sudo时问密码(不论有没有超过 N 分钟) 
sudo -b   将要执行的指令放在后台执行
sudo -s   执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell 
sudo -H   将环境变数中的 HOME(家目录)指定为要变更身份的使用者家目录(如不加-u参数就是系统管
          理者root)
 
实例介绍:
原文:
 

# Sample /etc/sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

##
# User alias specification
##
User_Alias FULLTIMERS = millert, mikef, dowdy
User_Alias PARTTIMERS = bostley, jwfox, crawl
User_Alias WEBMASTERS = will, wendy, wim

##
# Runas alias specification
##
Runas_Alias OP = root, operator
Runas_Alias DB = oracle, sybase

##
# Host alias specification
##
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 specification
##
Cmnd_Alias DUMPS = /usr/sbin/dump, /usr/sbin/rdump, /usr/sbin/restore, \
/usr/sbin/rrestore, /usr/bin/mt
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
Cmnd_Alias VIPW = /usr/sbin/vipw, /usr/bin/passwd, /usr/bin/chsh, \
       /usr/bin/chfn

##
# Override built-in defaults
##
Defaults               syslog=auth
Defaults:FULLTIMERS    !lecture
Defaults:millert       !authenticate
Defaults@SERVERS       log_year, logfile=/var/log/sudo.log

##
# User specification
##

# root and users in group wheel can run anything on any machine as any user
root ALL = (ALL) ALL
%wheel ALL = (ALL) ALL

# full time sysadmins can run anything on any machine without a password
FULLTIMERS ALL = NOPASSWD: ALL

# part time sysadmins may run anything but need a password
PARTTIMERS ALL = ALL

# jack may run anything on machines in CSNETS
jack CSNETS = ALL

# lisa may run any command on any host in CUNETS (a class B network)
lisa CUNETS = ALL

# operator may run maintenance commands and anything in /usr/oper/bin/
operator ALL = DUMPS, KILL, PRINTING, SHUTDOWN, HALT, REBOOT,\
/usr/oper/bin/

# joe may su only to operator
joe ALL = /usr/bin/su operator

# pete may change passwords for anyone but root on the hp snakes
pete HPPA = /usr/bin/passwd [A-z]*, !/usr/bin/passwd root

# bob may run anything on the sparc and sgi machines as any user
# listed in the Runas_Alias "OP" (ie: root and operator)
bob SPARC = (OP) ALL : SGI = (OP) ALL

# jim may run anything on machines in the biglab netgroup
jim +biglab = ALL

# users in the secretaries netgroup need to help manage the printers
# as well as add and remove users
+secretaries ALL = PRINTING, /usr/bin/adduser, /usr/bin/rmuser

# fred can run commands as oracle or sybase without a password
fred ALL = (DB) NOPASSWD: ALL

# on the alphas, john may su to anyone but root and flags are not allowed
john ALPHA = /usr/bin/su [!-]*, !/usr/bin/su *root*

# jen can run anything on all machines except the ones
# in the "SERVERS" Host_Alias
jen ALL, !SERVERS = ALL

# jill can run any commands in the directory /usr/bin/, except for
# those in the SU and SHELLS aliases.
jill SERVERS = /usr/bin/, !SU, !SHELLS

# steve can run any command in the directory /usr/local/op_commands/
# as user operator.
steve CSNETS = (operator) /usr/local/op_commands/

# matt needs to be able to kill things on his workstation when
# they get hung.
matt valkyrie = KILL

# users in the WEBMASTERS User_Alias (will, wendy, and wim)
# may run any command as user www (which owns the web pages)
# or simply su to www.
WEBMASTERS www = (www) ALL, (root) /usr/bin/su www

# anyone can mount/unmount a cd-rom on the machines in the CDROM alias
ALL CDROM = NOPASSWD: /sbin/umount /CDROM,\
/sbin/mount -o nosuid\,nodev /dev/cd0a /CDROM

 
阅读(4001) | 评论(0) | 转发(0) |
0

上一篇:lsof命令详解

下一篇:SElinux关闭方式

给主人留下些什么吧!~~