服务器

Linux sudo命令的使用

位置:首页 > 服务器 > linux服务器,2014-03-28
1.sudo介绍  sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,rebo

1.sudo介绍

  sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:

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

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

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

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

  2.下面详细解释配置实例:

  [root@ocm1 ~]# rpm -qa|grep sudo   --查询是否已经安装SUDO,一般是安装了的。

  sudo-1.6.9p17-5.el5

  [root@ocm1 ~]# visudo   ---root使用visudo会默认打开/etc/sudoers文件,

  root    ALL=(ALL)       ALL     ---系统默认只有这一行

  oracle  ALL=(ALL)       ALL      ----为ORACLE用户增加这一行,

  配置完成后,重新打开会话,使用   sudo vi /etc/hosts,,往里面增加并保存测试SUDO是否可用。

  3.配置中可能碰到的问题:

  1、主机名配置错误导致sudo不能执行和日志纪录。

  错误提示:Sorry, user test is not allowed to execute '/bin/cat /etc/sudoers' as root on

  localhost.localdomain.

  解决:将其中的localhost改为真实主机名字或IP即可

  test    localhost=/sbin/cat /etc/sudoers

  Defaults@localhost log_host /var/log/sudo.log

  2、命令别名列表中命令错误导致sudo不能执行

  错误提示:[jackyu@localhost jackyu]$ sudo cat /etc/sudoers

  Sorry, user jackyu is not allowed to execute '/bin/cat /etc/sudoers' as root on

  localhost.localdomain.

  解决:由于在Cmnd alias里定义的时候命令书写有误(Cmnd_Alias CAT = /bin/cat -n /etc/sudoers)。

  执行:sudo cat -n /etc/sudoers

TAGS:sudo命令

猜你喜欢

NewHot