Ubuntu之sudo & su


Ubuntu默认不能直接用root帐户登录,必须从第一个创建的用户(既安装时创建的那个用户)通过su或sudo来获得root权限。在Ubuntu中对系统进行操作很多时候都要使用这个命令,由此可见对于新来说很有必要来认识这个命令。这或许不太方便,但这样增加了安全性,避免用户由于误操作而损坏系统。

一、 sudo(Super User Do)

       sudo + 某些直接运行提示无权限的命令。sudo即为Super user do的意思

解释

  • 不是所有命令都能用sudo执行的,比如 cd 命令前不能用sudo。
  • 在第一次用sudo运行命令时会提示输入当前用户的密码,在当前终端再次使用sudo时不需要再次输入密码。
  • sudo的作用是在确认当前用户是本人(输入过当前用户的密码)情况下暂时将root权限借用给当前用户,会有日志记录用户输入的命令等信息。
  • sudo的配置文件为 “/etc/sudoers”,若想修改配置文件应用  sudo visudo -f /etc/sudoers  来修改,因为sudo的配置文件有严格的语法格式,用visudo可以在退出时检查语法,有错误时会提示。

常用选项

  • -l(小写的L) : 察看当前用户使用sudo可以运行的命令,并不是在每台机器上都能用sudo使用所有需要权限的命令。
  • -V :  察看本机sudo的版本。
  • -k  :  强制用户下次使用sudo时输入密码。

举例

1、ubuntu修改root密码: sudo passwd 或者 sudo passwd root 

2、普通用户如果想更改自己的密码,直接运行 passwd 即可

3、清除密码: passwd –d  

二、  su(Switch User)

su  [username] ( 不输入时一般默认为root )

解释

  • su只能用来切换用户,提示输入的不是当前用户的密码,而是输入欲切换到的用户的密码,默认输入该用户密码后取得该用户的权限。
  • 在刚安好的系统中root的密码是随机的,需要输入passwd按照提示改变root的密码。以后也可以通过该命令更改root密码。输入root密码后命令头会变成root@当前用户名。此时输入exit即可退出root账户。
  • root账户状态下使用su切换到低权限用户时不需要输入密码,同样输入exit可以退回至root账户。

常用选项

  • -c/--command + [账户名(缺省一般为root)] [命令] :以该账户名执行输入的命令,执行完毕切换回原来的账户。
  • -/-l/-login :切换账户后自动更新环境变量与切换到的用户相同。
  • -h :获取su的详细解释。

 举例

1、切换到到root用户: su 或 su root 

2、切换回当前用户 : su 用户 

相关