[Ubuntu] 关于使用 root 账号登录

 

  (本文验证环境为 Ubuntu 14.04 和 Lubuntu 13.04)


  

  Ubuntu 维护者们认为实在没有必要使用 root 帐户,因为你想做的所有事情管理员都可以完成,管理员只需使用 sudo 命令即可。

 

  但是如果你不想每次都输入 sudo 或者坚持要使用 root 账号来做某些事情,你最好的选择是通过启动一个 shell 来模拟 root 登录,具体操作是使用如下 sudo 命令:

$ sudo -i

 

  该命令是启动一个 shell 来作为目标账号(root)的登录 shell,也就是说目标账号(root)的登录资源文件例如 .profile 会被预先加载。

 

  你也可以使以下命令:

$ sudo -s

 

  与 sudo -i 不同的是,sudo -s 启动的 shell 不会加载 root 的环境变量,而是使用当前 shell 的环境变量。

 

  Ubuntu 初始状态时没有为 root 设置密码,如果你真的想使用 root 账号登录,可以为其设定一个登陆密码:

$ sudo passwd root
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

 

  之后就可以使用新设定的密码登录 root 账号。使用 root 账号会带来风险,Ubuntu 维护者们建议除非必要,否则不要使用 root 账号。

 

  你可以使用以下命令锁定 root 密码来阻止登录:

$ sudo passwd -l root

 

  解锁 root 密码登录:

$ sudo passwd -u root

 

  另外还有删除和锁定密码登录:

$ sudo passwd -dl root

 

  重置 sudo 的超时,迫使下次使用 sudo 时一定要重新输入密码:

$ sudo -k

 

  sudo 不如 su 安全?

  基础安全模式是一样的,因此这二者所面临的风险也是一样的。任何可以使用 su 或者 sudo 的账号都必须是经过特别许可的用户才能获得。如果该用户的账号被黑客侵入,那么黑客就可以想用户那样获取 root 权限。所以说用户的账号是安全链中脆弱的一环,必须像 root 账号一样受到重视和保护。

 

  另外,sudo 所具有的特性更加鼓励不同的工作习惯,这对系统安全具有正面影响。sudo 通常是用来执行单条命令,而 su 通常都是用来启动一个 shell 并执行多条命令。sudo 可以防范不小心忘了关闭 root shell 所带来的风险,并且促进用户尽可能少的使用 root 权限。  

 

  

附:

1. 更多关于 sudo 命令

2. 更多关于 Ubuntu RootSudo 的介绍

posted @ 2014-08-30 12:35  iFantasticMe  阅读(1621)  评论(2编辑  收藏  举报