Mam VPS z systemem Ubuntu Server 14.04.
Oto wybór mojej struktury katalogów:
/
home/
my_user/
var/
www/
wp-content/
themes/
my-theme/
my-theme-child/
Uprawnienia do katalogów to 755, a pliki to 644.
Powiedzmy, że zatrudniam programistę, my_user
aby opracował dla mnie temat. Chcę, aby mogli robić, co chcą, do swojego folderu domowego. Chcę też, żeby umieli czytać, my-theme
czytać i pisać my-theme-child
, ale nic więcej. Nie powinni nawet widzieć struktury katalogów żadnej innej części serwera.
Przeczytałem trochę i myślę, że chroot
więzienie przydałoby się dobrze, aby utrzymać mojego programistę w katalogu domowym, ale nie mogę wymyślić, jak dać im dostęp my-theme
i my-theme-child
oprócz bieżącego dostępu.
Jak mogę to osiągnąć?
Odpowiedzi:
Może to być meh dla twoich potrzeb, ale robię coś podobnego, aby pozwolić znajomym wysyłać mi pliki. Zakładając, że więzienie SFTP jest skonfigurowane, możesz:
1) Utwórz katalog domowy tego chrootowanego myusera. Zrobiłem
mkdir /var/sftproot
2) Katalog domowy użytkownika powinien być własnością root:
chown root:root /var/ftproot
3)
mkdir /var/ftproot/dump
(w więzieniu chroot) i/var/dumpstuff
(poza więzieniem)4)
chown -R myuser:users /var/ftproot/dump
ichown -R myuser:users /var/dumpstuff
(jeśli chcesz, aby użytkownik był właścicielem)4)
mount --bind /var/ftproot/stuff/ /var/dumpstuff/
/ var / sftproot nie jest zapisywalny przez myuser, ale podkatalogi w nim są. Prawdopodobnie ogranicza to ich użycie sftp; brak dostępu do powłoki.
Nie mówisz, czy chcesz uzyskać dostęp do powłoki dla tego programisty, ale ponieważ jest to programista, może tak. W tym celu rozważ ssh i więzienie (dotyczy to Arch, ale prawdopodobnie coś podobnego jest możliwe na Ubuntu - nie przetestowałem tego).
źródło