1.1 sudo (用户运行的软件可以让他当做root)
当文件没有权限的时候 可以给特定的用户使用
编辑的两种方法:
1.vim /etc/sudoers
2.visudo -c
1.2 sudo -I 查看是否有权限
1.2.1 授权过程(一条和多条命令)
一条命令授权:
使用:visudo 相当于编辑 vi /etc/sudoers
移动到92行添加
root ALL=(ALL) ALL ## root 用户的权限
alex ALL=(ALL) /bin/cat ## alex授权的名
多条命令授权:编辑的命令不要给安全问题。 \续行符号 后面不能有空
[root@nb ~]# visudo ##多条命令使用,(逗号) (空格)分开 92行输入
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
alex ALL=(ALL) /bin/grep, /usr/bin/tail, /usr/bin/less, /bin/more, /usr/bin/head, /bin/cat,/usr/bin/vim
1.2.2 查看已有授权命令
[alex@nb ~]$ sudo -l ##使用sudo -l命令查看授权
[sudo] password for alex: ## 输入密码登录
Matching Defaults entries for alex on this host:
!visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY
LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET
XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User alex may run the following commands on this host:
(ALL) /bin/cat ##已授权的命令
1.2.3 使用sudo命令查看:
[alex@nb ~]$ cat /val/spool/cron ## 没有使用sudo的命令
cat: /val/spool/cron: No such file or directory
[alex@nb ~]$ sudo cat /var/log/cron ##使用sudo命令查看日志
Nov 12 03:35:02 nb run-parts(/etc/cron.daily)[4023]: finished logrotate
Nov 12 03:35:02 nb run-parts(/etc/cron.daily)[4011]: starting makewhatis.cron
Nov 12 03:35:02 nb run-parts(/etc/cron.daily)[4193]: finished makewhatis.cron
Nov 12 03:35:02 nb run-parts(/etc/cron.daily)[4011]: starting mlocate.cron
Nov 12 03:35:02 nb run-parts(/etc/cron.daily)[4204]: finished mlocate.cron
Nov 12 03:35:02 nb run-parts(/etc/cron.daily)[4011]: starting prelink
1.3 授权给某个用户的所有命令
[root@nb ~]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
alex ALL=(ALL) ALL ##和root一样ALL就可以
注:输入命令之前必须输入sudo ## Allow root to run any commands anywhere
root ALL=(ALL) ALL
alex ALL=(ALL) NOPASSWD: ALL ##使用NOPASSWD每次就不需要输入密码