以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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26110315/viewspace-717413/