Samba 권한 구성

Samba 권한 구성

파일을 생성할 수는 있지만 쓰기나 이동은 불가능하게 만드는 것이 가능한지 궁금합니다. 이렇게 하면 모든 파일에 r--r--r--권한이 생성됩니다.
내 현재 smb.conf:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no

#=== Share Definitions ===

[Anonymous]
path = /samba/anon
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
create mask = 0444
force create mode = 0444
directory mask = 0444
force directory mode = 0444

/samba/anon 권한을 으로 설정해야 합니다 drw-rw-rw-. 을 제거하면 w사용자는 파일을 삭제할 수 있으므로 더 이상 파일을 생성할 수 없습니다. 이 딜레마는 해결될 수 있을까?

답변1

다음을 시도해 볼 수 있습니다(지금은 작동하는지 확인할 수 없지만 작동해야 합니다).

[Anonymous]
path = /samba/anon
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
create mask = 0644
force create mode = 0644
directory mask = 3775
force directory mode = 3775
inherit owner = yes

그런 다음 공유 홈 디렉터리에 대한 권한을 설정합니다(여기서 sambaadm은 다른 사람과 다른 Linux 사용자입니다).

chown -R sambaadm:nogroup /samba/anon
find /samba/anon -type d | xargs chmod 3775
find /samba/anon -not -type d | xargs chmod 0644

이는 디렉터리의 고정 비트를 활용하여 소유자만 파일을 삭제할 수 있도록 합니다. "상속 소유자"를 사용하면 사용자가 항상 sambaadm 상태가 되므로 누구도 삭제할 수 없습니다. 쓰기는 sambaadm에서 허용하는 파일에만 허용되며, 누구도 nogroup 멤버십을 사용하여 디렉토리에 쓸 수 없습니다.

관련 정보