14

我正在研究树莓派,并且很难授予使用以下教程安装的外部硬盘驱动器的权限:

http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-device/

我现在已经在该外部硬盘驱动器上创建了文件夹,当我执行ls -l命令时,我得到以下返回:

drwxr-xr-x 2 root root 512 Aug 28 23:24 test

它位于:/media/USBHDD1/shares

现在我正在尝试赋予它所有读写和执行权限,甚至将所有者和组更改为 pi:pi

但是,chmod 777不起作用 - 它不返回错误,只是似乎没有效果

当我使用

sudo chown -R pi:pi test/

我得到错误

chown: changing ownership of `test/': Operation not permitted

这是一个 linux 问题,但我认为具有使用树莓派背景和知识的人可以在这里帮助我。

根据要求提供额外信息:

当我运行pi@raspberrypi /media $ grep USBHDD1 /etc/mtab 它返回:

/dev/sda1 /media/USBHDD1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0
4

1 回答 1

17

原因是所有权和权限是在挂载时为vfatFS 定义的。

手册页装载(8):

脂肪的安装选项..

   uid=value and gid=value

          Set the owner and group of all files.  (Default: the uid and gid
          of the current process.)

   umask=value

          Set the umask (the bitmask  of  the  permissions  that  are  not
          present).  The default is the umask of the current process.  The
          value is given in octal.

你至少可以做三件事:

(1) 授予pi:pi对整个 /media/USBHDD1 挂载的访问权限:

mount -o remount,gid=<pi's gid>,uid=<pi's uid> /media/USBHDD1

要确定 pi 的 uid:

cat /etc/passwd |grep pi

要确定 pi 的 gid:

cat /etc/group |grep pi

/media/USBHDD1(2)通过更改umaskand让每个人都可以访问dmask(不推荐):

mount -o remount,umask=000,dmask=000 /media/USBHDD1

(3) 将分区更改为不同的文件系统。仅当您没有从 Windows 计算机访问外部硬盘驱动器时才执行此操作:

您将无法将文件系统从 VFAT 转换为与 Unix 兼容的 FS,因此您必须备份驱动器的内容,格式化为 EXT3+ 或 reiserfs,然后将内容复制回来。 您可以在网络上找到执行此操作的教程。

于 2014-08-29T00:15:34.197 回答