server

우분투 서버에 삼바(SAMBA) 설치 및 설정

· John Doe

1119 Views

1. 삼바설치

sudo apt-get -y update
sudo apt-get -y install samba

2. 기존에 사용하고 있는 리눅스 계정을 Samba에 추가하기 위해 아래 명령어를 입력

sudo smbpasswd -a <계정명>

계정은 리눅스에 존재하는 계정이면 Samba에 계속 추가할 수 있음

3. 원본을 보존하기 위해 Samba 설정 파일을 백업

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_temp

4. Samba 설정 파일을 수정

sudo nano /etc/samba/smb.conf

5. 공유할 디렉토리를 설정하기 위해서 설정 파일의 가장 하단에 아래와 같은 형태로 입력

[multimedia]
comment = multimedia directory
path = /data/Multimedia
valid users = id1,id2
writeable = yes
read only = no
create mode = 0777
directory mode = 0777

6. 파일 수정이 완료되면 저장하고 Samba 데몬을 재시작

sudo service smbd restart

위의 명령어로 삼바 데몬을 재 구동을 시켜주면 좀전에 설정한 내역들이 적용됨.

* 파이썬으로 삼바접속

1. pysmb 라이브러리 설치 (https://pypi.org/project/pysmb/)

2. 예제코드

from smb.SMBConnection import SMBConnection
 
server_ip = "10.110.10.10" # Take your server IP - I have put a fake IP :)
server_name = 'myserver' # The servername for the IP above
share_name = "GRUPOS" # This is the principal folder of your network that you want's to connect
network_username = 'myuser' # This is your network username
network_password = '***' # This is your network password
machine_name = 'myuser@mac-mc70006405' # Your machine name
conn = SMBConnection(network_username, network_password, machine_name, server_name, use_ntlm_v2 = True)
assert conn.connect(server_ip, 139)
files = conn.listPath(share_name, "/TECNOLOGIA_INFORMACAO/Dashboard Diretoria/")
for item in files:
   print(item.filename)

https://psychoria.tistory.com/678

리눅스 환경(Ubuntu)에서 개발을 편리하게! Samba 구축하기 - 코드도사 (codedosa.com)

How to get a file from a network windows directory and move to my Python Django project directory? - Stack Overflow

Ubuntu samba