Introducció
Alguns escenaris requereixen que creeu usuaris amb accés de lectura i escriptura a un sol directori només mitjançant FTP. Aquest escrit us mostrarà com crear aquests usuaris. No podran navegar fora del seu directori d'inici, iniciar sessió al servidor mitjançant SSH o executar ordres de l'intèrpret d'ordres.
Configura el grup i el servei SFTP
Crea un grup sftpusers.
sudo groupadd sftpusers
Configuració de comentaris per desactivar l'accés SFTP des del fitxer de configuració sshd.
sudo sed -i "s/Subsystem sftp \/usr\/lib\/openssh\/sftp-server/#Subsystem sftp \/usr\/lib\/openssh\/sftp-server/" /etc/ssh/sshd_config
Obriu el fitxer de configuració sshd sudo nano /etc/ssh/sshd_config, afegiu-lo a continuació i sortiu (Ctrl+X -> Y -> Premeu Enter) .
#enable sftp
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h #set the home directory
ForceCommand internal-sftp
X11Forwarding no
AllowTCPForwarding no
PasswordAuthentication yes
Reinicieu ssh.
sudo service ssh restart
Creació d'Usuaris
Repetiu el procés següent per a cada usuari només SFTP que vulgueu afegir al servidor.
# create user
sudo adduser sftpuser1
# prevent ssh login & assign SFTP group
sudo usermod -g sftpusers sftpuser1
sudo usermod -s /bin/nologin sftpuser1
# chroot user (so they only see their directory after login)
sudo chown root:sftpuser1 /home/sftpuser1
sudo chmod 755 /home/sftpuser1
sudo mkdir /home/sftpuser1/uploads
sudo chown sftpuser1:sftpuser1 /home/sftpuser1/uploads
sudo chmod 755 /home/sftpuser1/uploads
Podeu fer que la creació d'usuaris sigui més ràpida embolicant a dalt en una funció i afegint-la al vostre perfil de bash (1) executant sudo nano ~/.bash_profile; (2) afegint-hi el fragment de sota; (3) corrent source ~/.bash_profile.
Després d'això, crear un nou usuari SFTP és tan fàcil com executar l'ordre create_sftp_userjuntament amb un nom d'usuari com a paràmetre.
# usage: create_sftp_user <username>
function create_sftp_user() {
# create user
sudo adduser $1
# prevent ssh login & assign SFTP group
sudo usermod -g sftpusers $1
sudo usermod -s /bin/nologin $1
# chroot user (so they only see their directory after login)
sudo chown root:$1 /home/$1
sudo chmod 755 /home/$1
sudo mkdir /home/$1/uploads
sudo chown $1:$1 /home/$1/uploads
sudo chmod 755 /home/$1/uploads
}
Proveu per assegurar-vos que l'usuari que heu creat es pot connectar al servidor mitjançant SFTP ( Nota : connecteu-vos mitjançant SFTP i no FTP) .
Escrit per Lami Adabonyan