[pogoplug] Debian 리눅스에서 네트워크 서비스 사용(링크, 펌)
언젠가 봤던 글인데.. 어디서봤는지 기억을 못해서..
여기저기 찾다가.. 드디어 찾았음.
처음 볼때.. 나름 개념이 잘 잡혀있고, 체계적으로 구성을 한것 같아서 참고해볼려고 했었음.. 나중에 못찾을까봐.. 링크 걸어놓음.. (나중에 여기에 간략하게 요약해놓을까 생각중)
출처 : 클리앙 DgCr님 글 (2013.3.25.)
(원본글 보러가기) https://www.clien.net/service/board/lecture/4120452
(혹시나 원글 사라질까봐.. )아래는 해당내용 스크랩 해옴. (240213)
pogoplug – Debian 리눅스에서 네트워크 서비스 사용
DgCr님 2013-03-25 02:14:01
포고플러그(E02) 에 데비안을 설치한 상태에서 각종 네트워크 서비스를 설정해 사용하는법에 대해 적습니다.
- SAMBA/FTP/WEBDAV/TRANSMISSION 을 같이 사용하기 위한 설정입니다.
- 서비스 사용을 위한 기본적인 사항만 적습니다.
- root# 행은 root 권한 쉘 작업, 작업시 주의하세요.
- SysAdminID$ 행은 SysAdminID 권한 쉘 작업
- SysAdminID / NetAdminID / UserID1, UserID2… 은 실제 사용할 계정명으로 수정해서 사용
- “// 어쩌구 저쩌구… ” 는 참고용 주석
- Version
- Linux version 2.6.32-5-kirkwood (Debian 2.6.32-48squeeze1)
- OpenSSH 5.5p1
- vsftpd 2.3.2
- samba 3.5.6
- transmission-daemon 2.03(1103)
- Apache 2.2.16 (Debian)
=[ 계정설정 ]=============================================
- SSH 쉘 로그인 가능한 하나의 서버 관리용 계정 – SysAdminID
- 각 사용자들의 저장 공간에 접근 가능하며 따로 사적인 보관장소를 가지는 메인계정 – NetAdminID
- 서비스를 이용하는 하나 이상의 사용자 계정 – UserID1, UserID2 …
- 관리용 계정을 제외한 모든 계정은 리눅스 쉘로 로그인이 불가
- 메인계정을 제외한 각 사용자들 간에는 서로의 자료에 접근 불가
-[ 기본 디렉토리 구조 ]———————————-
관리용 계정
/home/SysAdminID
메인계정이 사용할 디렉토리 구조
/home/SysAdminID/NetSharedDir /home/SysAdminID/NetSharedDir/Public /home/SysAdminID/NetSharedDir/Private
사용자 계정들이 사용할 디렉토리 구조
/home/SysAdminID/NetSharedDir/Public/UserID1 /home/SysAdminID/NetSharedDir/Public/UserID2 .....
—————————————————–
– SSH 접속용 계정 추가
root# adduser SysAdminID
– 디렉토리 설정
root# su SysAdminID SysAdminID$ mkdir ~/NetSharedDir SysAdminID$ mkdir ~/NetSharedDir/Public SysAdminID$ mkdir ~/NetSharedDir/Private SysAdminID$ chmod 757 ~/NetSharedDir/Private SysAdminID$ exit
– 공유 서비스 이용할 메인계정 추가
root# adduser --shell /usr/sbin/nologin --home /home/SysAdminID/NetSharedDir --no-create-home NetAdminID
– 사용자 그룹 추가
root# addgroup netusers
– 공유 서비스 각 사용자 계정 추가 및 디렉토리 권한 설정
root# adduser --shell /usr/sbin/nologin --home /home/SysAdminID/NetSharedDir/Public/UserID1 --no-create-home --ingroup netusers UserID1 root# mkdir /home/SysAdminID/NetSharedDir/Public/UserID1 root# chown UserID1:netusers /home/SysAdminID/NetSharedDir/Public/UserID1 root# chmod 707 /home/SysAdminID/NetSharedDir/Public/UserID1 ....
==============================================================
=[ 서비스 설정 ]==============================================
각 서비스 데몬을 설치하고 설정파일을 수정합니다.
기본 설정파일 내용중 수정해야 하는 부분만 적습니다.
기본 설정 파일에 존재하지 않는 항목은 추가로 입력해 줍니다.
–[ SSH ]—————————————————–
** /etc/ssh/sshd_config 수정 *********************************
Port 22 // 접속 포트 지정, 가능하면 다른 포트로 변경 PermitRootLogin no // root 로그인 불가, 보안을 위해 막음
**************************************************************
– 서비스 재시작
root# /etc/init.d/ssh restart
–[ FTP ]—————————————————–
– 서비스 설치
root# apt-get install vsftpd
** /etc/vsftpd.conf 수정 *************************************
.... anonymous_enable=NO // 익명 ftp 접속 제한 local_enable=YES // 로컬 계정 접속 허용 write_enable=YES // 쓰기 허용 chroot_local_user=YES // FTP에 접속한 사용자가 홈디렉토리를 벗어나지 못하도록 제한 local_umask=070 // 파일/디렉토리 생성시 권한 설정 file_open_mode=0606 // 업로드한 파일 권한지정 listen_port=21 // 접속포트 지정. 가능하면 변경 ....
**************************************************************
– /etc/shells 에 /usr/sbin/nologin 추가
root# echo /usr/sbin/nologin >> /etc/shells
– 서비스 재시작
root# /etc/init.d/vsftpd restart
–[ SAMBA ]—————————————————
– 서비스 설치
root# apt-get install samba
** /etc/samba/smb.conf 수정 **********************************
.... security = user // Samba 서버에 접속하기 위해 리눅스 계정을 이용 // [homes] 섹션의 항목 수정 read only = no // 쓰기 허용 create mask = 0606 // 파일 권한 설정 directory mask = 0707 // 디렉토리 권한 설정 invalid users = root SysAdminID // 접속 제한 유저 ....
**************************************************************
– SAMBA 사용자 계정 및 패스워드 지정
root# pdbedit -a NetAdminID root# pdbedit -a UserID1 root# pdbedit -a UserID2
– 서비스 재시작
root# /etc/init.d/samba restart
–[ TRANSMISSION DAEMON ]————————————-
– 서비스 설치
root# apt-get install transmission-daemon
– 서비스 중지, 설정파일 수정은 서비스를 중지한 상태에서 가능
root# /etc/init.d/transmission-daemon stop
** /etc/transmission-daemon/settings.json 수정 ***************
.... "download-dir" : "/home/SysAdminID/NetSharedDir/Private/TorrentDownload", // 다운 디렉토리 지정 "port-forwarding-enabled": true, // UPNP 사용 설정, 보통 공유기 사용할 경우 true "rpc-username" : "UserID", // 원격 제어용 사용자ID 지정 "rpc-password" : "UserPW", // 원격 제어용 사용자암호 지정 "rpc-port" : 9091, // 원격 제어 접속 포트 "rpc-whitelist" : "192.168.123.*", // 원격 제어 접속제한 IP or IP 대역설정, 192.168.123.* 와 같이 설정할경우 로컬네트워크의 192.168.123.0~255 를 사용하는 IP 에서만 접속가능 "rpc-whitelist-enabled" : true, // rpc-whitelist 목록 사용여부 지정 "speed-limit-down" : 5000, // 다운로드 제한 속도 KB/s "spped-limit-down-enabled": true, // 다운로드 속도 제한 사용 "speed-limit-up" : 5000, // 업로드 제한 속도 KB/s "speed-limit-up-enabled": true, // 업로드 속도 제한 사용 "umask" : 0, // 다운 파일 권한 변경. "watch-dir" : "/home/SysAdminID/NetSharedDir/Private/TorrentDownload/watch", // 토렌트 파일을 자동으로 읽어들일 디렉토리 지정 "watch-dir-enabled" : true // 토렌트 파일을 자동으로 읽어들이는 기능 사용여부 지정 ....
**************************************************************
!!!! transmission 에서 사용할 download-dir, watch-dir 디렉토리는 ftp 나 samba 에 NetAdminID 로 접속해서 Private 디렉토리(폴더)안에 만들어 주면됩니다. 대소문자에 유의
– 서비스 재시작
root# /etc/init.d/transmission-daemon start
–[ APACHE & WEBDAV ]——————————————
!!!! webdav 접속 주소 – http://도메인orIP/NetAdminID , http://도메인orIP/UserID1 ….
!!!! webdav 를 지원하는 클라이언트로 접속하세요.
– 서비스 설치
root# apt-get install apache2
– webdav 모듈 활성
root# a2enmod dav_fs
** /etc/apache2/sites-enabled/000-default 수정 *****************
<VirtualHost *:80> .... // 아래 항목 추가 Alias /NetAdminID /home/SysAdminID/NetSharedDir <Location /NetAdminID> DAV On AuthType Basic AuthName "Login WEBDAV ADMIN" AuthUserFile /home/SysAdminID/.htpasswd Require user NetAdminID </Location> Alias /UserID1 /home/SysAdminID/NetSharedDir/Public/UserID1 <Location /UserID1> DAV On AuthType Basic AuthName "Login WEBDAV USER" AuthUserFile /home/SysAdminID/.htpasswd Require user UserID1 </Location> Alias /UserID2 /home/SysAdminID/NetSharedDir/Public/UserID2 <Location /UserID2> DAV On AuthType Basic AuthName "Login WEBDAV USER" AuthUserFile /home/SysAdminID/.htpasswd Require user UserID2 </Location> </VirtualHost>
**************************************************************
– webdav 접속 아이디 및 패스워드 파일 생성
root# touch /home/SysAdminID/.htpasswd root# chown www-data:www-data /home/SysAdminID/.htpasswd root# chmod 400 /home/SysAdminID/.htpasswd root# htpasswd /home/SysAdminID/.htpasswd NetAdminID root# htpasswd /home/SysAdminID/.htpasswd UserID1 root# htpasswd /home/SysAdminID/.htpasswd UserID2
– /etc/apache2/envvars 에 umask 지정
root# echo umask 020 >> /etc/apache2/envvars
– 서비스 재시작
root# /etc/init.d/apache2 restart
==============================================================
다시 한번 말씀드리지만 SAMBA/FTP/WEBDAV 사용을 위해 필요하다고 생각하는 최소한의 사항만 적었습니다.
수정해서 더 나은 서비스 환경을 구축하는데 참고가 될 수 있기를 바랍니다.
문제 있는 부분있으면 알려주세요.