sftp 사용자에게 / var / www 디렉토리에 대한 액세스 권한 부여


12

사용자를 만들고 홈 디렉토리를 만들었습니다 /var/www/mysite/ftpdir

또한 sshd_configChrootDirectory를 사용하여이 사용자에 대한 사용자 일치 항목을 추가했습니다./var/www/mysite

이것을 다시 시작 ssh하기 위해 다시 시작 했습니다.

sftp로 로그인하면 사용자는 여전히 사용자의 이전 디렉토리로 이동합니다. /home/user

내가 무엇을 놓치고 있습니까?


어떻게 심볼릭 링크에 대한 /home/user대상으로?
ish

답변:


17

이것은 과정이다 :

  1. "/ var / www"에 파일을 편집하고 추가하는 가장 간단한 방법sudo usermod -aG www blub 과 같이 사용자를 그룹에 추가하십시오.

    아니면 그냥 사용 sudo adduser <username> www-data

  2. vsftpd 설치 sudo apt-get install vsftpd
  3. 원격 액세스 sudo nano /etc/vsftpd.conf및 파일 세트 내부에 vsftpd 구성

    chroot_local_user=YES
    

    이것을 주석 처리하십시오 :

    #chroot_list_enable=YES
    

    에 따라 문서 .

  4. nsftp를 다시 시작하십시오. sudo service vsftpd restart
  5. 사용자의 홈 디렉토리를 웹 디렉토리 (가 아닌 /home)로 구성하십시오.

    sudo usermod -d /var/www/mysite/ftpaccessdir <username>
    
  6. ssh chroot 구성

    sudo nano /etc/ssh/sshd_config
    

    끝에 다음을 추가하십시오.

    Subsystem  sftp  internal-sftp
    Match user <username>
        ChrootDirectory /var/www/site
        ForceCommand internal-sftp
    AllowTcpForwarding no
    

    그리고 파일에서 주석 처리 된 것을 추가로 확인하십시오 (즉, 방금 추가 한 것 전에)

    #Subsystem sftp /usr/lib/openssh/sftp-server
    
  7. SSH를 다시 ​​시작

    sudo service ssh restart
    
  8. 아파치 권한을 변경합니다 :

    chown root:root /var/www
    chown root:root /var/www/site
    chmod 755 /var/www
    

    여기 문서 에서처럼 .

  9. 디렉토리에 www-data 액세스 권한이 있는지 확인하십시오

    sudo chown -R www-data:www-data /var/www/site
    chmod 755 /var/www/site
    

2
나는이 지시를 따랐지만, 나는 <이름> ChrootDirectory의 / var / www /에서 사이트 내부 SFTP를 ForceCommand 서브 시스템 SFTP를 내부 SFTP를 일치 사용자는 더 AllowTcpForwarding이 라인을 추가 할 때 연결이 마지막에 거부 있어요
아타

1
나는 또한 Ubuntu 14.04와 동일한 문제를 가지고있다
torayeff

나도 같은 문제가 있습니다!
maxisme

4
9 단계에서 어떻게해야 10 단계에서 chown root:root /var/www/site다시 되돌려 야 sudo chown -R www-data:www-data /var/www/site합니까?
JohnnyQ

이것은 나를 위해 작동하지 않습니다
Linga

2

끝에서 연결 거부 오류 가 발생하면 "UsePAM yes" 뒤에 " Subsystem sftp internal-sftp" 가 있는지 확인하십시오 . 그렇지 않으면 ssh를 업데이트하고 다시 시작하면 제대로 작동합니다.


0

나는 간단한 방법을 사용했으며 아파치에서 나를 위해 일했다.

sudo useradd -d /var/www demo_user -g www-data
sudo passwd demo_user
sudo service ssh restart

그것은 여전히 ​​허가 문제 사용에 직면 chmod하고 chown필요에 따라 문제를 해결하는 경우 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.