Deci, încerc să fac următoarele. Am un server Ubuntu DigitalOcean cu chei de conectare SSH în mod implicit.
Trebuie să creez un alt utilizator care ar trebui să aibă acces doar la /var/www/mysite.com/public/b
pliant. Procesul meu a fost următorul:
1. Crearea unui utilizator nou utilizând următoarea comandă:
Adăugați utilizator
--home /var/www/mysite.com/public/b
--shell /bin/bash
--nu-creați-acasă
--ingroup www-data
--ingroup ssh
testuser
2. Apoi, deoarece nu eram sigur cum să gestionez acest lucru cu o pereche de chei, am activat autentificarea prin parolă prin SSH în fișierul sshd_config astfel:
Autentificare prin parolă da
3. După ce am făcut acest lucru, am putut deschide site-ul atât prin SSH, cât și prin SFTP cu combinația de utilizator și parolă, dar utilizatorul a avut acces la toate.
4. Am încercat să folosesc acest lucru în interiorul sshd_config pentru a limita utilizatorul la folderul său principal:
Subsistem sftp intern-sftp
......
Potriviți utilizatorul text
ChrootDirectory /var/www/mysite.com/public/b
X11Redirecționare nr
AllowTcpForwarding nr
ForceCommand intern-sftp
5. După ce am adăugat acea parte, nu m-am mai putut autentifica prin SSH.
Am verificat /var/log/auth.log
fișier și eroarea legată de acesta a fost:
fatal: proprietate proastă sau moduri pentru componenta directorului chroot „/var/www/mysite.com/”
Proprietatea site-ului meu este www-data:root
prin toate folderele.
Permisiunile sunt astfel:
]
O altă problemă pe care o aveam a fost că, chiar și atunci când am reușit să mă conectez, nu am putut încărca nimic, chiar și după ce am adăugat utilizatorul la grupul rădăcină, nimic nu s-a schimbat.Am încercat să dețin folderul cu www-data:www-data, dar nu a fost nicio diferență.
Există o modalitate ușoară de a face asta?