IP를 사용하여 SAMBA에서 읽기 및 쓰기 권한을 부여하는 방법

IP를 사용하여 SAMBA에서 읽기 및 쓰기 권한을 부여하는 방법

SAMBA의 사용자 대신 smb.conf를 사용하여 IP를 기반으로 읽기 및 쓰기 액세스 권한을 부여하고 싶습니다.

이것은 smb.conf 파일에서 복사한 텍스트입니다.

[TEST]
        comment = test
        path = /mnt/vg-stg/storage/test
        read only = no
        writeable = yes
        oplocks = yes
        level2 oplocks = yes
        force security mode = 0
        dos filemode = yes
        dos filetime resolution = yes
        dos filetimes = yes
        fake directory create times = no
   browseable = yes
   csc policy = manual
   veto oplock files = /*.mdb/*.MDB/*.dbf/*.DBF/
   veto files = /*:Zone.Identifier:*/
   store dos attributes = yes
   map acl inherit = yes
        create mode = 0777
        directory mode = 2777
        printable = no
        guest ok = yes
        hosts allow = 10.20.20.213
        #hosts readonly allow =

[TEST]
        comment = test
        path = /mnt/vg-stg/storage/test
        read only = yes
        writeable = no
        oplocks = yes
        level2 oplocks = yes
        force security mode = 0
        dos filemode = yes
        dos filetime resolution = yes
        dos filetimes = yes
        fake directory create times = no
   browseable = yes
   csc policy = manual
   veto oplock files = /*.mdb/*.MDB/*.dbf/*.DBF/
   veto files = /*:Zone.Identifier:*/
   store dos attributes = yes
   map acl inherit = yes
        create mode = 0777
        directory mode = 2777
        printable = no
        guest ok = yes
        hosts allow = 10.20.20.147
        #hosts readonly allow =

그러나 Samba는 이러한 변화를 받아들이지 않았습니다. Explorer 또는 Nautilus에서 액세스하려고 하면 오류가 발생하기 때문입니다.

Could not display "smb://XXX.XXX.XXX.XXX/Reports
The file is of an unknown type

내가 여기서 뭘 잘못하고 있는지 제안해주세요.

답변1

나는 옵션 hosts readonly allowhosts write list존재가 존재하지 않는다고 생각합니다. 참고: 내 삼바/테스트팜도 마찬가지입니다. 이론적으로는 다음과 같이 예상한 대로 작동해야 합니다.

[mainBak]
comment = Main Backup Writeable
    path = /mnt/vg-stg/storage/Main_Backup
    read only = no
    writeable = yes
    oplocks = yes
    level2 oplocks = yes
    force security mode = 0
    dos filemode = no
    dos filetime resolution = no
    dos filetimes = no
    fake directory create times = no
browseable = yes
csc policy = manual
veto oplock files = /*.mdb/*.MDB/*.dbf/*.DBF/
veto files = /*:Zone.Identifier:*/
store dos attributes = yes
map acl inherit = yes
    create mode = 0777
    directory mode = 2777
    printable = no
    guest ok = yes
    hosts allow = 10.91.12.109 10.91.12.115 10.91.12.95 10.91.12.67 10.91.12.109 10.91.12.115 10.20.20.147

[mainBak]
comment = Main Backup Readonly
        path = /mnt/vg-stg/storage/Main_Backup
        read only = yes
        writeable = no
        oplocks = yes
        level2 oplocks = yes
    force security mode = 0
    dos filemode = no
    dos filetime resolution = no
    dos filetimes = no
    fake directory create times = no
browseable = yes
csc policy = manual
veto oplock files = /*.mdb/*.MDB/*.dbf/*.DBF/
veto files = /*:Zone.Identifier:*/
store dos attributes = yes
map acl inherit = yes
    create mode = 0777
    directory mode = 2777
    printable = no
    guest ok = yes
    hosts allow = 10.20.20.0/24 10.20.50.0/24 172.16.0.0/16 192.168.0.0/16 10.91.12.252 10.20.20.94 10.91.12.46 10.91.12.197 10.91.12.87 10.91.12.106 10.91.12.110 10.91.12.12 10.91.12.108 10.91.12.62 10.91.12.129 10.91.12.127 10.91.12.128 10.91.12.50 10.91.12.142

아이디어는 두 번 공유하기 위해 동일한 이름을 가지지만 쓰기/읽기 권한과 호스트 권한은 서로 다르다는 것입니다. 이것이 구성의 유일한 공유인 경우 일부 옵션/설정을 내보내 [global]중복성을 줄일 수 있습니다.

수표에 액세스하려면 다음을 수행하십시오.testparm /path/to/smb.conf hostname hostIP

답변2

내 대답은 거꾸로여야 해

그래서 기본 읽기 전용 구성을 먼저 설정한 다음 쓰기 가능한 구성을 설정했습니다.

회의 내용은 다음과 같습니다.

[ShareName]

comment = RO
path = /path
available = yes
hosts allow = 127.0.0.1 192.168.1. 10. EXCEPT 192.168.1.203
read only = yes
browseable = yes
public = yes
writable = no


[ShareName]

comment = WR
path = /path
available = yes
hosts allow = 192.168.1.203
read only = no
browseable = yes
public = yes
writable = yes

관련 정보