![Samba 권한 구성](https://linux55.com/image/162461/Samba%20%EA%B6%8C%ED%95%9C%20%EA%B5%AC%EC%84%B1.png)
파일을 생성할 수는 있지만 쓰기나 이동은 불가능하게 만드는 것이 가능한지 궁금합니다. 이렇게 하면 모든 파일에 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 멤버십을 사용하여 디렉토리에 쓸 수 없습니다.