vsftpd를 사용하여 FTP 액세스를 /var/www로만 제한

vsftpd를 사용하여 FTP 액세스를 /var/www로만 제한

저는 Linux(rasbian)에서 FTP 서버로 vsftpd를 실행하고 있으며 루트로 시스템에 로그인했습니다.

여전히 /var/www만 잠그고 싶습니다. 이를 수행하려면 vsftpd conf를 어떻게 구성해야 합니까?

답변1

방법 1: 사용자 홈 디렉터리 변경

다음 줄이 있는지 확인하십시오.

chroot_local_user=YES

사용자 홈 디렉터리를 로 설정합니다 /var/www/. 기존 사용자를 변경하려면 다음을 사용할 수 있습니다.

usermod --home /var/www/ username

그런 다음 필요한 권한을 설정하십시오./var/www/

방법 2: 사용user_sub_token

사용자의 홈 디렉토리를 변경하지 않으려면 다음을 사용할 수 있습니다.

chroot_local_user=YES
local_root=/ftphome/$USER
user_sub_token=$USER

에 대한 user_sub_token:

템플릿을 기반으로 각 가상 사용자에 대한 홈 디렉터리를 자동으로 생성합니다. 예를 들어, guest_username으로 지정된 실제 사용자의 홈 디렉터리가 /ftphome/$USER이고 user_sub_token이 $USER로 설정된 경우 가상 사용자 테스트 로그인 시 그는 결국 / 디렉터리에서 chroot()됩니다. ftphome/테스트. 이 옵션은 local_root에 user_sub_token이 포함된 경우에도 적용됩니다.

디렉터리를 만들고 권한을 설정합니다.

mkdir -p /ftphome/{test,user1,user2}
chmod 770 -R /ftphome
chown -R ftp. /ftphome
usermod -G ftp test

다시 시작 vsftpd하고 설정을 테스트하세요.

성공적인 출력의 예:

[root@mail tmp]# ftp localhost
Connected to mail.linuxian.local.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mput vhosts
mput vhosts? 
227 Entering Passive Mode (127,0,0,1,146,41)
150 Ok to send data.
226 File receive OK.
24 bytes sent in 3.3e-05 seconds (7.1e+02 Kbytes/s)
ftp> ls -rlt
227 Entering Passive Mode (127,0,0,1,97,90)
150 Here comes the directory listing.
-rw-r--r--    1 787      787            24 Oct 11 19:57 vhosts
226 Directory send OK.
ftp> 221 Goodbye.

답변2

다음을 수행할 수 있습니다.

usermod --home /var/www/ username

답변3

나는 Rahul Patil의 제안을 사용했습니다.

chroot_local_user=YES
local_root=/home/$USER/www-data
user_sub_token=$USER

그런데 왜 한 명의 사용자로만 로그인할 수 있는지 이해가 되지 않습니다. 그런 다음 쓰기 권한이 있는 루트 디렉터리로 루트를 이동할 수 없다는 사실을 발견했습니다 /home/$USER/www-data(이 경우). 그래서 다음 명령을 사용하여 쓰기 액세스를 제거했습니다.

# chmod a-w /home/$USER/www-data

노트:$USER사용자와 함께 변화하세요.

답변4

chroot옵션을 확인 vsftpd.conf하고 homedir이 로 설정된 별도의 사용자를 만듭니다 /var/www.

관련 정보