Știu că la asta s-a răspuns înainte, dar toate răspunsurile nu au absolut nici un sens în cazul meu de utilizare, să fiu sincer. Găzduiesc o aplicație Laravel pe serverul meu Ubuntu și am creat un utilizator separat laravel
și mi-am clonat aplicația în; /var/www/my-app
.
În esență, vreau să activez SFTP pentru /var/www/my-app/storage/app
astfel încât să pot încărca fișiere de procesat în aplicația mea web. Securitatea nu este o problemă prea mare, deoarece această aplicație va fi găzduită doar pe un intranet fără acces extern.
Acesta este jurnalul în care intru /var/log/auth.log
când încercați să vă conectați prin SFTP.
31 mar 13:11:35 ubuntu sshd[40819]: pam_unix(sshd:session): sesiune deschisă pentru utilizatorul laravel de (uid=0)
31 mar 13:11:35 ubuntu systemd-logind[823]: Noua sesiune 42 a utilizatorului laravel.
31 mar 13:11:35 ubuntu sshd[40907]: fatal: proprietate proastă sau moduri pentru componenta directorului chroot „/var/www/my-app/”
31 mar 13:11:35 ubuntu sshd[40819]: pam_unix(sshd:session): sesiune închisă pentru utilizatorul laravel
31 mar 13:11:35 ubuntu systemd-logind[823]: Sesiunea 42 a fost deconectată. Se așteaptă ieșirea proceselor.
31 mar 13:11:35 ubuntu systemd-logind[823]: sesiunea 42 a fost eliminată.
Majoritatea răspunsurilor online pentru a rezolva acest lucru spun că trebuie să vă asigurați că root deține folderul. Cu toate acestea, preocuparea mea este utilizatorul meu laravel
ARE NEVOIE a deține /var/www/my-app
altfel, va primi erori de permisiune la scrierea fișierelor jurnal, la citirea fișierelor etc... Am petrecut deja suficient timp ocupându-mă de asta și am rezolvat-o și chiar nu vreau să mă duc din nou în acea groapă pentru că a fost incredibil de stresant.
Tot ce vreau să fac este să permit unui utilizator să se conecteze prin SFTP la folder /var/www/my-app/storage/app
și să poată încărca/elimina fișiere. După cum am spus, securitatea nu este o problemă prea mare din cauza intranetului, așa că nu mă deranjează doar să mă conectez cu laravel
utilizatorul însuși în loc să creeze unul nou, deoarece pur și simplu nu mai înțeleg permisiunile în Linux, deoarece pare aiurea. Pare destul de stupid că pentru a oferi utilizatorului laravel
Permisiune SFTP de a încărca/descărca, trebuie să încep să schimb cu rădăcină și să dau drept de proprietate rădăcină peste foldere aleatorii atunci când nici măcar nu vreau ca root să aibă proprietatea asupra lor, vreau laravel
sa aiba proprietatea asupra lor si atat.
Orice ajutor este apreciat. Mulțumiri.