如何从 root 手中夺取所有权或获取管理员权限?

如何从 root 手中夺取所有权或获取管理员权限?

我从 Win 3.11 开始使用 Windows,使用 Linux/Ubuntu 才大约三个小时。我知道在 Linux 上做事的方式不同,我并不指望它像 Windows 一样直观和用户友好,所以我做好了遇到一些困难的准备。

迁移到新版 Windows 时,我做的第一件事就是安装磁盘映像软件,因为在熟悉新操作系统时,我总是会搞砸一些事情,而能够在几分钟而不是几个小时内重新安装系统真是太好了。这也是为什么我总是非常注重将操作系统和我的文档和数据分开放在两个不同的分区上的原因。

我在专用硬盘上安装了 Ubuntu 64 位,其中有一个 8GB 的​​ SWAP 分区、一个 20GB 的 / 分区,其余部分分配给我命名为 /D-Drive 的分区,用于存放文档、数据和磁盘映像。安装后,我从软件中心安装了一个名为 Partition Image 的应用程序,然后就遇到了麻烦!

问题是我无法访问我的 D-Drive,因为出于某种原因它属于 root,我无法运行分区映像,因为出于某种原因它也属于 root(我没有以 root 身份下载它)。在 Windows 7 中,我只需右键单击并“以管理员身份运行”或授予我的用户帐户管理员权限,但我无法弄清楚如何在 Ubuntu 中执行这两项操作。

我该如何解决这个恼人的 root 问题并取得我的 PC 的所有权?我可以授予我的用户帐户 root 权限吗?或者我可以接管 root 帐户作为我的主要登录名吗?

请记住,我还不了解 Linux,所以我需要一步一步的描述。

答案1

正如您所发现的,Linux 的情况有些不同,复制 Windows 的方式可能不是最佳选择。在 Linux 中,您的所有文档都保存在 /home/username/ 中。您设置的方式是 /home 现在是 / (20GB) 分区下的一个文件夹。虽然这个分区可能足以容纳操作系统,但对于所有数据、音乐、照片、视频等来说可能太小了。

您可能想要将 /home 设置为分区而不是文件夹。

  1. 备份 /home 文件夹和 /D-Drive 分区。
  2. 创建 /home 分区的最简单方法是在安装时。重新安装时(在“其他”阶段)删除 /D-Drive 并在其位置创建一个新的 ext4 分区并将其命名为 /home(注意:必须全部小写)。然后 Ubuntu 就会知道您想将文档和数据保存在那里。
  3. 如果您稍后为这台计算机创建其他用户,并希望保留一些可供其他用户访问的文件,您可以在 /home 分区中创建 /home/D-Drive 作为文件夹。右击文件夹并选择属性。在权限选项卡中允许其他人创建和删除。

当然,/home 文件夹可以移动到 /home 分区,而无需重新安装,但过程有点复杂,我不建议新用户这样做,因为他们可能在主文件夹中没有很多东西。

答案2

您可能需要更改/D-drive的所有权,也可能需要更改其权限。具体需要做什么取决于您要完成的任务:

  • /D-drive如果你想使用为一个用户(不是)安装的分区root来存储数据,只需非递归地 取得所有权挂载点(在驱动器已安装)。

    sudo chown $USER:$USER
    

    (如果您未以想要授予此功能的用户身份登录,则必须用$USER用户名替换每个实例。否则,该命令可以逐字运行,因为$USER环境变量会扩展为当前用户的用户名。)

    跑步的理由chown 没有标志-R(即非递归)是:

    1. 假设您尚未将任何文件放入 中/D-drive,因此您无需更改其中文件的所有权。正确设置所有权后,您就可以将文件放入其中,在那里创建的文件将具有这些默认权限,而移动或复制到那里的文件(通常)将具有原始文件的权限。
    2. /D-drive一开始会包含一个名为 的文件夹lost+found。此文件夹应保留在原处,只有其他人root才能删除它,只有其他人root才能查看它。这用于存储在fsck运行(可以自动或手动进行)。任何文件(或任何文件的一部分)都可能最终进入其中。您可能在某个时候想要创建一些用户无法读取的文件。因此lost+found应保留其默认所有权和权限
  • 如果您希望多个用户能够在其中创建、删除和修改文件/D-drive包括其他此类用户编写的文件,那么你应该:

    1. 创建一个群组。
    2. 将您希望拥有此能力的用户放入组中。
    3. 使这个新组成为 的组所有者/D-drive
    4. 设置权限/D-drive以便:
      • 这个新团体的成员对其拥有完全的控制权。
      • 默认情况下,在其中创建的任何文件都将归这个新组所有,而不是其创建者的主要组。(设置gid位当应用于目录时会产生这种效果。

    假设您已决定呼叫该组team-d,以下是执行所有操作的命令:

    1. sudo groupadd team-d
    2. sudo usermod -a -G team-d username(为组中的每个用户运行此操作)
    3. sudo chgrp team-d /D-drive
    4. sudo chmod g+rws /D-drive
  • 如果您希望多个用户能够将他们的文件放入/D-drive,并能够修改和删除它们,不是对彼此的文件拥有同样的能力,那么你应该:

    1. 创建一个群组。
    2. 将您希望能够存储文件的用户放入/D-drive新组中。
    3. 使这个新组成为 的组所有者D-drive
    4. 设置权限D-drive以便:
      • 新组的成员可以访问它、查看里面的内容并在其中创建自己的文件。
      • 新团体的成员不能重命名或删除由创建的文件其他小组成员(即使其成为一个粘性目录)。

    像以前一样呼叫组team-d,以下是完成此操作的命令:

    1. sudo groupadd team-d
    2. sudo usermod -a -G team-d username(为组中的每个用户运行此操作)
    3. sudo chgrp team-d /D-drive
    4. sudo chmod +t /D-drive && sudo chmod g+rwx /D-drive
  • 你可能不要全部用户能够将文件放入 中/D-drive,因为这将包括不代表真实人员的用户帐户,并且仅存在以便某些系统服务可以以较低的能力运行(出于安全原因)。如果您查看文件,您将看到像、和 这样/etc/passwd的用户。mailwww-databackup

    但是,如果你坚持允许所有用户访问此目录(但不允许他们重命名或删除彼此的文件),您可以通过授予“其他人”(而不是所有者或组所有者)写权限并将其设为粘性目录来实现此目的:

    sudo chmod o+rwxt /D-drive
    

相关内容