天天看点

su和sudo

########################### 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

继续阅读