DJE*_*bow 12 permissions mount home-directory chown ownership
我正在运行 Ubuntu 12.04 并遇到各种问题。我已经将其追溯到我用户的主目录 (/home/user) 归 root 所有的事实。
/home 目录实际上安装在另一个驱动器上,但我可以看到在 fstab 中我只安装了 /home 而不是 /home/user:
UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2
Run Code Online (Sandbox Code Playgroud)
下面的 chown 命令似乎不起作用:
sudo chown -R user /home/user
Run Code Online (Sandbox Code Playgroud)
这将运行而不会出错,但它实际上不会更改目录的所有权。这是ls -ld运行命令后的输出:
drwxrwxrwx 1 root root 20480 Sep 25 00:07 /home/user
Run Code Online (Sandbox Code Playgroud)
这与以前相同。
小智 17
NTFS 不支持 Unix 风格的“所有者”,因此 Linux 内核被迫为整个卷分配一个所有者——通常是 root。作为将整个主目录移动到 EXT4 的替代方法,您还可以使用mount(或 in fstab)的“uid”或“gid”选项将整个分区的所有权授予特定用户或组。在多用户环境中存在安全隐患,但我在我的双引导笔记本电脑上使用了这种方法。
在mount( man mount)的手册页中,我们在 NTFS 的文件系统特定选项下找到了很长一段路:
uid=value, gid=value and umask=value
Set the file permission on the filesystem. The umask value is given in octal. By default, the files are owned by root and not readable by somebody else.
fstab然后您的行将更改为UUID=DC56D19E56DX3233 /home ntfs user,exec,uid=username,gid=group 0 2,如果您愿意,您可以自由编辑 umask。
正如评论中提到的,问题是我的主目录安装在具有 NTFS 文件系统的不同硬盘驱动器上。
我使用 Deja Dup 将我的主目录备份到外部驱动器。然后使用 gparted 格式化内部 NTFS 驱动器并将文件系统更改为 EXT4。
接下来,我更改了 /etc/fstab 以匹配驱动器的新 UUID,并将“ntfs”更改为“ext4”。
重新启动后,我必须按 Ctrl+Alt+F1 才能登录终端。我在那里能够使用 sudo chown -R user:user /home/user。
然后,我能够登录 GUI,并使用 Deja Dup 和外部驱动器上的备份恢复我的主目录。
到目前为止,一切都很顺利。