[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 &gt;&gt; /etc/apache2/envvars

– 서비스 재시작

root# /etc/init.d/apache2 restart

==============================================================

다시 한번 말씀드리지만 SAMBA/FTP/WEBDAV 사용을 위해 필요하다고 생각하는 최소한의 사항만 적었습니다.

수정해서 더 나은 서비스 환경을 구축하는데 참고가 될 수 있기를 바랍니다.

문제 있는 부분있으면 알려주세요.

Loading

댓글 남기기