CentOS Samba 확인, security (user, share)에 대해서 정리한다.
※ Samba 확인
1. 확인
- 접속한 사용자 목록 ( Server - Linux )
#>smbstatus
- 연결된 네트워크 확인 ( Client - Windows )
cmd>net use
- 해당 네트워크 기록 삭제 ( Client - Widows )
cmd>net use /delete \\<server_ip>
( smbstatus 명령어를 이용해서 접속한 사용자 목록과 시간을 확인 할 수 있다 )
( net use 명령어를 이용하면 연결 정보 목록이 출력 되고 해당 연결 정보를 지우려면
net use /delete \\<server_ip>를 이용하면 된다 )
- Samba Error 종류 ( 만약 동작이 되지 않는 경우 )
1. SELINUX - enforcing 되있는 경우 disabled로 변경
( /etc/sysconfig/selinux )
2. Firewalld - active 되있는 경우 inactive로 변경
( #>systemctl stop firewalld )
( #>systemctl disabled firewalld )
3. SAMBA - /etc/samba/smb.conf 안에 내용 중에서 오타가 있는 경우
4. Windows - Error ( 이 경우 윈도우 재부팅 )
- /etc/samba/smb.conf
1. security = user
( 사용자명과 패스워드 확인후 접속 )
[global]
hosts allow = <접근 허용 ip>
( 여러 ip의 경우 공백으로 구분하고 네트워크 대역대별로 접근 제어 가능 )
hosts deny = <접근 제한 ip>
* hosts allow와 hosts deny를 같이 설정해주면 hosts allow를 기준으로 실행 된다.
( hosts allow의 우선 순위가 더 높은걸 알 수 있다 )
[public]
browseable = yes | no ( 폴더 목록 출력 선택, 기본값은 yes )
valid users = <user_name>
( 해당 디렉터리에 해당 사용자만 접근 허용, 공백으로 구분 )
[homes] - 현재 접속중인 사용자 홈 디렉터리를 보여준다.
comment = Home Directories
browseable = no
* /etc/samba/smb.conf.example에 사용 설명서가 있다.
( hosts allow가 우선순위가 더 높고 위에 사진처럼 네트워크 대역대를 이용해서
여러 ip를 접근 제어 할 수 있다 )
( browseable = no 라고 속성 값을 주면 목록을 출력 하지 않는걸 아래 사진에서 확인 할 수 있다 )
( 원래 보이던 public 폴더가 보이지 않는걸 확인 할 수 있다 )
( [homes]는 현재 접속중인 사용자의 홈 디렉터리를 보여주는데 여기서 homes와 samba는 같은
내용을 가지고 있기 때문에 굳이 homes까지 보여줄 필요는 없다 )
( 그래서 browseable =no 속성을 이용해서 homes는 보이지 않게 해주고 현재 접속중인
samba 사용자의 홈 디렉터리만 보이도록 만들었다 )
2. security = share
( 사용자명과 패스워드 없이 접속 )
- /etc/samba/smb.conf.example에서 security 내용을 보면 share와 server는 deprecated라고 적혀있다
( 4.x 버전부터는 더이상 samba에서는 share와 server를 사용하지 않기 때문에
share를 사용하려면 추가 속성을 이용해 share처럼 동작하게 해야한다 )
[global]
security = user
map to guest = Bad Password ( Never, Bad Password )
[public]
guest ok = yes
( 적어주지 않아도 동작하기도 하지만 명확하게 적어주는게 좋다 )
* share나 server를 이용하고 싶다면 4.x버전 이전 버전을 따로 설치해 이용해줘야 한다.
( 위에 security = share라고 적은 이유는 share처럼 동작하기 때문에 그렇게 적은것이지
4.x 버전부터는 share는 없다고 보면 된다 )
( security = user로 주지만 map to guest라는 추가 옵션을 써줘야 share처럼 동작한다 )
( Client인 Windows를 통해 guest로 들어가서 samba.txt.txt라는 파일을 하나 만들고
Linux에서 확인해보면 해당 권한이 nobody라고 나온게 보이는데 Linux에 있는 사용자이고
guest라고 보면 된다 )
* nobody 사용자는 홈 디렉터리를 가지고 있지 않는다.
댓글