个人工具
登录
查看“RootSudo”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“RootSudo”的源代码
来自Ubuntu中文
←
RootSudo
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
在 Linux (和普通的 Unix), 超级用户的名字叫做 root. Windows 对应的 root 帐户是 Administrator. 超级用户可以做任何事情, 因此在日常工作中超级用户变的很危险. 你可以输入一个错误的命令毁掉整个系统. 从理论上讲, 你运行的用户应该仅仅拥有手头上任务所需要的权限. 在某些情况下, 它需要 root, 但是大部分事件下是正常的用户. Ubuntu 的 root 帐号缺省是锁住的. 这意味您不能作为 root 登陆或者使用 su. 相反, 安装程序将在安装过程中建立和设置 sudo 来允许用户运行所有的管理命令. 意思是在终端下你可以为需要 root 权限的命令使用 sudo . 使用菜单上的程序将使用一个图形化的 sudo 用来提示输入口令. 当 sudo 询问口令时, 它需要 '''您的用户密码'''; 这意味着不需要 root 口令. === 说明 === * 密码缺省保存 15 分钟. 超过这个时间, 您需要重新输入您的密码. * 但输入您的密码时将 '''不''' 在屏幕上显示, 甚至不会有一排的星号 (******). 然而, 这是正常的! * 使用 <code><nowiki>sudo</nowiki></code> 运行图形化的设置工具, 可以简单的通过菜单来运行程序. * 对于 "Ubuntu" 的用户,使用 <code><nowiki>gksudo</nowiki></code> 来运行程序, 如运行 '''gedit''', 按 Alt+F2 并回车 <code><nowiki>gksudo gedit</nowiki></code>. * 对于 ''Kubuntu'' 的用户, 使用 <code><nowiki>kdesu</nowiki></code> 或 <code><nowiki>kdesudo</nowiki></code> . * 在命令行运行 <code><nowiki>sudo</nowiki></code> , 在命令前加上 <code><nowiki>sudo</nowiki></code>, 如下: ''例子 #1'' <pre><nowiki> sudo chown bob:bob /home/bob/* </nowiki></pre> ''例子 #2'' <pre><nowiki> sudo /etc/init.d/networking restart </nowiki></pre> * '''不要''' 使用 sudo 运行一个图形程序. 您应该 <code><nowiki>gksudo</nowiki></code> 或 <code><nowiki>kdesu</nowiki></code> 运行这些程序, 否则重新登陆时可能会失败. 如果在登陆时提示如下的错误报告: "Unable to read ICE authority file", 使用登陆失败下终端并运行下面的命令, 使用您的帐户名字取代下面的 user. <pre><nowiki> rm /home/*/.{ICE,X}authority </nowiki></pre> * 启动一个 ''root shell'' (例. 一个你可以允许 root 命令的窗口) 使用: <pre><nowiki> sudo -i </nowiki></pre> === 允许其它用户运行 sudo === 给 sudo 增加一个新的用户, 从 <code><nowiki>System --> Administration</nowiki></code> 菜单打开 '''Users and Groups''' 工具. 然后点击用户并继续打开属性. 选择 '''User Privileges''' 页. 在本页, 查找 '''Executing system administration tasks''' 并选择. /!\ 在终端可以这样: <code><nowiki>sudo adduser $user admin</nowiki></code>, 这里您使用用户的名字替换 $user. === 使用 sudo 的好处 === 缺省屏蔽 '''root''' 的好处包括了以下几个部分: * 安装可以询问较少的问题 * 用户不需要记住额外的密码, 因为他们很可能容易忘记 * 交互式的缺省登陆避免了 "我可以作 ''任何事情'' " - 在修改变化前您将被提示输入一个口令, 这样可以让你考虑一下这样做的结果. * Sudo 对于运行的命令增加了一个日志 (在 <code><nowiki>/var/log/auth.log</nowiki></code>). 如果您弄乱了, 您可以一直回去并看到曾经运行的命令. 这同样有利于审查. * 所有的破解者尝试使用 ''强力破解'' 进入你的系统时都知道有一个帐户的名字叫做 ''root'' 并且将首次尝试. 他们并不知道您的其它用户的用户名叫做什么. * 允许简单的修改管理规则, 在短期或者长期, 从用户组增加或删除用户, 其中不会危及到 ''root'' 帐号. * sudo 可以设置更加细致的安全规则 === 使用 sudo 的不足 === 尽管对于桌面使用 sudo 有很多好处, 下面有可能产生需要注意的问题: * 使用 sudo 运行的命令的输出的重定向能够发现新用户. 对于下面的场合 <code><nowiki>sudo ls > /root/somefile</nowiki></code> , 到 shell 尝试写入那个文件时将无法工作. 您可以使用 `ls | sudo tee -a /root/somefile` 来增加, 或 `ls | sudo tee /root/somefile` 来覆盖内容. * 在一些办公室环境在系统上仅仅只有一个 root 本地用户. 所有其它的用户使用 NSS 技巧输入 如 nss-ldap. 要么设置一个工作站, 或者修复它, 在网络故障导致 nss-ldap 断开时, root 必须要. 除非破解否则将无法修复或者离开系统. 这里需要一个额外的本地用户, 或者激活 root 口令. === 误解 === * ''是否 sudo 没有 su 安全?'' 安全模型都是一样的, 并且这两种方式都用他们主要的缺点. 必须考虑任何用户都可以使用 `su` '''或者''' `sudo` 成为一个特权用户. 如果用户的帐号对于攻击者都是安全的, 在下一次用户这样做的时候攻击者也可以同样获得 root 权限. 在链条里面用户帐号也是脆弱的链接, 因此冰区象 root 一样给予同样的保护. 在更细致的登记上, `sudo` 对于不同工作的特性提供了重要的作用, 它可以影响系统的安全. `sudo` 通常被使用仅仅执行一个单个的命令, `su` 通常被使用打开一个 shell 并执行多个命令. `sudo` 通过减少使用 root shell 的可能性, 并鼓励用户最小的使用 root 权限. * ''我不能进入一个单用户模式!'' 在 Ubuntu 的 sulogin 程序被修改到可以支持确认 root 口令被锁住的操作. === 回到传统 root 帐号 === <!> '''并不推荐!''' 如果您需要在一个 root 控制台工作, 您最好使用如下命令: <pre><nowiki> sudo -i </nowiki></pre> ==== 激活 root 帐号 ==== 为了激活 root 帐号 (例如设置一个口令) 使用: <pre><nowiki> sudo passwd root </nowiki></pre> Enter your existing password<br> Enter password for root<br> Confirm password for root ==== 屏蔽 root 帐号 ==== 如果您激活了 root 口令并希望重新屏蔽它. 在你激活 root 帐号后屏蔽它使用: <pre><nowiki> sudo passwd -l root </nowiki></pre> 这个将锁住 root 帐号. <br> <!> 这个也在 Ubuntu 6.06 (Dapper Drake) 之前的版本防止您启动电脑到恢复模式 * 这个是因为当请求恢复 root 的口令时, 在 /etc/shadow 中 root 的口令不会自动的回到单个 * 字符. (你将被询问一个口令, 同样的依然存在, 但被锁住了无法用来登陆.) 您将在激活 root 帐号后又锁住时需要编辑 /etc/shadow 来防止这个问题. 这个在 Ubuntu 6.06 (Dapper Drake) (Flight 3 之前) 已经修复了, 当恢复模式启动时锁住的密码和 空 (*) 密码 修正为一致. ==== 让 sudo 询问 root 密码 ==== 您可以使 sudo 询问 root 密码代替用户密码, 您可以增加一个关键词 <code><nowiki>rootpw</nowiki></code> 到 <code><nowiki>/etc/sudoers</nowiki></code> 中以 <code><nowiki>Defaults</nowiki></code> 开头的行. <!> '''''如果您打算锁住 root 帐号时请确定不要做这个''''' ==== 激活图形化 root 登陆 ==== <!> '''非常 ''不'' 推荐 允许 root 登陆图形系统!''' ===== 在 Gnome ===== * 打开 System --> Administration --> Login Screen Setup * 点击 security 页 * 选择 <code><nowiki>Allow root login</nowiki></code> ===== 在 KDE ===== ** 打开 Konqueror 并打开 /etc/kde3/kdm/ 目录 ** 在 kdmrc 文件上按右键选择 --> 'Edit as root' ** 在 246 行将 <code><nowiki>AllowRootLogin=false</nowiki></code> 修改为 'true' ** 保存并退出. ===== 从 Linux 控制台 ===== ** 使用 Ctrl+Alt+F1 (or F2, F3, ..., F6) 切换到一个虚礼的终端. 您可以使用 Ctrl+Alt+F7 回到 X session . ** 使用您的帐户登陆. ** 使用 "<code><nowiki>sudo -i</nowiki></code>" 成为 root . ** 使用 "<code><nowiki>startx -- :1</nowiki></code>" 启动一个新的 X server 在 :1. **** 你可以运行一个不同的 window 管理器 (比如, fvwm) 使用如下 "<code><nowiki>startx fvwm -- :1</nowiki></code>". **** 你必须使用 display :1, 因为缺省的 (display :0) 已经被你使用了. ** 小心, 你现在是超级用户. 别忘记当你使用完毕后从 X 和控制台立即退出. ==技巧== <pre>sudo !! #以root权限执行上一个命令</pre> [[Category:入门]] [[Category:系统]]
该页面使用的模板:
模板:Box
(
查看源代码
)
模板:Box BLUE
(
查看源代码
)
模板:Box GREEN
(
查看源代码
)
模板:Box RED
(
查看源代码
)
模板:Note
(
查看源代码
)
模板:Tip
(
查看源代码
)
模板:Warning
(
查看源代码
)
返回至
RootSudo
。