Requisits previs
Pas 1: creeu un grup sFTP dedicat i un usuari sFTP dedicat
Pas 2: modifiqueu la configuració del servei sshd
Pas 3: creeu un directori dedicat per a l'usuari només sFTP
Pas 4: creeu més usuaris només sFTP
En determinades ocasions, un administrador de sistemes pot haver de crear un compte d'usuari i restringir-ne l'accés per gestionar només els seus propis fitxers mitjançant sFTP, però no poder iniciar sessió al sistema mitjançant cap altre mitjà. La solució presentada en aquest article us mostrarà com fer aquesta tasca.
Requisits previs
Per obtenir una experiència pràctica, heu de desplegar una instància de servidor Vultr CentOS 7 x64. Tingueu en compte que les instruccions per a altres distribucions de Linux poden ser diferents.
A més, totes les ordres d'aquest article són adequades per a root; com a tal, necessitareu sudo privilegessi feu servir un usuari que no sigui root.
Pas 1: creeu un grup sFTP dedicat i un usuari sFTP dedicat
groupadd sftpusers
useradd -g sftpusers -s /sbin/nologin user1
passwd user1
Aquí, el grup sftpusersés un grup sFTP dedicat, l'usuari user1és un usuari sFTP dedicat al qual està prohibit iniciar sessió mitjançant SSH.
Pas 2: modifiqueu la configuració del servei sshd
Obriu el fitxer de configuració del servei sshd:
vi /etc/ssh/sshd_config
Troba la línia:
Subsystem sftp /usr/libexec/openssh/sftp-server
Substituïu-lo per:
Subsystem sftp internal-sftp
Afegiu les línies següents al final del fitxer. El nom del grup sftpusershauria de ser el mateix que el que heu especificat anteriorment.
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp
Desa i surt:
:wq
Reinicieu el servei sshd per aplicar els vostres canvis.
systemctl restart sshd.service
Pas 3: creeu un directori dedicat per a l'usuari només sFTP
Heu d'especificar un directori per a l'usuari només sFTP i assegurar-vos que aquest usuari només pot jugar en aquest directori:
chown -R root /home/user1
chmod -R 755 /home/user1
mkdir /home/user1/files
chown user1. /home/user1/files
Ara, l'usuari user1només pot carregar i/o descarregar fitxers al directori /home/user1/files, mai podrà tocar els fitxers d'altres usuaris.
Pas 4: creeu més usuaris només sFTP
Si necessiteu més usuaris només sFTP, podeu crear-los de la mateixa manera:
useradd -g sftpusers -s /sbin/nologin user2
passwd user2
chown -R root /home/user2
chmod -R 755 /home/user2
mkdir /home/user2/files
chown user2. /home/user2/files
Això és. Cada compte d'usuari creat d'aquesta manera serà denegat si l'utilitzeu per iniciar sessió al sistema. Aquests comptes d'usuari només es poden utilitzar en programes sFTP.