sudo意思就是super-user do,sudo root是让当前用户暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。
sudo预设的身份为root,在/etc/sudoers中设置了可执行sudo指令的用户,若未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期,超过期限则必须重新输入密码。
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码,没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”。
配置sudo。配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有一个超级用户,也最好用visudo来检查一下语法。
su :为switch user的简写,意为切换到某某用户模式,用来改变当前用户,提示输入密码时该密码为切换后账户的密码。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。
su root:就是将当前用户切换为root,用了su root之后,下面所有的命令就可以不用打sudo了,因为当前用户已经是管理员root了。
su -:也可以切换到root模式,那么,su 命令与 su - 命令之间有什么区别呢?前者在切换到 root 用户之后仍然保持旧的(或者说原始用户的)环境,而后者则是创建一个新的环境(由 root 用户 ~/.bashrc 文件所设置的环境),相当于使用 root 用户正常登录(从登录屏幕登录)。
两个命令的最大区别是:sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。