본문 바로가기
[IT]

우분투로 공유폴더 서버 만들기

by DDBobD 2021. 4. 27.
728x90
반응형

 

서버 환경은 VMware16 Workstation Player(무료버전)과 ubuntu-20.04.2.0로 구축 하였다.


samba설치 및 구동

 

1. 공유폴더 디렉토리 만들기

$mkdir /home/<user name>/<folder name>

2. samba 설치

$sudo apt-get install samba

3. 그룹 생성

$sudo groupadd <group>

4. 그룹에 시스템 계정 추가

$sudo gpasswd -a <id> <group>

5. samba 계정 및 패스워드 생성

*추가하려는 계정은 시스템에 존재하는 계정이어야 한다.

$sudo smbpasswd -a <id>

6. samba 설정

옵션 설명
comment 공유 폴더에 대한 설명
path 공유 폴더 경로
read only 공유 폴더를 읽기 전용으로 설정
writable, write ok 공유 폴더를 쓰기 가능으로 설정
valid users 공유 폴더 접근 가능 유저
write list 공유 폴더에 접근 및 쓰기 원한 사용자 지정
public, guest ok 다른 사용자 이용 가능여부 설정
browsable 공유 폴더의 리스트를 보여줄 때 설정
printable 공유 폴더의 스풀 파일 지정
create mask, create mode 생성 권한
force group 접근 가능 그룹 지정
directory mask 공유 폴더 권한
$sudo nano /etc/samba/smb.conf

# ------마지막 줄에 아래 내용 추가-------
[<folder name>]  # 클라이언트에서 보여지는 폴더 이름
   comment = share forder  # 폴더에 대한 설명
   path = /home/<user name>/<folder name>  # 공유폴더 경로
   writable = yes  # 디렉토리 쓰기 가능
   guest ok = yes  # 다른 사용자 이용 가능
   create mask = 0664  # 생성 권한
   directory mask = 0775  # 디렉토리 권한
   browsable = yes  # 디렉토리 리스트 설정
   public = no  # 외부 공개 여부
   froce group = <group>
   valid users <id1> <id2>  # 디렉토리 접근 유저

5. 139, 445포트 개방

$sudo ufw allow 139
$sudo ufw allow 445

6. samba 재시작

$sudo srevice smbd restart
또는
$sudo service smbd stop
$sudo service smbd start

Windows, Mac에서 공유폴더 서버 접속

- Windows

1. win + r키를 눌러 실행창에 \\<공유폴더 ip> 입력 후 확인

2. samba서버에 등록 된 아이디 패스워드 입력

* 명령어로 공유폴더 접근/해지

# 접속
>net use: \\<ip>\\<공유 폴더 이름>$ /user:<id> <password>

# 해지
>net use /delete *

 

- Mac

1. Command + k를 눌러 서버에 연결 또는 상단 메뉴 [이동] - [서버에 연결] 선택

2. 입력창에 smb://<ip>입력 후 연결

3. 공유폴더 선택 후 확인 

* 경로는 /Volumes에 공유 폴더가 마운트 된다.

$cd /Volumes
$ls

* 원하는 경로에 터미널로 마운트 하는 방법은 마운트 할 경로에 폴더를 생성하고 아래 명령어 입력

# 접속
$mount -t smbfs //<id>:<password>@<ip>/<공유 폴더 이름> /<마운트 경로>

# 해지
$umount /<마운트 경로>

 

samba 명령어

- 접속 상태 확인

$sudo smbstatus

- 등록된 계정 확인

$sudo pdbedit -L -v

- 등록된 계정 삭제

$sudo smbpasswd -x <id>

- 공유폴더 모니터링

$watch -n 5 'sudo smbstatus; df -h; du -h'

- 특정 조건 파일 찾기

$find /<path> -mtime +<days> -name <filename> -print
# ex> $find /home/log -mtime +30 -name *.log -print

- 특정 조건 파일 정리

$find /<path> -mtime +<days> -name <filename> -delete
# ex> $find /home/log -mtime +30 -name *.log -delete
728x90
반응형