ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 以root用户运行命令

以root用户运行命令

原创 Linux操作系统 作者:pingley 时间:2012-02-29 22:58:34 0 删除 编辑
以root用户运行命令
出于安全因素的考虑,SA不会给你root账户的password,但是可以允许你以root用户运行某些命令。可以使用visudo 编辑/etc/sudoers文件,visudo提供了一个安全的方式,他将锁住sudoers文件不允许多个用户同时编辑他,还会进程条目的语法正确性检查。
使用visudo在/etc/sudoers中加入:oracle ALL=(ALL) ALL
然后执行groupadd命令.
[oracle@zeng ~]$ sudo groupadd test
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for oracle: 
系统会提示你输入你的账户密码,而不是root用户的密码。当你下次执行sudo使用特权命令的时候,就不需要再输入自己的账户密码了(默认是5分钟之内)。
SA也可以在/etc/sudoers中指定若干DBA需要执行的命令。而不是所有的root特权命令。
使用visudo在/etc/sudoers中加入:
oracle ALL=/usr/sbin/groupadd,/usr/sbin/useradd 并删除oracle ALL=(ALL) ALL,保存退出。可以使用sudo -l命令显示,用户可以执行的root特权命令。
[oracle@zeng ~]$ sudo -l
User oracle may run the following commands on this host:
    (root) /usr/sbin/groupadd, (root) /usr/sbin/useradd
SA通过编辑/etc/sudoers可以暂时的给需要使用某些root特权命令的用户授权root权限,当其他用户使用完以后可以再次编辑/etc/sudoers文件删除不适当的条目。通过这样的方法就可以保护root密码不外泄。
使用sudo的另外一个好处是提供了可审计的方式,当使用sudo命令的时候,相关的日志信息将会记录在/var/log目录下的日志文件中。并且还可以指定日志文件存放的位置,比如在/etc/sudoers文件中加入
Defaults logfile=/var/log/sudolog
则使用sudo的日志信息将会存在在/var/log/sudolog文件中。
[oracle@zeng ~]$ sudo useradd hello
[sudo] password for oracle: 
[root@zeng ~]# ll /var/log/sudolog
-rw-------. 1 root oinstall 106 Feb 29 14:57 /var/log/sudolog
[root@zeng ~]# vi /var/log/sudolog
Feb 29 14:57:47 : oracle : TTY=pts/0 ; PWD=/home/oracle ; USER=root ;
    COMMAND=/usr/sbin/useradd hello
审计信息一目了然。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-717413/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 浅析rownum
请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    169
  • 访问量
    741304