1.11. 사용자가 Samba 서버에서 디렉토리를 공유 가능
Samba 서버에서는 사용자가 루트 권한 없이 디렉터리를 공유할 수 있도록 구성할 수 있습니다.
1.11.1. 사용자 공유 기능 활성화 링크 복사링크가 클립보드에 복사되었습니다!
사용자가 디렉토리를 공유할 수 있으려면 관리자가 Samba에서 사용자 공유를 활성화해야 합니다.
예를 들어 로컬 example 그룹의 멤버만 활성화하여 사용자 공유를 생성하려면 다음을 수행합니다.
절차
로컬
example그룹이 없는 경우 해당 그룹을 생성합니다.groupadd example
# groupadd exampleCopy to Clipboard Copied! Toggle word wrap Toggle overflow Samba에서 사용자 공유 정의를 저장하고 권한을 올바르게 설정하도록 디렉터리를 준비합니다. 예를 들어 다음과 같습니다.
디렉터리를 만듭니다.
mkdir -p /var/lib/samba/usershares/
# mkdir -p /var/lib/samba/usershares/Copy to Clipboard Copied! Toggle word wrap Toggle overflow example그룹에 대한 쓰기 권한을 설정합니다.chgrp example /var/lib/samba/usershares/ chmod 1770 /var/lib/samba/usershares/
# chgrp example /var/lib/samba/usershares/ # chmod 1770 /var/lib/samba/usershares/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Sticky bit를 설정하면 사용자가 이 디렉터리의 다른 사용자가 저장한 파일의 이름을 변경하거나 삭제할 수 없습니다.
/etc/samba/smb.conf파일을 편집하고[global]섹션에 다음을 추가합니다.사용자 공유 정의를 저장하도록 구성한 디렉터리의 경로를 설정합니다. 예를 들어 다음과 같습니다.
usershare path = /var/lib/samba/usershares/
usershare path = /var/lib/samba/usershares/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 서버에서 만들 수 있는 Samba 공유 사용자 공유 수를 설정합니다. 예를 들어 다음과 같습니다.
usershare max shares = 100
usershare max shares = 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow usershare max shares매개변수에 기본값0을 사용하는 경우 사용자 공유가 비활성화됩니다.선택 사항: 절대 디렉터리 경로 목록을 설정합니다. 예를 들어 Samba가
/data및/srv디렉토리의 하위 디렉터리만 공유할 수 있도록 하려면 다음을 설정합니다.usershare prefix allow list = /data /srv
usershare prefix allow list = /data /srvCopy to Clipboard Copied! Toggle word wrap Toggle overflow
설정할 수 있는 추가 사용자 공유 관련 매개변수 목록은 시스템의
smb.conf(5)도움말 페이지의USERSHARES섹션을 참조하십시오./etc/samba/smb.conf파일을 확인합니다.testparm
# testparmCopy to Clipboard Copied! Toggle word wrap Toggle overflow Samba 구성을 다시 로드합니다.
smbcontrol all reload-config
# smbcontrol all reload-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이제 사용자가 사용자 공유를 생성할 수 있습니다.
1.11.2. 사용자 공유 추가 링크 복사링크가 클립보드에 복사되었습니다!
Samba에서 사용자 공유 기능을 활성화한 후 사용자는 net usershare add 명령을 실행하여 root 권한 없이 Samba 서버의 디렉토리를 공유할 수 있습니다.
net usershare add 명령의 개요입니다.
net usershare add share_name path [[ comment ] | [ ACLs ]] [ guest_ok=y|n ]
사용자 공유를 생성할 때 ACL을 설정하는 경우 ACL보다 먼저 comment 매개변수를 지정해야 합니다. 빈 주석을 설정하려면 이중 따옴표로 빈 문자열을 사용합니다.
사용자가 사용자 공유에 대해 게스트 액세스를 활성화할 수 있습니다. 관리자가 사용자 공유 영역의 usershare allow guests = yes 를 /etc/exporter/ECDHE.conf 파일의 [global] 섹션에 있는 경우에만 활성화할 수 있습니다.
예 1.5. 사용자 공유 추가
사용자가 Samba 서버에서 /srv/samba/ 디렉터리를 공유하려고 합니다. 공유 이름은 example 이고, 주석을 설정하지 않으며, 게스트 사용자가 액세스할 수 있어야 합니다. 또한 공유 권한은 AD\Domain Users 그룹에 대한 전체 액세스 권한과 기타 사용자의 읽기 권한으로 설정해야 합니다. 이 공유를 추가하려면 사용자로 실행합니다.
net usershare add example /srv/samba/ "" "AD\Domain Users":F,Everyone:R guest_ok=yes
$ net usershare add example /srv/samba/ "" "AD\Domain Users":F,Everyone:R guest_ok=yes
1.11.3. 사용자 공유의 설정 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
사용자 공유의 설정을 업데이트하려면 net usershare add 명령을 동일한 공유 이름 및 새 설정으로 사용하여 공유를 재정의합니다.
사용자 공유 추가를 참조하십시오.
1.11.4. 기존 사용자 공유에 대한 정보 표시 링크 복사링크가 클립보드에 복사되었습니다!
사용자는 Samba 서버에 net usershare info 명령을 입력하여 사용자 공유 및 해당 설정을 표시할 수 있습니다.
사전 요구 사항
- 사용자 공유는 Samba 서버에 구성됩니다.
절차
사용자가 만든 모든 사용자 공유를 표시하려면 다음을 수행하십시오.
net usershare info -l
$ net usershare info -l [share_1] path=/srv/samba/ comment= usershare_acl=Everyone:R,host_name\user:F, guest_ok=y ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령을 실행하는 사용자가 생성한 공유만 나열하려면
-l매개 변수를 생략합니다.특정 공유에 대한 정보만 표시하려면 공유 이름 또는 와일드카드 카드를 명령에 전달합니다. 예를 들어 이름이
share_로 시작하는 공유에 대한 정보를 표시하려면 다음을 수행합니다.net usershare info -l share_*
$ net usershare info -l share_*Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.5. 사용자 공유 나열 링크 복사링크가 클립보드에 복사되었습니다!
Samba 서버에서의 설정 없이 사용 가능한 사용자 공유만 나열하려면 net usershare list 명령을 사용합니다.
사전 요구 사항
- 사용자 공유는 Samba 서버에 구성됩니다.
절차
사용자가 생성한 공유를 나열하려면 다음을 수행하십시오.
net usershare list -l
$ net usershare list -l share_1 share_2 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령을 실행하는 사용자가 생성한 공유만 나열하려면
-l매개 변수를 생략합니다.특정 공유만 나열하려면 공유 이름 또는 와일드카드를 명령에 전달합니다. 예를 들어 이름이
share_:으로 시작되는 공유만 나열하려면 다음을 수행하십시오.net usershare list -l share_*
$ net usershare list -l share_*Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.6. 사용자 공유 삭제 링크 복사링크가 클립보드에 복사되었습니다!
사용자 공유를 삭제하려면 net usershare delete 명령을 공유를 만든 사용자 또는 root 사용자로 사용합니다.
사전 요구 사항
- 사용자 공유는 Samba 서버에 구성됩니다.
절차
net usershare delete share_name
$ net usershare delete share_name