了解 Linux 根目录

了解 Linux 根目录

我已经使用 Linux(Ubuntu)大约 2 周了,但仍然对一些基本概念感到困惑。用户:

  1. 一些终端操作(例如在 FHS 目录中创建子目录,例如/选择)要求我在命令前加上前缀须藤- 为什么?我猜我被噎住了:如果我已经以有效系统用户身份登录,为什么我必须成为超级用户/root 才能修改系统管理员已经认为我值得访问的内容?

  2. 是否有与 sudo 等效的 GUI(Gnome、KDE)?是否有办法通过图形环境而不是从新 shell 内部承担超级用户角色?

  3. 我无法以自己的身份登录访问 /root 目录...但我一开始就安装了系统,系统从未要求我创建 root 帐户!我如何以 root 身份登录并访问 /root?

答案1

如果我已经以有效系统用户身份登录,为什么我必须成为超级用户/root 才能修改系统管理员已经认为我值得访问的内容?

谁说他们有?

如果你看一下/etc/passwd,你会发现你的系统上的用户比你想象的要多得多。例如,我的系统如下所示:

┌─[pearson@Bragi] - [~] - [Mon Jan 03, 11:29]
└─[$]> cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
mail:x:8:12:mail:/var/spool/mail:/bin/false
ftp:x:14:11:ftp:/srv/ftp:/bin/false
http:x:33:33:http:/srv/http:/bin/false
nobody:x:99:99:nobody:/:/bin/false
dbus:x:81:81:System message bus:/:/bin/false
pearson:x:1000:1000::/home/pearson:/bin/zsh
hal:x:82:82:HAL daemon:/:/bin/false
ntp:x:87:87:Network Time Protocol:/var/empty:/bin/false
avahi:x:84:84:Avahi daemon:/:/bin/false
temp:x:1001:1001::/home/temp:/bin/bash
mysql:x:89:89::/var/lib/mysql:/bin/false
mongodb:x:101:2::/var/lib/mongodb:/bin/false
usbmux:x:140:140:usbmux user:/:/sbin/nologin
kdm:x:135:135::/var/lib/kdm:/bin/false
deluge:x:125:125:Deluge user:/srv/deluge:/bin/false

其中大部分由各种守护进程(无需用户交互即可运行的程序)使用;它们往往具有非常有限的权限,因为它们不需要做太多事情。如果它们试图做一些坏事,无论是由于软件错误而意外发生,还是由于安全漏洞而故意发生,它们都不会成功。

更重要的一点是,用户只能访问他们需要的内容。

sudo现在,如果您的问题是“当我已经被添加到 时,为什么还需要键入sudoers?”,答案是sudo以 而不是您 的身份运行root。如果我们让您的用户直接访问所有文件,或者您只是以 root 身份正常运行,那么很多更容易意外地做坏事(rm -rf /*我想到这一点)。另外,允许任何您运行的应用程序对您的系统做任何想做的事情是非常糟糕的安全做法 - 这就是在 UAC 之前在 Windows 机器上安装大量间谍软件的方式。

是否有与 sudo 等效的 GUI(Gnome、KDE)?

gksu,,, 。在图形应用程序中使用这些是一个非常好的主意,因为它们会进行一些特殊的处理,以防止出现以下gksudo问题kdesukdesudo

如何以 root 身份登录

不要。如果您需要 root shell,则可以使用sudo -ssudo -isudo su

Ubuntu 出厂时 root 帐户已锁定,因此您必须更改密码才能登录 ( sudo passwd root)。完成此操作后,您可以根据需要锁定 ( sudo passwd -l root) 和解锁 ( sudo passwd -u root) root 帐户。但实际上,请保持锁定状态;这样您就可以防止一系列攻击。

并获得 /root 的访问权限?!?

┌─[pearson@Bragi] - [~] - [Mon Jan 03, 11:54]
└─[$]> sudo -s
┌─[root@Bragi] - [~] - [Mon Jan 03, 11:54]
└─[$]> cd /root

但其实没必要。

答案2

  1. sudo 允许您以 root 身份执行程序。出于安全原因,普通系统用户的权限有限。您不会希望您的来宾帐户用户能够修改系统文件,对吧?如果您想授予用户提升的权限,您应该考虑修改“sudoers”文件。

  2. gksu(从技术上讲是 su 的 GUI,但应该对你有帮助)

  3. 与大多数其他 Linux 发行版不同,Ubuntu 默认不允许 root 登录。所有 root 访问都应该通过 sudo 完成。请参阅这里作为一种解决方法(免责声明:没有尝试过,我自己不使用 Ubuntu)。否则,如果您只想访问您的 /root 目录,您可以从 shell 执行此操作(或使用 sudo 以 root 身份启动文件管理器 - 我认为默认情况下 Ubuntu 中的 Nautilus)。

答案3

  1. 出于安全原因,您的帐户不值得写入系统目录。

  2. 您可以使用“sudo nautilus”以 root 权限启动 Nautilus。您可能可以将此命令分配给面板上的按钮。

  3. 默认情况下,ubuntu 上未启用 root 帐户。似乎您可以使用它来启用它,sudo passwd root它将提示您输入 root 使用的密码,但完全不建议这样做,而应该使用 sudo 来获得临时 root 访问权限。

答案4

执行此操作时,sudo您暂时拥有 root 权限。通常,您需要先检查文件权限。/opt例如,在 Ubuntu 上,属于 root 并具有rwxr-xr-x权限。这意味着,您的用户可能无法写入(即创建目录)目录。

存在 root 帐户,仅仅是因为执行管理任务“需要”它。

相关内容