1.20. 자주 사용되는 Samba 명령줄 유틸리티
이 장에서는 Samba 서버로 작업할 때 자주 사용되는 명령에 대해 설명합니다.
1.20.1. 네트워크 광고 조인 및 net#189 조인 명령 사용
net
유틸리티의 join
하위 명령을 사용하여 Samba를 AD 또는 NT4 도메인에 결합할 수 있습니다. 도메인에 참여하려면 /etc/ controlPlane/ECDHE.conf
파일을 수동으로 생성하고 선택적으로 PAM과 같은 추가 구성을 업데이트해야 합니다.
realm
유틸리티를 사용하여 도메인에 가입하는 것이 좋습니다. realm
유틸리티는 관련된 모든 구성 파일을 자동으로 업데이트합니다.
절차
다음 설정을 사용하여
/etc/ controlPlane/ECDHE.conf
파일을 수동으로 생성합니다.AD 도메인 멤버의 경우:
[global] workgroup = domain_name security = ads passdb backend = tdbsam realm = AD_REALM
NT4 도메인 멤버의 경우:
[global] workgroup = domain_name security = user passdb backend = tdbsam
-
*
기본 도메인에 대한 ID 매핑 구성을 추가하고/etc/requests/ECDHE.conf
파일의[global
] 섹션에 조인할 도메인에 대한 ID 매핑 구성을 추가합니다. /etc/samba/smb.conf
파일을 확인합니다.# testparm
도메인 관리자로 도메인에 가입하십시오.
AD 도메인에 가입하려면 다음을 수행합니다.
# net ads join -U "DOMAIN\administrator"
NT4 도메인에 가입하려면 다음을 수행합니다.
# net rpc join -U "DOMAIN\administrator"
/etc/nsswitch.conf
파일의passwd
및group
database 항목에winbind
소스를 추가합니다.passwd: files
winbind
group: fileswinbind
winbind
서비스를 활성화하고 시작합니다.# systemctl enable --now winbind
선택적으로
authselect
유틸리티를 사용하여 PAM을 구성합니다.자세한 내용은
authselect(8)
도움말 페이지를 참조하십시오.AD 환경의 경우 Kerberos 클라이언트를 구성합니다.
자세한 내용은 Kerberos 클라이언트 설명서를 참조하십시오.
추가 리소스
1.20.2. net rpc 권한 명령 사용
Windows에서는 계정 및 그룹에 권한을 할당하여 공유 또는 프린터 드라이버 업로드 또는 업로드와 같은 특수 작업을 수행할 수 있습니다. Samba 서버에서는 net rpc rights
명령을 사용하여 권한을 관리할 수 있습니다.
설정할 수 있는 권한 나열
사용 가능한 모든 권한 및 소유자를 나열하려면 net rpc rights list
명령을 사용합니다. 예를 들어 다음과 같습니다.
# net rpc rights list -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: SeMachineAccountPrivilege Add machines to domain SeTakeOwnershipPrivilege Take ownership of files or other objects SeBackupPrivilege Back up files and directories SeRestorePrivilege Restore files and directories SeRemoteShutdownPrivilege Force shutdown from a remote system SePrintOperatorPrivilege Manage printers SeAddUsersPrivilege Add users and groups to the domain SeDiskOperatorPrivilege Manage disk shares SeSecurityPrivilege System security
권한 부여
계정 또는 그룹에 권한을 부여하려면 net rpc rights grant
명령을 사용합니다.
예를 들어, DOMAIN\printadmin
그룹에 SeprintOperatorPrivilege
권한을 부여합니다.
# net rpc rights grant "DOMAIN\printadmin" SePrintOperatorPrivilege -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: Successfully granted rights.
권한 해지
계정 또는 그룹의 권한을 취소하려면 net NetNamespace rights revoke
명령을 사용합니다.
예를 들어 DOMAIN\printadmin
그룹에서 SeprintOperatorPrivilege
권한을 취소하려면 다음을 수행합니다.
# net rpc rights remoke "DOMAIN\printadmin" SePrintOperatorPrivilege -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: Successfully revoked rights.
1.20.3. net rpc share 명령 사용
net rpc share
명령은 로컬 또는 원격 Samba 또는 Windows 서버에서 공유를 나열, 추가 및 제거하는 기능을 제공합니다.
공유 나열
SMB 서버의 공유를 나열하려면 net rpc share list
명령을 사용합니다. 선택적으로 명령에 -S server_name
매개 변수를 전달하여 원격 서버의 공유를 나열합니다. 예를 들어 다음과 같습니다.
# net rpc share list -U "DOMAIN\administrator" -S server_name Enter DOMAIN\administrator's password: IPC$ share_1 share_2 ...
/etc/tekton/octets.conf
파일의 섹션에 browseable = no
setable이 설정된 Samba 서버에서 호스팅되는 공유는 출력에 표시되지 않습니다.
공유 추가
net rpc share add
명령을 사용하면 SMB 서버에 공유를 추가할 수 있습니다.
예를 들어 C:\
디렉터리를 공유하는 원격 Windows 서버에 example이라는 공유를 추가하려면 다음을 실행합니다.
example
\
# net rpc share add example="C:\example" -U "DOMAIN\administrator" -S server_name
Windows 디렉터리 이름을 지정할 때 경로에서 후행 백슬래시를 생략해야 합니다.
명령을 사용하여 Samba 서버에 공유를 추가하려면 다음을 수행합니다.
-
-U
매개변수에 지정된 사용자에게는 대상 서버에 부여된SeDiskOperatorPrivilege
권한이 있어야 합니다. -
/etc/samba/smb.conf
파일에 공유 섹션을 추가하고 Samba를 다시 로드하는 스크립트를 작성해야 합니다. 스크립트는/etc/tekton/ECDHE.conf
의[global]
섹션의add share command
매개변수에서 설정해야 합니다. 자세한 내용은qcow.conf(5) 매뉴얼 페이지의
add share 명령
설명을 참조하십시오.
공유 제거
net rpc share delete
명령을 사용하면 SMB 서버에서 공유를 제거할 수 있습니다.
예를 들어 원격 Windows 서버에서 example이라는 공유를 제거하려면 다음을 수행합니다.
# net rpc share delete example -U "DOMAIN\administrator" -S server_name
명령을 사용하여 Samba 서버에서 공유를 제거하려면 다음을 수행합니다.
-
-U
매개변수에 지정된 사용자에게는SeDiskOperatorPrivilege
권한이 부여되어야 합니다. -
/etc/samba/smb.conf
파일에서 공유 섹션을 제거하고 Samba를 다시 로드하는 스크립트를 작성해야 합니다. 스크립트는/etc/tekton/ECDHE.conf
의[global]
섹션의delete share command
매개변수에서 설정해야 합니다. 자세한 내용은 rootfs.conf(5) 매뉴얼 페이지의
delete share 명령
설명을 참조하십시오.
1.20.4. net user 명령 사용
net user
명령을 사용하면 AD DC 또는 NT4 PDC에서 다음 작업을 수행할 수 있습니다.
- 모든 사용자 계정 나열
- 사용자 추가
- 사용자 제거
AD 도메인용 광고
또는 NT4 도메인용 providers와 같은 연결 방법을 지정하는 것은 도메인 사용자 계정을 나열할 때만 필요합니다. 다른 사용자 관련 하위 명령은 연결 방법을 자동으로 감지할 수 있습니다.
명령에 -U user_name
매개 변수를 전달하여 요청된 작업을 수행할 수 있는 사용자를 지정합니다.
도메인 사용자 계정 나열
AD 도메인의 모든 사용자를 나열하려면 다음을 수행하십시오.
# net ads user -U "DOMAIN\administrator"
NT4 도메인의 모든 사용자를 나열하려면 다음을 수행하십시오.
# net rpc user -U "DOMAIN\administrator"
도메인에 사용자 계정 추가
Samba 도메인 멤버에서 net user add
명령을 사용하여 사용자 계정을 도메인에 추가할 수 있습니다.
예를 들어 user
계정을 도메인에 추가합니다.
계정을 추가합니다.
# net user add user password -U "DOMAIN\administrator" User user added
필요한 경우 원격 프로시저 호출(RPC) 쉘을 사용하여 AD DC 또는 NT4 PDC에서 계정을 활성화할 수 있습니다. 예를 들어 다음과 같습니다.
# net rpc shell -U DOMAIN\administrator -S DC_or_PDC_name Talking to domain DOMAIN (S-1-5-21-1424831554-512457234-5642315751) net rpc>
user edit disabled user: no
Set user's disabled flag from [yes] to [no] net rpc>exit
도메인에서 사용자 계정 삭제
Samba 도메인 멤버에서는 net user delete
명령을 사용하여 도메인에서 사용자 계정을 제거할 수 있습니다.
예를 들어 도메인에서 user
계정을 제거하려면 다음을 수행합니다.
# net user delete user -U "DOMAIN\administrator" User user deleted
1.20.5. rpcclient 유틸리티 사용
rpcclient
유틸리티를 사용하면 로컬 또는 원격 SMB 서버에서 클라이언트측 MS-RPC 기능을 수동으로 실행할 수 있습니다. 그러나 대부분의 기능은 Samba에서 제공하는 별도의 유틸리티에 통합되어 있습니다. MS-PRC 함수 테스트를 위해서만 client
를 사용하십시오.
사전 요구 사항
-
samba-client
패키지가 설치되어 있습니다.
예제
예를 들어 rpcclient
유틸리티를 사용하여 다음을 수행할 수 있습니다.
프린터 Spool 하위 시스템(SPOOLSS)을 관리합니다.
예 1.7. printer에 드라이버 할당
# rpcclient server_name -U "DOMAIN\administrator" -c 'setdriver "printer_name" "driver_name"' Enter DOMAIN\administrators password: Successfully set printer_name to driver driver_name.
SMB 서버에 대한 정보를 검색합니다.
예 1.8. 모든 파일 공유 및 공유 printer 나열
# rpcclient server_name -U "DOMAIN\administrator" -c 'netshareenum' Enter DOMAIN\administrators password: netname: Example_Share remark: path: C:\srv\samba\example_share\ password: netname: Example_Printer remark: path: C:\var\spool\samba\ password:
SCC(Security Account Manager Remote) 프로토콜을 사용하여 작업을 수행합니다.
예 1.9. SMB 서버에 사용자 나열
# rpcclient server_name -U "DOMAIN\administrator" -c 'enumdomusers' Enter DOMAIN\administrators password: user:[user1] rid:[0x3e8] user:[user2] rid:[0x3e9]
독립 실행형 서버 또는 도메인 구성원에 대해 명령을 실행하면 로컬 데이터베이스의 사용자가 나열됩니다. AD DC 또는 NT4 PDC에 대해 명령을 실행하면 도메인 사용자가 나열됩니다.
추가 리소스
-
NetNamespaceclient(1)
도움말 페이지
1.20.6. samba-regedit 애플리케이션 사용
프린터 구성과 같은 특정 설정은 Samba 서버의 레지스트리에 저장됩니다. ncurses 기반 samba-regedit
애플리케이션을 사용하여 Samba 서버의 레지스트리를 편집할 수 있습니다.
사전 요구 사항
-
samba-client
패키지가 설치되어 있습니다.
절차
애플리케이션을 시작하려면 다음을 입력합니다.
# samba-regedit
다음 키를 사용합니다.
- 커서가 위 및 커서: 레지스트리 트리와 값을 이동합니다.
- 키를 열거나 값을 편집합니다.Opens a key or edits a value.
-
탭: 키와
값
창 사이를 전환합니다. - Ctrl+C: 애플리케이션을 닫습니다.
1.20.7. smbcontrol 유틸리티 사용
Net Namespacecontrol
유틸리티를 사용하면 명령 메시지를 해당 서비스,nmb
,d
winbindd
또는 모든 서비스에 보낼 수 있습니다. 이러한 제어 메시지는 예를 들어 구성을 다시 로드하도록 서비스에 지시합니다.
사전 요구 사항
-
samba-common-tools
패키지가 설치되어 있습니다.
절차
-
reload-config
메시지 유형을all
대상으로 전송하여smbd
,nmbd
,winbindd
서비스의 구성을 다시 로드합니다.
# smbcontrol all reload-config
추가 리소스
-
pvccontrol(1)
도움말 페이지
1.20.8. smbpasswd 유틸리티 사용
smbpasswd
유틸리티는 로컬 Samba 데이터베이스에서 사용자 계정과 암호를 관리합니다.
사전 요구 사항
-
samba-common-tools
패키지가 설치되어 있습니다.
절차
명령을 사용자로 실행하는 경우, rootfs
passwd
는 명령을 실행하는 사용자의 Samba 암호를 변경합니다. 예를 들어 다음과 같습니다.[user@server ~]$ smbpasswd New SMB password: password Retype new SMB password: password
root
사용자로smbpasswd
를 실행하는 경우 유틸리티를 사용하여 다음을 수행할 수 있습니다.새 사용자를 생성합니다.
[root@server ~]# smbpasswd -a user_name New SMB password:
password
Retype new SMB password:password
Added user user_name.참고사용자를 Samba 데이터베이스에 추가하려면 먼저 로컬 운영 체제에서 계정을 만들어야 합니다. 기본 시스템 설정 구성 가이드 의 명령줄에서 새 사용자 추가 섹션을 참조하십시오.
Samba 사용자를 활성화합니다.
[root@server ~]# smbpasswd -e user_name Enabled user user_name.
Samba 사용자를 비활성화합니다.
[root@server ~]# smbpasswd -x user_name Disabled user user_name
사용자를 삭제합니다.
[root@server ~]# smbpasswd -x user_name Deleted user user_name.
추가 리소스
-
NetNamespacepasswd(8)
도움말 페이지
1.20.9. smbstatus 유틸리티 사용
Net Namespacestatus
유틸리티에서 다음을 보고합니다.
-
Samba 서버에 대한 각
Daemond
데몬의 PID당 연결 이 보고서에는 사용자 이름, 기본 그룹, SMB 프로토콜 버전, 암호화 및 서명 정보가 포함됩니다. -
Samba 공유당 연결. 이 보고서에는 rootfs
d 데몬
의 PID, 연결 시스템의 IP, 연결이 설정된 타임스탬프, 암호화, 서명 정보가 포함됩니다. - 손상된 파일 목록. 보고서 항목에는 opportunistic 잠금(oplock) 유형과 같은 추가 세부 정보가 포함됩니다.
사전 요구 사항
-
samba
패키지가 설치되어 있습니다. -
smbd
서비스가 실행 중입니다.
절차
# smbstatus Samba version 4.15.2 PID Username Group Machine Protocol Version Encryption Signing ....------------------------------------------------------------------------------------------------------------------------- 963 DOMAIN\administrator DOMAIN\domain users client-pc (ipv4:192.0.2.1:57786) SMB3_02 - AES-128-CMAC Service pid Machine Connected at Encryption Signing: ....--------------------------------------------------------------------------- example 969 192.0.2.1 Thu Nov 1 10:00:00 2018 CEST - AES-128-CMAC Locked files: Pid Uid DenyMode Access R/W Oplock SharePath Name Time ....-------------------------------------------------------------------------------------------------------- 969 10000 DENY_WRITE 0x120089 RDONLY LEASE(RWH) /srv/samba/example file.txt Thu Nov 1 10:00:00 2018
추가 리소스
-
pvcstatus(1)
도움말 페이지
1.20.10. smbtar 유틸리티 사용
Net Namespacetar
유틸리티는 SMB 공유 또는 하위 디렉터리의 콘텐츠를 백업하고 해당 콘텐츠를 tar
아카이브에 저장합니다. 또는 media device에 내용을 쓸 수 있습니다.
사전 요구 사항
-
samba-client
패키지가 설치되어 있습니다.
절차
다음 명령을 사용하여
//server/example/
공유에서demo
디렉터리의 콘텐츠를 백업하고 해당 콘텐츠를/root/example.tar
아카이브에 저장합니다.# smbtar -s server -x example -u user_name -p password -t /root/example.tar
추가 리소스
-
pvctar(1)
매뉴얼 페이지
1.20.11. wbinfo 유틸리티 사용
wbinfo
유틸리티는 winbindd
서비스에서 생성 및 사용하는 정보를 쿼리하고 반환합니다.
사전 요구 사항
-
samba-winbind-clients
패키지가 설치되어 있습니다.
절차
예를 들어 wbinfo
를 사용하여 다음을 수행할 수 있습니다.
목록 도메인 사용자:
# wbinfo -u AD\administrator AD\guest ...
도메인 그룹을 나열합니다.
# wbinfo -g AD\domain computers AD\domain admins AD\domain users ...
사용자의 SID를 표시합니다.
# wbinfo --name-to-sid="AD\administrator" S-1-5-21-1762709870-351891212-3141221786-500 SID_USER (1)
도메인 및 신뢰에 대한 정보를 표시합니다.
# wbinfo --trusted-domains --verbose Domain Name DNS Domain Trust Type Transitive In Out BUILTIN None Yes Yes Yes server None Yes Yes Yes DOMAIN1 domain1.example.com None Yes Yes Yes DOMAIN2 domain2.example.com External No Yes Yes
추가 리소스
-
wbinfo(1)
도움말 페이지