ACLは常にファイル(Samba)のグループ実行権限を設定します。

ACLは常にファイル(Samba)のグループ実行権限を設定します。

「sambashare」グループには一部のユーザーがあり、「sambashareAdmin」グループには一部のユーザーがあります。 "sambashareAdmin"グループのユーザーだけがコンテンツを変更/作成できます。

すべてのファイルはhaegarthehorrible:sambashareの一部である必要があります。サーバーで作成するか、サーバーに移動/コピーするかどうか。

問題は、Windowsワークステーションユーザー(天国)がこれを行うと、すべてのファイルが660/-rw-rw---の代わりにグループ(670/-rw-rwx---)で実行権限を取得することです。

私は「パムの制限に従う」ためにSambaでYesとNoを試しましたが、違いはありませんでした。また、「マスクの作成」と「ディレクトリマスク」、「強制作成モードと「ディレクトリ強制モード」、またはその両方を試しました。

私はchmod g + sとg + s、u + sを試しました。

私は次のような複雑なことを試しました。

~$ sudo chmod -R a-x,u=rX,g=rX,u+w,g+w /mnt/pool/Share/Backup
~$ sudo chmod -R a-x,u=rwX,g=rwX /mnt/pool/Share/Backup

興味深いことに、「rw」(chmodまたはsetfacl)の代わりに「rwX」を使用すると、所有者権限で実行されます。 Xがディレクトリにのみ設定すると思いましたか?

今は非常に複雑に見えますが、まだ動作しません。これはすでにファイル/ディレクトリを含むディレクトリであることを覚えておいてください。

~$ sudo nano /etc/samba/smb.conf
[global]
   server string = Harvester
   server role = standalone server
   server min protocol = SMB2
   workgroup = WORKGROUP
   interfaces = lo enp0s31f6
   bind interfaces only = yes
   logging = file
   log file = /var/log/samba/log.%m
   max log size = 1000
   load printers = no
   show add printer wizard = no
   disable netbios = yes
   dns proxy = no
   deadtime = 30
   smb ports = 445
   smb encrypt = off
   security = user
   obey pam restrictions = yes
   panic action = /usr/share/samba/panic-action %d
   use sendfile = yes
   directory mask = 2750
   create mask = 0640
   access based share enum = yes
   map to guest = bad user
   guest account = shareguest

[Backup]
   path = /mnt/pool/Share/Backup
   guest ok = no
   browseable = no
   create mask = 0660
   directory mask = 2770
   force group = sambashare
   force user = haegarthehorrible
   write list = @sambashareAdmin
   valid users = haegarthehorrible paradise
   inherit acls = Yes

権限設定:

~$ sudo chown -R haegarthehorrible:sambashare /mnt/pool/Share/Backup
~$ sudo setfacl -R -b -k -n /mnt/pool/Share/Backup                         # Remove ACL
~$ sudo chmod -R g+s,u+s /mnt/pool/Share/Backup
~$ sudo chmod 0770 /mnt/pool/Share/Backup
~$ sudo find /mnt/pool/Share/Backup -type f -exec chmod 660 {} \;
~$ sudo find /mnt/pool/Share/Backup -type d -exec chmod 2770 {} \;
~$ sudo setfacl -R -d -m u::rw,g::rw,u:haegarthehorrible:rw,g:sambashareAdmin:rw /mnt/pool/Share/Backup  # ACL for new items
~$ sudo setfacl -R -m u:haegarthehorrible:rw,g:sambashareAdmin:rw /mnt/pool/Share/Backup                 # ACL for old/existing items

sambashare管理者メンバー:

~$ members sambashareAdmin
haegarthehorrible paradise

Samba共有メンバー:

~$ members sambashare
shareguest watcher

共有ルートフォルダの権限:

~$ ls -ld /mnt/pool/Share
drwxr-xr-x 7 root root 4096 Aug  7  2023 /mnt/pool/Share

~$ stat /mnt/pool/Share
Access: (0755/drwxr-xr-x)  Uid: (0/root)  Gid: (0/root)

~$ getfacl /mnt/pool/Share
# file: mnt/pool/Share
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

共有権限:

~$ ls -ld /mnt/pool/Share/Backup
drwsrws---+ 5 haegarthehorrible sambashare 4096 Apr 25  2022 /mnt/pool/Share/Backup

~$ stat /mnt/pool/Share/Backup
Access: (6770/drwsrws---)  Uid: (1000/haegarthehorrible)  Gid: (996/sambashare)

~$ getfacl /mnt/pool/Share/Backup
# file: mnt/pool/Share/Backup
# owner: haegarthehorrible
# group: sambashare
# flags: ss-
user::rwx
group::rwx
other::---
default:user::rw-
default:user:haegarthehorrible:rw-
default:group::rw-
default:group:sambashareAdmin:rw-
default:mask::rw-
default:other::---

ファイル権限:

~$ ls -l /mnt/pool/Share/Backup/Test.txt
-rw-rwx---+ 1 haegarthehorrible sambashare 0 Feb 11 07:18 /mnt/pool/Share/Backup/Test.txt

~$ stat /mnt/pool/Share/Backup/Test.txt
Access: (0670/-rw-rwx---)  Uid: (1000/haegarthehorrible)  Gid: (996/sambashare)

~$ getfacl /mnt/pool/Share/Backup/Test.txt
# file: mnt/pool/Share/Backup/Test.txt
# owner: haegarthehorrible
# group: sambashare
user::rw-
user:haegarthehorrible:rw-
group::rw-
group:sambashare:rw-
group:sambashareAdmin:rw-
mask::rwx
other::---

関連情報