linux Sudo的使用

from:http://blog.chinaunix.net/u/30648/showart_261928.html

Sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。

一:特点

A Sudo能够限制用户只在某台主机上运行某些命令。

B Sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。

C Sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。

D Sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为411。

二:软件包

sudo-1.6.6-1Thiz.i586.rpm 在thizlinux 7.0的第一张光盘内

如果您的系统没有进行安装请使用rpm –ivh 进行安装

三:如何编辑

width="340" scrolling="no" height="310" frameborder="0" align="middle" src="http://seektool.googlepages.com/hexun_ggad.htm" marginheight="0" marginwidth="0">
Google adsense帐号申请

执行visudo命令:

如下面是一个极为简单的例子 :

加入如下几行:

Defaults syslog=auth

Defaults logfile=/var/log/sudo.log

Cmnd_Alias SHUTDOWN=/sbin/halt,/sbin/shutdown

root ALL=ALL

esnow ALL=ALL

xujh ALL=ALL,!SHUTDOWN

在这个例子当中 , esnow可以执行 root 所有的命令 , xujh 除了 halt

shutdown 不能执行以外 , 其它 root 能执行的命令他都能执行 .

这个档案有一个专属的 编辑器叫 visudo 可来编辑 /etc/sudoer 这个档案

在编辑完这个档案之后 , esnow 就可以用 sudo 这个命令转换成

superuser 来做原来只有 superuser 才能做的事 . 而关于使用 sudo

有一个记录档 , 在 /var/log/sudo.log , 里面记录著谁在什么时候利用

sudo 下了那些指令 . 顺便一提的是 : 利用下面这个命令可抓出那些人转换

superuser 但却没有成功 ......

/etc/sudoers中还可以定义用户别名、主机别名例如:

Host_Alias SERVER=no1

User_Alias ADMINS=abc,bcd

ADMINS ALL=(ALL) NOPASSWD: ALL

这样ADMINS不用口令就可以执行一切操作了。

SUDO的参数还有很多例如:

sudo –l 用来使用户查看自己目前可以在sudo中执行哪些命令。

sudo –V 显示sudo的版本号

sudo –h 显示执行sudo时所能输入的参数

sudo –b 将要执行的指令放在后台执行

sudo –p prompt 可以更改询问密码的提示语,其中%u会代换为使用者帐号名称,%h会显示主机名称

sudo -V | -h | -l | -L | -v | -k | -K | -s | [ -H ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -u

username/#uid ] command

四:如何使用

esnow用户登录执行

sudo /sbin/shutdown -k 40 "aa"

提示密码:输入esnow用户的密码就执行了命令

xujh用户登录执行

[xujh@www xujh]$ sudo /sbin/shutdown -k 40 "aa"

Password:

xujh is not in the sudoers file. This incident will be reported.

输入密码后,提示没有授权。

五:日志查看

vi /var/log/sudo.log

Feb 18 20:17:39 : esnow : TTY=pts/0 ; PWD=/home/esnow ; USER=root ;

COMMAND=/sbin/shutdown -k 40 aa

Feb 18 20:20:00 : xujh : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/xujh ;

USER=root ; COMMAND=/sbin/shutdown -k 40 aa

你可能感兴趣的:(linux,command,user,google,server,服务器)