Creant usuari sense shell tancat dins d'un entorn chroot però que accedeix amb sFTP

Creant un usuari tancat dins d'un entorn chroot sense shell però que podrà accedir amb sFTP nomès dins del seu directori

La idea és que necessite que un usuari puga accedir a un directori del servidor on li deixaré uns fitxers que podrà modificar i descarregar, però no vull que puga navegar en altres directoris.

Aleshores, vull crear-li un entorn chroot i llevar-li l'accès a la shell per a que no puga fer SSH> i mirar coses de la màquina. Nomès vull que estiga en el seu directori, que tinga ahí dins tots els permissos però que no puga eixir.

Aleshores, comencem. Primer de tot, crearem un nou grup anomenat usuariscp editant manualment /etc/group. Haurem d'escriure el nom del grup:*:número_de_GID:, però el GID ha de tindre un valor únic.

Per a veure els números de GID utilitzats actualment, farem:

cut -d: -f3 /etc/group

Jo he afegit:

usuariscp:*:81:

Ara crearem un usuari amb adduser, com fem normalment a OpenBSD, i li direm que no tinga shell (nologin), i que el seu directori arrel d'usuari serà la ruta on tinc allotjada la web en la que anem a treballar que està en la ruta /usr/local/www/eclipsecastellon.net.

# doas adduser jordi
Username: jordi
Full name: jordi
Uid (Leave empty for default):
Login group [jordi]: usuariscp
Login group is usuariscp. Invite jordi into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]: nologin
Home directory [/home/jordi]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : jordi
Password : *****
Full Name : jordi
Uid : 1003
Class :
Groups : usuariscp
Home : /home/jordi
Home Mode :
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jordi) to the user database.
Add another user? (yes/no): no
Goodbye!

Ara, per a crear l'usuari dins del chroot on podrà accedir des de scp, editarem el fitxer de configuració /etc/ssh/sshd_config i afegirem al final del fitxer la següent configuració, on li diem la ruta dle chroot i que podrà accedir amb el protocol sftp:

Match User jordi
ChrootDirectory /home/jordi
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no

Reiniciarem el servir d'SSH:

$ doas service sshd restart
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 1265.
Performing sanity check on sshd configuration.
Starting sshd.
$

El propietari del directori que anem a ficar dins del chroot ha de ser obligatòriamente el root, aleshores farem:

doas chown root /home/jordi
doas chmod 755 /home/jordi

Ara l'usuari ja pot accedir, amb SCP, i crear o esborrar carpetes i fitxers, però no pdrà eixir de /home/jordi i no podrà veure cap altre document del sistema.

Usuari dins de chroot

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES