Ubuntu Server에서 파일 공유 서비스를 설정하는 것은 현대 IT 환경에서 필수적인 작업으로, 장치, 운영 체제 및 사용자 간에 원활한 협업과 효율적인 데이터 교환을 가능하게 합니다. Linux, Windows 및 macOS 시스템이 혼합된 환경에서 작업하든 공유 리소스에 대한 중앙 집중식 액세스가 필요한 팀을 지원하든, Ubuntu Server는 파일 공유 요구 사항을 충족할 수 있는 강력한 도구를 제공합니다.
이 가이드에서는 Ubuntu Server에서 세 가지 인기 있는 파일 공유 서비스(FTP, Samba, NFS)를 설정하는 과정을 안내합니다. 이러한 서비스는 안전하고 안정적인 파일 공유를 촉진하고 다양한 플랫폼과 환경 간의 호환성을 보장하도록 설계되었습니다.
이전 문서:
01. Ubuntu Server 소개 – SysOSX: AI & Cloud
02. 첫 번째 Ubuntu Server 설정 방법: 초보자 가이드 – SysOSX: AI & Cloud
03. Ubuntu Server용 Linux 명령줄 마스터하기 – SysOSX: AI & Cloud
04. Ubuntu Server에서 사용자 및 권한 관리: 종합 가이드 – SysOSX: AI & Cloud
05. Ubuntu Server 네트워킹 기본 사항: 종합 가이드 – SysOSX: AI & Cloud
06. Ubuntu Server에 소프트웨어 설치 및 관리: 완전 가이드 – SysOSX: AI & Cloud
07.Ubuntu Server 패치 및 업데이트: 종합 가이드 – SysOSX: AI & Cloud
08. Ubuntu Server 보호: 강화 및 보호를 위한 실용적인 단계 – SysOSX: AI & Cloud
10. Ubuntu Server용 시스템 모니터링 도구: 종합 가이드 – SysOSX: AI & Cloud
11. Ubuntu 서버를 위한 중앙 집중식 로깅: 필독 가이드 – SysOSX: AI & Cloud
12. Ubuntu Server 감사 및 규정 준수: 모범 사례 – SysOSX: AI & Cloud
13. 호스팅 및 웹 애플리케이션을 위한 Ubuntu Server 설정: 최종 가이드 – SysOSX: AI & Cloud
14. 단일 Ubuntu Server에서 여러 웹사이트 호스팅: 유용한 팁 – SysOSX: AI & Cloud
15. Ubuntu Server에서 스토리지 및 디스크 관리: 간단 가이드 – SysOSX: AI & Cloud
파일 공유 서비스 소개
파일 공유 서비스를 사용하면 장치가 네트워크를 통해 데이터를 교환할 수 있습니다. Ubuntu Server는 파일 공유를 위한 여러 프로토콜을 지원합니다. 예를 들면 다음과 같습니다:
- FTP(파일 전송 프로토콜): 네트워크를 통해 장치 간에 파일을 전송하는 데 이상적입니다.
- Samba: SMB/CIFS 프로토콜을 사용하여 Linux와 Windows 시스템 간에 파일 공유를 가능하게 합니다.
- NFS(네트워크 파일 시스템): Linux 및 macOS를 포함한 Unix 기반 시스템 간에 파일을 공유하도록 설계되었습니다.
각 프로토콜에는 장점이 있으며 선택은 특정 사용 사례에 따라 달라집니다. 아래에서는 각 서비스의 설정 과정을 안내합니다.
FTP, Samba 및 NFS 사용 시나리오
각 파일 공유 프로토콜의 사용 사례를 이해하면 환경에 맞는 프로토콜을 선택하는 데 도움이 됩니다:
FTP 사용 사례
FTP는 네트워크를 통해 장치 간에 파일을 전송해야 하는 환경에 가장 적합합니다. 예를 들면 다음과 같습니다:
- 클라이언트가 웹 서버에 파일을 업로드하는 웹사이트 호스팅.
- 공유 디렉터리에 대한 지속적인 액세스가 필요 없는 외부 사용자와 파일 공유.
- 스크립트 또는 cron 작업을 사용한 파일 업로드/다운로드 자동화.
Samba 사용 사례
Samba는 Linux와 Windows 시스템이 혼합된 환경에 이상적입니다. 일반적인 시나리오는 다음과 같습니다:
- 기업 네트워크에서 Linux 서버와 Windows 데스크톱 간에 파일 공유.
- 서로 다른 운영 체제의 사용자 간 협업을 위한 공유 폴더 제공.
- Windows 사용자가 Linux 기반 파일 서버에 원활하게 액세스할 수 있도록 허용.
NFS 사용 사례
NFS는 Linux 및 macOS와 같은 Unix 기반 시스템에 맞게 조정되었습니다. 다음과 같은 시나리오에서 잘 작동합니다:
- 데이터 센터 또는 클라우드 환경에서 Linux 서버 간에 파일 공유.
- 개발 목적으로 macOS 시스템에 디렉터리 마운트.
- Linux에서 실행되는 애플리케이션을 위한 영구적이고 고성능인 공유 스토리지 제공.
FTP 설정
FTP는 장치 간에 파일을 전송하는 데 널리 사용되는 프로토콜입니다. Ubuntu에서 FTP 서버를 설정하려면:
1단계: vsftpd 설치
다음 패키지를 설치하려면 다음 명령을 실행합니다: vsftpd 패키지.
sudo apt update
sudo apt install vsftpd
2단계: vsftpd 구성
구성 파일을 편집합니다:
sudo nano /etc/vsftpd.conf
다음을 변경합니다:
- 익명 액세스 활성화(선택 사항):
anonymous_enable=NO - 로컬 사용자 허용:
local_enable=YES write_enable=YES - 사용자를 홈 디렉터리로 제한:
chroot_local_user=YES - 홈 디렉터리를 쓰기 불가능하게 만들기
sudo chmod a-w /home/yourusername
파일을 저장하고 닫은 다음 FTP 서비스를 다시 시작합니다:
sudo systemctl restart vsftpd
3단계: FTP 서버 테스트
FTP 클라이언트(예: FileZilla) 또는 명령줄을 사용하여 서버에 연결합니다:
ftp <server-ip>
출력:
PS C:\> ftp 10.0.0.13
Connected to 10.0.0.13.
220 (vsFTPd 3.0.5)
200 Always in UTF8 mode.
User (10.0.0.13:(none)): uadmin
331 Please specify the password.
Password:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
uploads
226 Directory send OK.
ftp: 12 bytes received in 0.00Seconds 12000.00Kbytes/sec.
ftp> put test.txt
200 PORT command successful. Consider using PASV.
553 Could not create file.
ftp> cd uploads
250 Directory successfully changed.
ftp> pwd
257 "/uploads" is the current directory
ftp> put test.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
test.txt
226 Directory send OK.
ftp: 13 bytes received in 0.00Seconds 13000.00Kbytes/sec.
ftp>

Windows 및 Linux용 Samba 구성
Samba는 Linux와 Windows 시스템 간에 파일을 공유하는 데 이상적입니다. Samba를 설정하려면 다음 단계를 따르세요:
1단계: Samba 설치
다음 명령을 실행합니다:
sudo apt update
sudo apt install samba
2단계: Samba 구성
Samba 구성 파일을 편집합니다:
sudo nano /etc/samba/smb.conf
디렉터리를 공유하려면 다음 섹션을 추가합니다:
[SharedFolder]
path = /path/to/shared/folder
read only = no
browsable = yes
guest ok = yes
force user = nobody
3단계: 권한 설정
공유 폴더에 적절한 권한이 있는지 확인합니다:
sudo chmod -R 0777 /path/to/shared/folder
sudo chown -R nobody:nogroup /path/to/shared/folder
Samba 서비스를 다시 시작합니다:
sudo systemctl restart smbd
4단계: Samba 공유 액세스
- Windows: 파일 탐색기를 열고 서버 IP 주소를 입력합니다(예:
\\<server-ip>). - Linux: 다음을 사용합니다:
smbclient명령을 사용하거나 다음을 사용하여 공유를 마운트합니다:cifs.

다음을 사용하여 SMB 사용자 이름과 암호를 설정합니다:
sudo smbpasswd -a username
Samba 서버를 설정하고 SMB 사용자 이름과 암호를 추가한 뒤 /www/var를 공유한 다음 Windows 머신에서 액세스해 보세요.

Linux 및 macOS용 NFS 설정
NFS는 Unix 기반 시스템 간에 파일을 공유하기 위한 강력한 프로토콜입니다. NFS 설정 방법은 다음과 같습니다:
1단계: NFS 서버 설치
다음 명령을 실행합니다:
sudo apt update
sudo apt install nfs-kernel-server
2단계: NFS 내보내기 구성
NFS 내보내기 파일을 편집합니다:
sudo nano /etc/exports
공유할 디렉터리를 추가하고 클라이언트 IP 또는 네트워크를 지정합니다:
/path/to/shared/folder <client-ip>(rw,sync,no_subtree_check)
그런 다음 다음을 사용하여 내보내기를 확인합니다:
exportfs -v

3단계: 변경 사항 적용
NFS 서비스를 다시 시작합니다:
sudo systemctl restart nfs-kernel-server
4단계: NFS 공유 마운트
클라이언트 머신에서 다음 명령을 사용하여 NFS 공유를 마운트합니다:
sudo mount <server-ip>:/path/to/shared/folder /mount/point
클라이언트 측에서 명령줄을 사용하여 NFS 클라이언트를 설치합니다:
sudo apt install nfs-common
#Check if the NFS server is listening on the required ports:
sudo showmount -e nfs-server-ip

일반적인 문제 해결
파일 공유 서비스는 잘못된 구성이나 네트워크 설정으로 인해 문제가 발생할 수 있습니다. 일반적인 문제와 해결 방법은 다음과 같습니다:
방화벽 구성
필요한 포트가 열려 있는지 확인합니다:
- FTP: 포트 21
- Samba: 포트 137-139 및 445
- NFS: 포트 2049 및 기타(자세한 내용은 다음 확인:
/etc/services)
다음 포트를 허용하려면 다음을 사용합니다: ufw.
sudo ufw allow <port-number>
권한 오류
공유 폴더의 디렉터리 권한과 소유권을 확인합니다.
연결 문제
네트워크 설정을 확인하고 서버와 클라이언트가 동일한 서브넷에 있는지 확인합니다.
추가 리소스
자세한 내용은 각 서비스의 공식 설명서를 참조하세요:
다음 장: 고급 주제
다음 장에서는 다음에 대해 자세히 살펴보겠습니다: 고급 주제。서버 관리 기술을 더욱 향상시키기 위한 내용입니다. 첫 번째 주제는 다음에 중점을 둡니다: Ubuntu에서 안전한 데이터베이스 서버 설정。여기서는 Ubuntu 서버에 MySQL이나 MariaDB와 같은 데이터베이스를 설치하고 구성하는 방법을 배우게 됩니다. 기대해 주세요!
3 thoughts on “16. Setting Up File Sharing Services on Ubuntu Server: a complete guide”