Samba 공유는 Windows 및 Linux에서 읽기 전용입니다.

Samba 공유는 Windows 및 Linux에서 읽기 전용입니다.

나는 내 외부 NTFS 드라이브를 다른 두 대의 컴퓨터와 공유하기 위해 Gentoo Linux에서 실행되는 Samba를 구성하려고 합니다. 하나는 Gentoo를 실행하고 다른 하나는 Windows 7을 실행합니다. 이전에는 드라이브가 Samba 지원 라우터(Zyxel Keenetic Giga II)에 연결되어 있었고 웹 인터페이스에 지정된 로그인/비밀번호 쌍을 사용하여 연결할 수 있었습니다. 읽기 및 쓰기 권한이 있습니다.

이제 유효한 로그인/비밀번호 쌍을 지정하는 모든 사람에게 전체 액세스를 허용하도록 Samba를 구성하려고 합니다. 로그인/비밀번호는 고유합니다(해당 사용자 이름은 다른 곳에서는 사용하지 않습니다).

Linux와 Windows 컴퓨터를 모두 연결할 수 있었지만 읽기 전용 모드에서만 가능했습니다. 글을 쓸 수 있어야 한다는 Permission denied권한이 있음에도 불구하고 모든 글을 써보았습니다 .ls

네트워크 구조는 다음과 같습니다.

  • sambaserv:Samba 서버 호스트 이름
    • sambauser/sambapass:Samba 로그인 자격 증명
    • myuserserv:내 사용자 로그인
  • linuxclient:Linux 클라이언트 호스트 이름
    • myuserclient:내 사용자 로그인
  • winclient:Win 7 클라이언트 호스트 이름


내가 한 일은 다음과 같습니다.

sambaserv: ls -l /mnt

...
drwxrwxr-x 1 myuserserv myuserserv 4096  2 June  01:08 storage

sambaserv: /etc/fstab

/dev/sdc1    /mnt/storage    ntfs-3g    defaults,uid=1000,gid=1000,umask=0002,noatime 0 0

1000ID입니다 myuserserv. 이 드라이브를 Samba 공유 이외의 용도로 사용하고 싶기 때문에 지정하지 않았습니다 sambauser.


sambaserv:sambauser다음 명령을 실행하여 생성하십시오.

useradd sambauser
passwd sambauser
pdbedit -a -u sambauser

sambaserv: testparm

$ sudo testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[storage]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        server string = sambaserv
        log file = /var/log/samba/log.%m
        max log size = 50
        dns proxy = No
        idmap config * : backend = tdb
        hosts allow = 192.168.1., 127.

[storage]
        comment = Storage
        path = /mnt/storage
        valid users = sambauser
        read only = No
        create mask = 0775
        directory mask = 0775

드라이브가 NTFS라는 점을 고려하면 파일 권한을 처리하는 방법을 모르지만 그렇지 않은 경우에는 괜찮습니다.


linuxclient: ls -l /mnt

...
drwxrwxr-x 1 myuserclient myuserclient  0  2 juin  01:08 storage

linuxclient: /etc/fstab

//sambaserv/storage    /mnt/storage    cifs    credentials=/home/myuserclient/.smbcredentials,iocharset=utf8,sec=ntlm 0 0

winclient:sambauser/sambapass아래 Connect network drive쌍을 입력하세요 My Computer.


Linux 및 Windows에서 쓰기 권한을 얻는 방법은 무엇입니까?

답변1

문서그리고공유하다권한은 서로 관련이 없으며 개별적으로 설정해야 합니다. smb.conf공유에 대한 쓰기 액세스를 허용 하려면 다음과 같은 줄이 필요합니다 .

write list = sambauser

바라보다smb 구성 파일자세한 내용은 맨페이지를 참조하세요.

답변2

내가 지적받았어솔루션(아님이것해결책). on 그룹에 추가하면 sambauser문제가 사라집니다. 하지만 이는 사용자 그룹을 방해해야 하기 때문에 좋은 해결책이 아니며, 다른 환경에서는 이를 수행할 수 없습니다.myusersrvsambaserv

관련 정보