Ubuntu 服务器上安装的 Samba 共享(来自树莓派)的文件权限

Ubuntu 服务器上安装的 Samba 共享(来自树莓派)的文件权限

我正在努力解决我的 ubuntu 服务器上安装的 NAS 上的文件权限问题 ( 20.04 LTS)。

NAS 驱动器使用 cifs 安装/etc/fstab

sudo nano /etc/fstab:

//PiNAS/PiNASdrive /media/PiNAS cifs vers=3.0,credentials=/home/USERNAME/.secrets/.smbdPiNAScredentials,nodev,nosuid,uid=1000,gid=1000 0 0

权限如下:

stat /media/PiNAS/:

File: /media/PiNAS/
  Size: 0               Blocks: 0          IO Block: 1048576 directory
Device: 33h/51d Inode: 2           Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/    xxxx)   Gid: ( 1000/    xxxx)

当我尝试更改sudo chmod -R 0770 /media/PiNAS文件权限时,权限并没有改变。

当我尝试设置 NextCloud Docker 容器时出现了这个问题,因为 NextCloud webapp 在安装过程中告诉我:

“请将权限更改为 0770,以便其他用户无法列出该目录。”

我可以持续更改文件权限吗? 或者这是 docker 问题,我是否需要对 docker 容器内的文件权限做些什么(NAS 驱动器上有一个文件夹,它被映射为 docker 容器中的卷)

在 Raspberry Pi 4 上设置 NAS 设备

为了完整起见,NAS 设备的设置方式如下:

我有一台连接了两个 USB 驱动器的 Raspberry Pi 4。我曾经mdadm创建了一个简单的“RAID1”阵列:

sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu Feb 18 20:37:27 2021
        Raid Level : raid1
        Array Size : 1953381440 (1862.89 GiB 2000.26 GB)
     Used Dev Size : 1953381440 (1862.89 GiB 2000.26 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Mon Jul 19 21:38:53 2021
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : PiNAS:0  (local to host PiNAS)
              UUID : d0b5192e:3b2b1fd7:f43639bb:e041cac6
            Events : 51229

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

该驱动器使用以下方式安装/etc/fstab

UUID="1655887b-96c2-40dd-80e2-87e2fdce83c6" /media/USB12 ext4 defaults 0 0

然后通过 samba 共享

nano /etc/samba/smb.conf:

<snip>
[PiNASdrive]
path = /media/USB12
writeable=Yes
create mask=0770
directory mask=0770
public=no

答案1

我设法解决了它——更正确地阅读各种文档就足够了。

正如@golimar 指出的那样,尽管挂载看起来像目录,但并不完全相同,因此也可以采取不同的行为。

这里解释说,对于 cifs 挂载,文件权限是在挂载时创建的,之后无法再更改。此外,您可以将 adir_mode和 a传递file_mode给 mount 命令来设置权限。

我首先在 处创建了一个新目录作为挂载点~/smbshares/PiNAS。然后,我使用 更改了文件夹的权限sudo chmod -R 0770 ~/smbshares/PiNAS;尽管我不能 100% 确定这是否有必要,甚至是否真的起作用。

现在,我可以挂载了。对我来说,现在的行/etc/fstab如下所示:

//PiNAS/PiNASdrive /home/USERNAME/smbshares/PiNAS cifs vers=3.0,credentials=/home/USERNAME/.secrets/.smbdPiNAScredentials,nodev,nosuid,uid=1000,gid=1000,dir_mode=0770,file_mode=0770 0 0

快速sudo mount -a(重新)安装所有驱动器。

相关内容