当前位置: 首页>>技术教程>>正文


无法在Ubuntu上更改权限/所有权/外部硬盘组

, , , ,

问题描述

我的Linux机器上连接了一个外部硬盘驱动器。我想设置一个Web服务器来访问其上的文件,但是驱动器上所有文件和目录的权限均为所有者(我的本地登录名)为rwx,该组为root组。

我需要apache用户可读的文件,我试图将所有文件都设置为chmod a+rwx -R *,但是这没有任何作用(没有错误,没有任何作用。)我尝试使用chgrp将组更改为我的用户组,但那也不行,即使我以sudo的身份运行所有这些命令,也会出现我缺少权限的错误!

这个硬盘有什么问题??? sudo chmod a+rwx *应该可以处理任何事情,对吗?

最佳方法

首先通过df -T检查它使用的文件系统类型:

sys@p:~$ df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
ext3          ext3    19222656   1050948  17195164   6% /
tmpfs        tmpfs     1684988         0   1684988   0% /lib/init/rw
udev         tmpfs       10240        64     10176   1% /dev
tmpfs        tmpfs     1684988         0   1684988   0% /dev/shm

例如,如果它安装在/mnt/external上,您将在最右边的列中看到它。您可以在第二列中看到文件系统类型。如果是NTFS,则需要NTFS-3G(可能已经安装,如果不是sudo apt-get install ntfs-config,则可能是gksu ntfs-config)。 Linux已经具有FAT支持,用于读取&尽管它们不支持权限,但仍要写

如果要挂载所有权应用于特定用户/组的NTFS分区,请在挂载开关中指定它:

mount -o uid=username,gid=groupname /dev/sdc /path/to/mount

如果按照上述建议更改为ext3,则可以使用chown

chown -R user *
chown -R user .

次佳方法

正如Kim所说,您将只获得Unix文件系统的Unix权限和所有权。 ext3是一个不错的选择。

如果必须使用该驱动器而无需重新格式化,则可以使用mount命令的选项来指定其所有者,组和/或读/写权限。这些选项会影响驱动器上的所有文件(有关如何确定FSTYPE的信息,请参见John T的答案):

# list files as owned by X, use numerical UID as found in /etc/passwd
$ mount -t <FSTYPE> -o uid=X /dev/?? /path/to/mount/point

# list files as owned by group Y, use numerical GID found in /etc/passwd
$ mount -t <FSTYPE> -o gid=Y /dev/?? /path/to/mount/point

# list files as accessible per umask 
#   (022 gives rwx permissions to owner, r-x permissions to everyone else)
$ mount -t <FSTYPE> -o umask=022 /dev/?? /path/to/mount/point

# combine all of the above:
$ mount -t <FSTYPE> -o uid=X,gid=Y,umask=022 /dev/?? /path/to/mount/point

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9740.html,未经允许,请勿转载。