루트가 소유하고 그룹의 사용자가 읽고 쓸 수 있도록 삼바 공유를 마운트합니다.

루트가 소유하고 그룹의 사용자가 읽고 쓸 수 있도록 삼바 공유를 마운트합니다.

root이름이 지정된 그룹이 소유 한 Samba 공유를 마운트하려고 합니다 . 해당 그룹의 사용자는 해당 그룹 smbshare에 액세스하여 파일을 읽고 쓸 수 있습니다.

나는 이것을 내 안에 넣어 보았습니다 /etc/fstab.

//fs/myshare /media/share cifs credentials=/root/.cifs,rw,user,iocharset=utf8,sec=ntlmssp,gid=smbshare,dir_mode=0770,file_mode=0660,vers=3.0 0 0

내 사용자(그룹에 속한 smbshare)가 다음을 얻는 것을 제외하면 예상대로 설치됩니다.Permission denied

user1@myhost:/media$ id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(smbshare)

user1@myhost:/media$ ll
total 8
drwxr-xr-x  3 root root     4096 Jan 25 15:23 ./
drwxr-xr-x 19 root root     4096 Jan 18 10:11 ../
drwxrwxr-x  2 root smbshare    0 Jan 25 16:39 share/

user1@myhost:/media$ ls share/
ls: cannot open directory 'share/': Permission denied

더 허용적인 것으로 변경하면 dir_mode=0770,file_mode=0660사용자는 폴더에 액세스할 수 있습니다... 그룹에 속하지 않더라도smbshare

/etc/samba/smb.conf그만한 가치가 있는 부분은 다음과 같습니다. 서버의 일부fs

[myshare]
    comment = my share
    path = /share/myshare
    read only = no
    browsable = yes
    create mask = 0664
    directory mask = 0775

편집하다:

smbshare새 그룹을 설치하지 않으면 gid=user1작동합니다

/etc/fstab:

//fs/myshare /media/share cifs credentials=/root/.cifs,rw,user,iocharset=utf8,sec=ntlmssp,gid=user1,dir_mode=0770,file_mode=0660,vers=3.0 0 0

답변1

이를 달성하는 올바른 방법은 Kerberos 기반 인증을 사용하고 multiuser옵션과 함께 플래그를 전달하는 것입니다 mount. 그러면 서버는 클라이언트 사용자를 확인하고 개인으로 인증합니다. (이것은 와 함께 사용할 수 없습니다 . 실제로 또는 을 sec=ntlmssp사용할 수 있어야 합니다 .)sec=krb5sec=krb5i

하지만 이 구성을 사용하면 문제를 어느 정도 해결할 수 있습니다. 특히 대략적인 액세스 검토만 수행했기 때문에 광범위하게 테스트하지 않았습니다.

  1. smb.conf

    [global]
        unix extensions = no
    
    [multiuser_test]
        comment = Temporary multiuser access
        path = /samba/tmp
        guest ok = no
        read only = no
    
  2. 고객. 사용자가 smbshare그룹에 있는지 확인하세요.

    mkdir -p /mnt/net
    mount -t cifs -o credentials=/root/.smb_credentials,rw,gid=smbshare,dir_mode=0775,file_mode=0664 //server/multiuser_test/try /mnt/net
    

이 경우(해결 방법임을 기억하세요) 클라이언트 사용자는 서버에서 설치를 인증하는 단일 사용자로만 간주됩니다. 로컬 클라이언트 권한은 공유에 대한 액세스를 제어합니다.

관련 정보