Respuestas:
Asegúrese de que exista la siguiente línea
chroot_local_user=YES
Establezca el directorio HOME del usuario en /var/www/
, si desea cambiar para un usuario existente, puede usar:
usermod --home /var/www/ username
luego establezca el permiso requerido en /var/www/
user_sub_token
Si no desea cambiar el directorio de inicio del usuario, puede usar:
chroot_local_user=YES
local_root=/ftphome/$USER
user_sub_token=$USER
user_sub_token
:Genere automáticamente un directorio de inicio para cada usuario virtual, basado en una plantilla. Por ejemplo, si el directorio de inicio del usuario real especificado a través de guest_username es / ftphome / $ USER, y user_sub_token se establece en $ USER, cuando la prueba de usuario virtual inicie sesión, terminará (generalmente chroot () 'ed) en el directorio / ftphome / test. Esta opción también tiene efecto si local_root contiene user_sub_token.
Crear directorio y configurar permisos:
mkdir -p /ftphome/{test,user1,user2}
chmod 770 -R /ftphome
chown -R ftp. /ftphome
usermod -G ftp test
Una vez que reinicie vsftpd
y pruebe su configuración.
Ejemplo de salida exitosa:
[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.
$USER
para local_root
, como /home/$USER/ftp
(que hará que los usuarios pasen al ftp
subdirectorio de su directorio de inicio).
local_root
.
Puedes hacerlo:
usermod --home /var/www/ username
Usé la sugerencia de Rahul Patil anterior:
chroot_local_user=YES
local_root=/home/$USER/www-data
user_sub_token=$USER
Pero no podía entender por qué solo podía iniciar sesión con un usuario. Luego descubrí que no podíamos hacer un chroot a un directorio raíz (para este caso /home/$USER/www-data
) que tiene acceso de escritura. Entonces elimino el acceso de escritura con:
# chmod a-w /home/$USER/www-data
NOTA: cambie $USER
con su usuario.
Verifique las chroot
opciones vsftpd.conf
y cree un usuario separado para él cuyo homedir esté configurado /var/www
.
chroot
opcionesvsftpd.conf
y cree un usuario separado para él cuyo homedir esté configurado/var/www
.