Bevezetés
Bizonyos forgatókönyvek megkövetelik, hogy csak FTP-n keresztül egyetlen könyvtárhoz olvasási és írási hozzáféréssel rendelkező felhasználókat hozzanak létre. Ez az írás megmutatja, hogyan hozhat létre ilyen felhasználókat. Nem tudnak navigálni a saját könyvtárukból, SSH-n keresztül bejelentkezni a kiszolgálóra, és nem hajthatnak végre shell-parancsokat.
Állítsa be az SFTP csoportot és szolgáltatást
Hozzon létre sftpusers csoportot.
sudo groupadd sftpusers
Írja megjegyzésbe az SFTP-hozzáférést letiltó beállítást az sshd konfigurációs fájlból.
sudo sed -i "s/Subsystem sftp \/usr\/lib\/openssh\/sftp-server/#Subsystem sftp \/usr\/lib\/openssh\/sftp-server/" /etc/ssh/sshd_config
Nyissa meg az sshd konfigurációs fájlt sudo nano /etc/ssh/sshd_config, adja hozzá az alábbi részletet, és lépjen ki (Ctrl+X -> Y -> 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
Indítsa újra az ssh-t.
sudo service ssh restart
Felhasználók létrehozása
Ismételje meg az alábbi folyamatot minden csak SFTP-t használó felhasználónál, akit hozzá szeretne adni a szerverhez.
# 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
A felhasználók létrehozását felgyorsíthatja, ha a fentieket egy függvénybe csomagolja, és hozzáadja a bashprofilhoz az (1) futtatással sudo nano ~/.bash_profile; (2) az alábbi részlet hozzáadása hozzá; (3) futás source ~/.bash_profile.
Ezt követően, ami egy új SFTP felhasználó lesz olyan egyszerű, mint a futás parancs create_sftp_usermellett egy felhasználónevet , mint a paraméter.
# 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
}
Tesztelje meg, hogy az Ön által létrehozott felhasználó tud-e csatlakozni a szerverhez SFTP-n keresztül ( Megjegyzés : Csatlakozzon SFTP-vel , nem pedig FTP-vel) .
Írta: Lami Adabonyan