首页 > 代码库 > Linux实际操作中命令 su 与 sudo 的区别

Linux实际操作中命令 su 与 sudo 的区别

------------------------------------------------------------------------------------------------

首先我先做了一些更改操作:

换到root用户的操作=>
sudo su
输入当前用户的密码:

******

修改root密码的操作=>
passwd 123456   /* root密码已改为123456 */

-----------------------@author chenwei <www.chenwei.ws>-----------------------------

[ 这部分讲一下区别 ]

1.使用su命令是临时切换root用户身份:
{

 条件:普通用户需要知道root密码。

 存在问题:不安全。

 用法:su 参数 - 用户名

 注:su加参数 - ,表示连带用户的环境一同切换,

   (切换环境变量什么意思?就是不加 - 时,我这里显示的是 root@david-pc:/home/weichen#   ; 加了之后就是 root@david-pc:~#)

   当用户名为root时可省略root。

}

如何切换:

su -
密码:123456

 

2.sudo是授权许可使用的su(即受限制的su):

{

 普通用户运行命令:more /etc/shadow/etc/shadow,会提示权限不够。
 如果授权后就可以使用sudo more /etc/shadow/etc/shadow 来读取文件的内容。

 普通用户查看自己能运行哪些命令,可以输入命令:sudo -l
 密码:******

}

如何授权:

  先 su 切换到root, 运行命令:vim /etc/sudoers
  添加如:weichen ALL=/bin/more (这句表示weichen可以切换到root下执行more命令)

  

  vim进行保存退出(:w!);
  执行exit命令,退回到普通用户;

  再运行sudo -l,输入用户密码后可以看到在root权限下能运行的命令加上了:(root) /bin/more

  

------------------------------------------------------------------------------------------------