对于其他Linux系统来 说,一般在安装过程就设定root密码,这样用户就能用它登录root帐户或使用su命令转换到超级用户身份。与之相反,Ubuntu默认安装时,并没有 给root用户设置口令,也没有启用root帐户。问题是要想作为root用户来运行命令该怎么办呢?没关系,我们可以使用sudo命令达此目的。

在安装期间创建的第一个用户对系统有管理权,
在终端里通过“sudo”能象root运行程序.
使用时仅需它 的普通用户密码(即当前用户的密码)。

例如: sudo apt-get update
[sudo] password for administrator: <--- 然后会提示输入密码。密码正确后则执行
对于服务器可以设置成 “允许 su 到root,但不允许root用户直接登录”

◆允 许 su 到 root
端口输入如下命令:
sudo passwd root                                   <---  重新设置 root 的密码:

[sudo] password for administrator: <--- 输入安装时那个用户的密码

Enter new UNIX password: <--- 新的Root用户密码

Retype new UNIX password: <--- 重复新的Root用户密码

passwd:已成功更新密码


允 许root登录

方法一  如果要允许root登录(不推荐),则这样操作:

administrator@ubuntu:~$  gksu /usr/sbin/gdmsetup

(或者使用桌面菜单:系统>系统管理>登录窗口)

点“安全”选项页,选择“允许本地管理员登录”。

注:这一步依赖上一步

方法二
$sudo vi /etc/X11/gdm/gdm.conf #打开gnome的配置文件,在末行模式中输入:AllowRoot回车,找到AllowRoot=false ,把false改为true,保存后退出。

之后,重启系统时,就可以用 root 登录了。如果你想要禁用 root 帐号,则执行下列命令:

$sudo passwd -l root


◆不输入密码直接登录

在论坛上也看见有人抱怨,家中的Ubuntu不能像Window$那样──不用输入密码就能登录。其实同样能做到:

就在上一步的“安全”选项页中,勾选:

“启用自动登录”,“用户”选择(如:“me”);

注意:公共用的计算机千万不能这么设置!

◆SSH登录远程服务器

如果远程服务器只允许root用户SSH到服务器时,在Ubuntu下,必须“su 到root”用户才能登录成功(具体是看服务器端的配置)。

首先,复制密钥到“/root/.ssh/”目录,

administrator@ubuntu:~$  su
Password:
root@tipfoo:/home/me# chmod 600 -R /root/.ssh/
root@tipfoo:/home/me# ssh -p 27482 11.22.33.44
Enter passphrase for key '/root/.ssh/id_rsa':
Last login: Thu Jun 21 14:29:00 2007 from 11.22.33.45



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

没给root设置密码以前sudo 'vi' /etc/shadow居然可以用,这个应该是个BUG



如果一直想用root也可以"sudo -s"。


如果创建新帐号,希望可以使用"sudo"命令,将该帐号添加到 admin 组即可。

如果希望使用"sudo"命令时,不需要输入用户密码,将该帐号添加到 sudo 组即可。