我正在运行 Ubuntu 12.04,遇到了各种问题。我将其追溯到我的用户主目录 (/home/user) 归 root 所有这一事实。
/home 目录实际上安装在另一个驱动器上,但我可以看到在 fstab 中我只安装 /home 而不是 /home/user:
UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2
下面的 chown 命令似乎不起作用:
sudo chown -R user /home/user
ls -ld
运行此命令不会出现错误,但实际上它不会更改目录的所有权。以下是运行命令后的输出:
drwxrwxrwx 1 root root 20480 Sep 25 00:07 /home/user
這和以前一樣。
答案1
NTFS 不支持 Unix 风格的“所有者”,因此 Linux 内核被迫为整个卷分配一个所有者 - 通常是 root。作为将整个主目录移动到 EXT4 的替代方法,您还可以使用 的“uid”或“gid”选项将整个分区的所有权授予特定用户或组mount
(或 中的fstab
)。在多用户环境中存在安全隐患,但我在双启动笔记本电脑上使用了这种方法。
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。
答案2
正如评论中所提到的,问题是我的主目录安装在具有 NTFS 文件系统的不同硬盘上。
我使用 Deja Dup 将我的主目录备份到外部驱动器。然后使用 gparted 格式化内部 NTFS 驱动器并将文件系统更改为 EXT4。
接下来我更改 /etc/fstab 以匹配驱动器的新 UUID,并将“ntfs”更改为“ext4”。
重启后,我必须按 Ctrl+Alt+F1 才能登录终端。我可以使用 sudo chown -R user:user /home/user。
然后我可以登录到 GUI,并使用 Deja Dup 和外部驱动器上的备份恢复我的主目录。
到目前为止,一切进展顺利。