########################### su、sudo
====su
su - #切换到root用户
su - yeqing #切换到yeqing用户
su yeqing #切换到yeqing用户但是不带环境变量
su - ye -c "env" |grep PWD #区别su ye和su - ye
id #查看当前用户详情
缺点:
不安全,只要把root用户密码给普通用户,都能切换到root来完成所有的系统管理工作。
60%的系统故障都是内部人为操作导致,并不是遭攻击.
su只适用于一两个人参与管理的系统.
====sudo
sudo无需密码只有授权,有针对性的下放给用户分配权限.
sudo执行流程:
当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;
实例1:
su - yeqing
less /etc/shadow
/etc/shadow: Permission denied #提示没有权限
解决
su -
which less
visudo(set nu/:98/相当于打开vi /etc/sudoers)
yeqing ALL=(ALL) /usr/bin/less /etc/shadow,/usr/sbin/useradd
visudo -c
测试
su - yeqing
sudo less /etc/shadow
技巧: (*表示通配所有,!表示取消某个程序权限)
yeqing ALL=(ALL) /usr/sbin/*,!/usr/sbin/fdisk
查看自身被分配的权限
sudo -l
加日志(sudo ***都会被记录,不管是否正确)
vi /etc/rsyslog.conf
local2.debug /var/log/sudo.log #空白处不能用空格键,必需用tab键
visudo
Defaults logfile=/var/log/sudo.log #添加至最后一行
chmod 777 /var/log/sudo.log
ps aux | grep rsyslog
kill -9 168
/etc/init.d/rsyslog restart
tail -f /var/log/sudo.log
本文转自cloves 51CTO博客,原文链接:http://blog.51cto.com/yeqing/1700787