차례:
- 전제 조건
- 우분투에 삼바 설치
- 방화벽 구성
- 글로벌 Samba 옵션 구성
- Samba 사용자 및 디렉토리 구조 작성
- Samba 사용자 생성
- Samba 공유 구성
- Linux에서 Samba 공유에 연결
- smbclient 클라이언트 사용
- 삼바 공유하기
- GUI 사용
- 결론
Samba는 SMB / CIFS 네트워크 파일 공유 프로토콜을 무료로 오픈 소스로 다시 구현하여 최종 사용자가 파일, 프린터 및 기타 공유 리소스에 액세스 할 수 있도록합니다.
이 튜토리얼은 Ubuntu 18.04에 Samba를 설치하고 네트워크를 통해 다른 운영 체제에서 파일 공유를 제공하기 위해 독립형 서버로 구성하는 방법을 설명합니다.
다음 Samba 공유 및 사용자를 만듭니다.
사용자:
- sadmin- 모든 공유에 대한 읽기 및 쓰기 액세스 권한이있는 관리 사용자. josh- 개인 파일 공유가있는 일반 사용자입니다.
주식:
- 사용자 -이 공유는 모든 사용자가 읽기 / 쓰기 권한으로 액세스 할 수 있습니다. josh- 이 공유는 사용자 josh 및 sadmin 만 읽기 / 쓰기 권한으로 액세스 할 수 있습니다.
파일 공유는 네트워크의 모든 장치에서 액세스 할 수 있습니다. 이 학습서의 뒷부분에서 Linux, Windows 및 macOS 클라이언트에서 Samba 서버에 연결하는 방법에 대한 자세한 지시 사항도 제공합니다.
전제 조건
계속하기 전에 sudo 권한을 가진 사용자로 Ubuntu 18.04 시스템에 로그인했는지 확인하십시오.
우분투에 삼바 설치
삼바는 공식 우분투 리포지토리에서 구할 수 있습니다. Ubuntu 시스템에 설치하려면 다음 단계를 따르십시오.
-
apt 패키지 색인을 업데이트하여 시작하십시오.
sudo apt update
다음 명령으로 Samba 패키지를 설치하십시오.
sudo apt install samba
설치가 완료되면 Samba 서비스가 자동으로 시작됩니다. Samba 서버가 실행 중인지 확인하려면 다음을 입력하십시오.
sudo systemctl status smbd
Samba 서비스가 활성화되어 실행 중임을 나타내는 출력은 다음과 같습니다.
● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…
이제 Samba가 설치되었고 구성 할 준비가되었습니다.
방화벽 구성
UFW
를 사용하여 방화벽을 관리한다고 가정하면 'Samba'프로파일을 활성화하여 포트를 열 수 있습니다.
글로벌 Samba 옵션 구성
Samba 구성 파일을 변경하기 전에 나중에 참조 할 수 있도록 백업을 작성하십시오.
sudo cp /etc/samba/smb.conf{,.backup}
Samba 패키지와 함께 제공되는 기본 구성 파일은 독립형 Samba 서버용으로 구성되어 있습니다. 파일을 열고
server role
이
standalone server
설정되어 있는지 확인하십시오.
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…
기본적으로 Samba는 모든 인터페이스를 수신합니다. 내부 네트워크에서만 Samba 서버에 대한 액세스를 제한하려면 다음 두 줄의 주석을 해제하고 바인딩 할 인터페이스를 지정하십시오.
/etc/samba/smb.conf
… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…
완료되면
testparm
유틸리티를 실행하여 Samba 구성 파일에 오류가 있는지 확인하십시오. 구문 오류가 없으면
Loaded services file OK.
마지막으로 다음을 사용하여 Samba 서비스를 다시 시작하십시오.
sudo systemctl restart smbd
sudo systemctl restart nmbd
Samba 사용자 및 디렉토리 구조 작성
표준 홈 디렉토리 (
/home/user
)를 사용하는 대신 유지 보수 및 유연성을 향상시키기 위해 모든 Samba 디렉토리 및 데이터는
/samba
디렉토리에 있습니다.
/samba
디렉토리 유형을 작성하려면 다음을 수행하십시오.
sudo mkdir /samba
그룹 소유권을
sambashare
설정하십시오. 이 그룹은 Samba 설치 중에 만들어지며 나중에 모든 Samba 사용자를이 그룹에 추가합니다.
sudo chgrp sambashare /samba
Samba는 Linux 사용자 및 그룹 권한 시스템을 사용하지만 표준 Linux 인증과 별개의 자체 인증 메커니즘을 가지고 있습니다. 표준 Linux
useradd
도구를 사용하여 사용자를 작성한 다음
smbpasswd
유틸리티를 사용하여 사용자 비밀번호를 설정합니다.
소개에서 언급했듯이 개인 파일 공유에 액세스 할 수있는 일반 사용자와 Samba 서버의 모든 공유에 대한 읽기 및 쓰기 액세스 권한이있는 하나의 관리 계정을 만듭니다.
Samba 사용자 생성
josh
라는 새 사용자를 만들려면 다음 명령을 사용하십시오.
sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh
useradd
옵션의 의미는 다음과 같습니다.
- -M-사용자의 홈 디렉토리를 작성하지 마십시오. 이 디렉토리를 수동으로 만듭니다.
-d /samba/josh
사용자의 홈 디렉토리를/samba/josh
합니다.-s /usr/sbin/nologin
이 사용자에 대한 쉘 액세스를 비활성화합니다.-G sambashare
-sambashare
그룹에 사용자를 추가하십시오.
사용자의 홈 디렉토리를 작성하고 디렉토리 소유권을 사용자
josh
및 그룹
sambashare
.
sudo mkdir /samba/josh
sudo chown josh:sambashare /samba/josh
다음 명령은 setgid 비트를
/samba/josh
디렉토리에 추가
/samba/josh
디렉토리에서 새로 작성된 파일은 상위 디렉토리 그룹을 상속합니다. 이런 식으로, 어떤 사용자가 새 파일을 작성하든 파일은
sambashare
그룹 소유자를
sambashare
. 예를 들어, 디렉토리 권한을
2770
설정하지 않고
sadmin
사용자가 새 파일을 작성하면 사용자
josh
가이 파일을 읽거나 쓸 수 없습니다.
sudo chmod 2770 /samba/josh
사용자 비밀번호를 설정하여
josh
사용자 계정을 Samba 데이터베이스에 추가하십시오.
sudo smbpasswd -a josh
사용자 비밀번호를 입력하고 확인하라는 메시지가 표시됩니다.
New SMB password: Retype new SMB password: Added user josh.
암호가 Samba 계정 실행을 활성화하도록 설정되면:
sudo smbpasswd -e josh
Enabled user josh.
다른 사용자를 작성하려면 사용자
josh
작성시와 동일한 프로세스를 반복하십시오.
다음으로, 사용자 및 그룹
sadmin
작성하십시오. 이 그룹의 모든 구성원에게는 관리 권한이 있습니다. 나중에 다른 사용자에게 관리 권한을 부여하려면 해당 사용자를
sadmin
그룹에 추가하면됩니다.
다음을 입력하여 관리 사용자를 작성하십시오.
sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin
위의 명령은 또한
sadmin
그룹을 만들고
sadmin
및
sambashare
그룹 모두에 사용자를 추가합니다.
비밀번호를 설정하고 사용자를 활성화하십시오.
sudo smbpasswd -a sadmin
sudo smbpasswd -e sadmin
다음으로,
Users
공유 디렉토리를 작성하십시오.
sudo mkdir /samba/users
디렉토리 소유권을 사용자
sadmin
및 그룹
sambashare
로 설정하십시오.
sudo chown sadmin:sambashare /samba/users
이 디렉토리는 인증 된 모든 사용자가 액세스 할 수 있습니다. 다음
chmod
명령은
/samba/users
디렉토리의
sambashare
그룹 구성원에 대한 쓰기 / 읽기 액세스 권한을 제공합니다.
Samba 공유 구성
Samba 구성 파일을 열고 다음 섹션을 추가하십시오.
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin
옵션의 의미는 다음과 같습니다.
-
path
공유 경로.browseable
-공유가 사용 가능한 공유 목록에 나열되어야하는지 여부입니다. 다른 사용자를 설정하지 않으면 공유를 볼 수 없습니다.read only
-valid users
목록에 지정된valid users
가이 공유에 쓸 수 있는지 여부force create mode
-이 공유에서 새로 작성된 파일에 대한 권한을 설정합니다.force directory mode
-이 공유에서 새로 작성된 디렉토리에 대한 권한을 설정합니다.valid users
-공유에 액세스 할 수있는 사용자 및 그룹 목록입니다. 그룹 앞에는@
기호가 붙습니다.
사용 가능한 옵션에 대한 자세한 내용은 Samba 구성 파일 설명서 페이지를 참조하십시오.
완료되면 다음을 사용하여 Samba 서비스를 다시 시작하십시오.
sudo systemctl restart smbd
sudo systemctl restart nmbd
다음 섹션에서는 Linux, macOS 및 Windows 클라이언트에서 Samba 공유에 연결하는 방법을 보여줍니다.
Linux에서 Samba 공유에 연결
Linux 사용자는 파일 관리자를 사용하여 명령 행에서 samba 공유에 액세스하거나 Samba 공유를 마운트 할 수 있습니다.
smbclient 클라이언트 사용
smbclient
는 명령 줄에서 Samba에 액세스 할 수있는 도구입니다.
smbclient
패키지는 대부분의 Linux 배포판에 사전 설치되어 있지 않으므로 배포 패키지 관리자와 함께 설치해야합니다.
Ubuntu 및 Debian에
smbclient
를 설치하려면 다음을 실행하십시오.
sudo apt install smbclient
CentOS 및 Fedora에
smbclient
를 설치하려면 다음을 실행하십시오.
sudo yum install samba-client
Samba 공유에 액세스하는 구문은 다음과 같습니다.
mbclient //samba_hostname_or_server_ip/share_name -U username
예를 들어 IP 주소가
192.168.121.118
Samba 서버에서
josh
라는 공유에 사용자
josh
하려면 다음을 실행하십시오.
smbclient //192.168.121.118/josh -U josh
사용자 비밀번호를 입력하라는 메시지가 표시됩니다.
Enter WORKGROUP\josh's password:
비밀번호를 입력하면 Samba 명령 행 인터페이스에 로그인됩니다.
Try "help" to get a list of possible commands. smb: \>
삼바 공유하기
Linux에서 Samba 공유를 마운트하려면 먼저
cifs-utils
패키지를 설치해야합니다.
우분투와 데비안에서 다음을 실행하십시오.
sudo apt install cifs-utils
CentOS 및 Fedora에서 다음을 실행하십시오.
sudo yum install cifs-utils
다음으로 마운트 지점을 만듭니다.
sudo mkdir /mnt/smbmount
다음 명령을 사용하여 공유를 마운트하십시오.
sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount
예를 들어 IP 사용자 이름이
192.168.121.118
Samba 서버에
josh
라는 공유를
/mnt/smbmount
마운트 지점에 사용자
josh
로 마운트하려면 다음을 실행하십시오.
sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount
사용자 비밀번호를 입력하라는 메시지가 표시됩니다.
Password for josh@//192.168.121.118/josh: ********
GUI 사용
Gnome의 기본 파일 관리자 인 Files에는 Samba 공유에 액세스 할 수있는 내장 옵션이 있습니다.
- 파일을 열고 사이드 바에서 "기타 위치"를 클릭하십시오. "서버에 연결"에서
smb://samba_hostname_or_server_ip/sharename
형식으로 Samba 공유 주소를 입력하십시오. "연결"을 클릭하면 다음 화면이 나타납니다.
결론
이 튜토리얼에서는 Ubuntu 18.04에 Samba 서버를 설치하고 다른 유형의 공유 및 사용자를 작성하는 방법을 배웠습니다. 또한 Linux, macOS 및 Windows 장치에서 Samba 서버에 연결하는 방법도 보여주었습니다.
삼바 우분투우분투 18.04에서 nfs 서버를 설치하고 구성하는 방법

NFS (Network File System)는 네트워크를 통해 원격 디렉토리를 공유 할 수있는 분산 파일 시스템 프로토콜입니다. 이 튜토리얼에서는 Ubuntu 18.04에서 NFSv4 서버를 설정하는 방법을 설명합니다.
우분투 18.04에서 redis를 설치하고 구성하는 방법

Redis는 오픈 소스 인 메모리 데이터 구조 저장소입니다. 데이터베이스, 캐시 및 메시지 브로커로 사용할 수 있으며 문자열, 해시, 목록, 세트 등과 같은 다양한 데이터 구조를 지원합니다.이 튜토리얼에서는 Ubuntu 18.04 서버에서 Redis를 설치하고 구성하는 방법에 대해 설명합니다.
우분투 18.04에서 nagios를 설치하고 구성하는 방법

Nagios는 가장 널리 사용되는 오픈 소스 모니터링 시스템 중 하나입니다. Nagios는 전체 IT 인프라의 인벤토리를 유지하고 네트워크, 서버, 응용 프로그램, 서비스 및 프로세스가 작동하고 실행되도록합니다.