오늘 우리가 구현하고 싶은 환경은 회사에 재무, 기술, 리더십의 세 부서가 있는 경우 caiwu, 네트워크 및 lingdao의 세 부서에 대해 세 개의 사용자 그룹을 구축하는 것입니다.
세 부서에는 각각 2명의 사용자가 있습니다. 우리가 만든 사용자는 caiwu01,caiwu02,network01,network02,lingdao01,lingdao02입니다.
그런 다음 회사의 특정 상황에 따라 해당 디렉토리 및 액세스 권한을 설정하겠습니다. 다음 예를 통해 일상 업무에서 Samba 파일 서버를 설정하기 위해 Samba 보안 권한을 유연하게 적용할 수 있기를 바랍니다.
1. 첫째, 서버는 사용자 인증을 채택합니다. 각 사용자는 자신의 호스트 디렉토리에 액세스할 수 있으며, 이 사용자만이 호스트 디렉토리에 액세스하고 전체 권한을 가질 수 있으며 다른 사용자는 호스트 디렉토리를 볼 수 없습니다.
2. caiwu 폴더를 만듭니다. caiwu 그룹과 lingdao 그룹의 사람들이 볼 수 있기를 바랍니다. Network02도 액세스할 수 있지만 caiwu01만 쓰기 권한을 갖습니다.
3. lindao에 디렉터리를 만듭니다. 리더십 그룹에 속한 사람들만 액세스하고 읽고 쓸 수 있습니다. Network02도 액세스할 수 있지만 외부인은 해당 디렉터리를 볼 수 없습니다.
4. 게스트 사용자를 포함하여 모든 사람이 읽고 쓸 수 있지만 누구도 다른 사람의 파일을 삭제할 수 없는 파일 교환 디렉터리 교환을 만듭니다.
5. 공용 읽기 전용 폴더 public을 생성하면 모든 사람이 이 폴더의 내용만 읽을 수 있습니다.
자, 먼저 사전 작업을 해보자.
3개의 그룹을 만듭니다.
#groupadd 카이우
#group네트워크 추가
#groupaddlingdao
사용자를 추가하고 관련 그룹에 가입하세요.
#useradd caiwu01 -g caiwu
#useradd caiwu02 -g caiwu
#useradd network01 -g 네트워크
#useradd network02 -g 네트워크
#useradd lingdao01 -g lingdao
#useradd lingdao02 -g lingdao
그런 다음 smbpasswd -a caiwu01 명령을 사용하여 6개의 계정을 각각 Samba 사용자에 추가합니다.
#mkdir /home/samba
#mkdir /home/samba/caiwu
#mkdir /home/samba/lingdao
#mkdir /home/samba/exchange
#mkdir /home/samba/public
문제를 피하기 위해 위의 모든 폴더에 대한 권한을 777로 설정할 수 있습니다. 우리는 Samba의 유연한 권한 관리를 사용하여 위의 5가지 요구 사항을 설정합니다.
다음은 내 smb.conf의 구성 파일입니다.
[글로벌]
작업그룹=bmit
#mynetworkworkinggroup
서버 문자열 = Frank의 Samba 파일 서버
#내 서버 이름 설명
보안=사용자
#사용자 인증 메커니즘 사용
비밀번호 암호화 = 예
smb 비밀번호 파일 = /etc/samba/smbpasswd
#win95와 winnt에서는 암호화된 비밀번호 메커니즘을 사용합니다.
다른 사람들은 기본적으로 기본 설정을 따를 수 있습니다.
[컷 페이지]
[집]
코멘트 = 홈 디렉토리
탐색 가능=아니요
쓰기 가능 = 예
유효한 사용자 = %S
생성 모드 = 0664
디렉토리 모드 = 0775
#homes 세그먼트는 첫 번째 조건을 충족합니다.
[카이우]
댓글=차이우
경로 = /home/samba/caiwu
공개=아니요
유효한 사용자 = @caiwu,@lingdao,network02
쓰기 목록 = caiwu01
인쇄 가능=아니요
#caiwu 단락은 두 번째 요구 사항을 충족합니다.
[링다오]
코멘트 = 링다오
경로 = /home/samba/lingdao
공개=아니요
탐색 가능=아니요
유효한 사용자 = @lingdao,network02
인쇄 가능=아니요
#lingdao 단락은 세 번째 요구 사항을 충족할 수 있습니다.
[교환]
comment = 파일 디렉터리 교환
경로 = /home/samba/exchange
공개=예
쓰기 가능 = 예
#exchange 세그먼트는 기본적으로 네 번째 요구 사항을 충족할 수 있지만 모든 사람이 다른 사람의 파일을 삭제할 수 없다는 조건을 충족할 수 없습니다. 마스크가 설정되어 있어도 실제로 이 조건은 Unix에서 고정 항목만 설정하면 쓸모가 없습니다. 조금.
chmod -R 1777 /홈/삼바/교환
여기서 권한은 1777입니다. 유사한 시스템 디렉터리인 /tmp도 동일한 권한을 가집니다. 이 권한은 모든 사람이 자유롭게 파일을 쓸 수 있지만 다른 사람의 파일을 삭제할 수 없다는 요구 사항을 실현할 수 있습니다.
[컷 페이지]
[공공의]
코멘트 = 읽기 전용 공개
경로 = /home/samba/public
공개=예
읽기 전용=예
#이 공개 세그먼트는 다섯 번째 요구 사항을 충족할 수 있습니다.
지금까지 우리의 설정은 공유 파일 요구 사항을 충족할 수 있었습니다. 서비스를 다시 시작하는 것을 잊지 마세요.
#/etc/rc.d/init.d/smb 다시 시작
winodws가 없으면 먼저 samba의 cilent 측 명령을 사용하여 테스트할 수도 있습니다.
나는 명령을 사용하는 방법에 대한 몇 가지 예만 제시할 것입니다. 명령에 대해 더 알고 싶다면 시도해 볼 수 있습니다.
smbclient -L 서버 IP -N
게스트 계정은 서버의 Samba 공유 상태를 쿼리합니다. 게스트 계정에서 lingdao 디렉터리를 볼 수 있는지 여부를 확인할 수 있습니다. 물론 특정 사용자의 이름으로도 볼 수 있습니다.
smbclient -L 서버 IP -U caiwu01
시스템에서 비밀번호를 묻는 메시지가 나타나면 smb 비밀번호만 입력하세요.
smbclient //서버 IP/caiwu -U caiwu01
#caiwu01 사용자로 caiwu 디렉터리에 로그인합니다.
smbmount //서버 IP/caiwu /mnt/caiwu -o 사용자 이름=caiwu01
#서버의 금융 디렉터리를 로컬 /mnt/caiwu 디렉터리에 매핑합니다.
[컷 페이지][집]
코멘트 = 홈 디렉토리
탐색 가능=아니요
쓰기 가능 = 예
유효한 사용자 = %S
생성 모드 = 0664
디렉토리 모드 = 0775
#homes 세그먼트는 첫 번째 조건을 충족합니다.
[카이우]
댓글=차이우
경로 = /home/samba/caiwu
공개=아니요
유효한 사용자 = @caiwu,@lingdao,network02
쓰기 목록 = caiwu01
인쇄 가능=아니요
#caiwu 단락은 두 번째 요구 사항을 충족합니다.
[링다오]
코멘트 = 링다오
경로 = /home/samba/lingdao
공개=아니요
탐색 가능=아니요
유효한 사용자 = @lingdao,network02
인쇄 가능=아니요
#lingdao 단락은 세 번째 요구 사항을 충족할 수 있습니다.
[교환]
comment = 파일 디렉터리 교환
경로 = /home/samba/exchange
공개=예
쓰기 가능 = 예
#exchange 세그먼트는 기본적으로 네 번째 요구 사항을 충족할 수 있지만 모든 사람이 다른 사람의 파일을 삭제할 수 없다는 조건을 충족할 수 없습니다. 마스크가 설정되어 있어도 실제로 이 조건은 Unix에서 고정 항목만 설정하면 쓸모가 없습니다. 조금.
chmod -R 1777 /홈/삼바/교환
여기서 권한은 1777입니다. 유사한 시스템 디렉터리인 /tmp도 동일한 권한을 가집니다. 이 권한은 모든 사람이 자유롭게 파일을 쓸 수 있지만 다른 사람의 파일을 삭제할 수 없다는 요구 사항을 실현할 수 있습니다.