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


12

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

我需要apache用户可读的文件,我试图将所有文件设置为chmod a+rwx -R *,但这无济于事(不提供任何错误,没有任何作用。)我尝试将group更改chgrp为我的用户组,但是那也不起作用,即使我将所有这些命令都以sudo!的形式运行,它也会给我我没有权限的错误。

这个硬盘有什么问题??? sudo chmod a+rwx *应该做任何事情,对不对?

Answers:


19

首先通过df -T以下命令检查其使用的文件系统类型:

sys @ p:〜$ df -T
文件系统类型1K块已使用可用用法已安装%
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-configgksu ntfs-config)。Linux已经支持FAT读写功能,尽管它们不支持权限

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

mount -o uid =用户名,gid = groupname / dev / sdc / path / to / mount

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

chown -R user *
chown -R user .

4

正如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

2

我做到了,它奏效了:

sudo umount /dev/sda3 /media/windows1
sudo umount /dev/sda5 /media/windows2

接着

sudo mount -o rwx /dev/sda3 /media/windows1
sudo mount -o rwx /dev/sda5 /media/windows2

请注意,我使用Ubuntu 11.10和sda3是我的Windows C:sda5G:


2

因此,我花了一些时间,因为我从同一驱动器上的多台计算机进行了备份。我必须安装hdfsplus实用程序(hfsprogs),然后安装驱动器,最后使用用户名和组名更改相关文件夹的所有权。

注意:您只需mount在终端上键入即可列出安装点和设备。

第一:

sudo apt-get install hfsprogs

如果已安装驱动器,则将其卸载:

sudo umount /media/user/mount_point

(重新)使用以下参数安装驱动器:

sudo mount -t hfsplus -o force,rw /dev/sdb# /media/user/mount_point

导航到包含问题文件夹的目录。然后做:

chmod -R your_user_group:your_user_name ./target_directory

希望能有所帮助。


这是对我有用的唯一解决方案之一。尝试了所有其他。谢谢!
SolStack

1

它可能被格式化为FAT,不支持文件权限。请改用ext3。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.