Jak zrobić żeby dany użytkownik miał dostęp do jednego folderu w /home/ i ssh tylko z tym folderem.
Jak zrobić żeby dany użytkownik miał dostęp do jednego folderu w /home/ i ssh tylko z tym folderem.
Zainteresuj się poleceniem chroot i uprawnieniami dostępu. https://pl.wikipedia.org/wiki/Chroot https://pl.wikipedia.org/wiki/Chmod
czyli co mam zrobić bo to mi nic nie mówi chmod mam ale dany użytkownik może przeglądać inne foldery.
Musisz go zamknąć przez chroot w jego katalogu domowym
a jakimi komendami? root@box:~# chroot /mnt/gentoo/ /bin/bash box / #
ale mi chodzi żeby użytkownik nie miał dostępu do np plików roota lub plików stron www.
żeby Tylko właściciel ma prawo do odczytu i zapisu i wykonania. jak zrobić.
3 sekundy w google, pierwszy wynik https://www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny
żeby Tylko właściciel ma prawo do odczytu i zapisu i wykonania. taki chmod lub coś jak zrobić komendy.
AidisProPlayer:
taki chmod lub coś jak zrobić komendy.
Masz to opisane w artykule na wikipedii który wrzuciłem w pierwszym poście.
Mi się nie chciało bawić w chrooty, więc zrobiłem tak: chown -R USER:USER /home/user chmod -R 700 /home/user I wtedy USER2 nie może wejść w /home/user, ale np. taki /opt/ zobaczy. Chroot lepszym rozwiązaniem.
a jak nadać to wszystkim plikom roota na vps. a i jak zrobić żeby inny użytkownik widział tylko folder w /home/jegofolder
AidisProPlayer:
a jak nadać to wszystkim plikom roota na vps
Jak będziesz się bawił chmodem z plikami systemu to zobaczysz jak łatwo można rozwalić system. To nie jest rozwiązanie.
Timo:
Mi się nie chciało bawić w chrooty, więc zrobiłem tak:
chown -R USER:USER /home/user
chmod -R 700 /home/user
I wtedy USER2 nie może wejść w /home/user, ale np. taki /opt/ zobaczy. Wtedy USER2 nadal ma uprawnienia do zaglądania wszędzie, poza tym jednym katalogiem, tu chodzi o odwrotną operacje - USER ma dostęp tylko do swojego katalogu i nic więcej.
AidisProPlayer:
a i jak zrobić żeby inny użytkownik widział tylko folder w /home/jegofolder Poczytaj więcej o tym chroot, jak ktoś Ci poda rozwiązanie na tacy to nic się nie nauczysz
http://allanfeid.com/content/creating-chroot-jail-ssh-access
pierwszy z google
a niema po polsku?
Spróbuj sam pogooglać, ktoś tego za Ciebie nie będzie robił w nieskończoność :thinking:
http://allanfeid.com/content/creating-chroot-jail-ssh-access Wygląda mi na prosty poradnik, komendy wręcz do przekopiowania (pamiętaj by używać z rozsądkiem i rozumieć każdą komendę, którą wpisujesz!) i nic szczególnego.
a w adduser - s sshusers user o co chodzi z sshusers?
Tak jak opisane w poradniku, tworzysz grupę sshusers.
Masz napisane tuż nad tym The way I'm setting this up, is that all my chrooted users will be added to the sshusers group. So we must setup the group, then add the user.
Wszyscy użytkownicy tej grupy będą poddani chrootowi, więc trzeba najpierw ich oddzielić od reszty użytkowników.
czy tak
$ sshusers groupadd $ adduser - s sshusers serwer-hurtworld-1 $ mkdir - p / home / serwer-hurtworld-1 / { dev , etc , lib , usr , bin } $ mkdir - p / home / serwer-hurtworld-1 / $ chown root . home / serwer-hurtworld-1 / $ mknod - m 666 / home / serwer-hurtworld-1 / null c 1 3 i wrzystko?
Pierwsza komenda na pewno źle.
Przeczytałeś w ogóle ten poradnik, czy bezmyślnie kopiujesz komendy, nie rozumiejąc ich? Jeżeli to drugie to zacznij od początku, a jak nie rozumiesz poradnika po angielsku, to tu masz prosty poradnik jak znaleźć podobny po polsku: http://lmgtfy.com/?q=poradnik+chroot+ssh Nie musi on działać, ponieważ mało jest opracowań po polsku, pisanie ich się nie opłaca.
jakoś niema poradników po polsku w twoim linku.
Szybko przeszukałem google i przez 5 minut nie udało mi się znaleźć sensownego opracowania. Prawie nikt nie pisze takich rzeczy po polsku, bo to trafi do zbyt małej ilości ludzi. Przeczytaj uważnie wcześniejszy poradnik, wspomóż się w trudniejszych momentach tłumaczem i sam powinieneś dobrze zrozumieć co tam jest napisane. Jeżeli będzie z tym problem to spróbuj wygooglać coś innego.
Bo mam lekkie problemy z tym poradnikiem http://allanfeid.com/content/creating-chroot-jail-ssh-access bo nie rozumiem niektórych funkcji.
Wymień dokładnie których, a najlepiej pojedyńczo wpisuj je w google lub czytaj ich manuale w systemie man
, np man ls
czyli
$ groupadd sshusers $ adduser -g sshusers serwer-hwserver1
a dalej bo tam jest coś z root
AidisProPlayer:
coś z root Nie wiem o czym konkretnie mówisz, mam Ci wyjaśnić co to jest cd, mkdir?
to wiem ale po co jest tworzenie tych folderów $ mkdir -p /var/jail/{dev,etc,lib,usr,bin} $ mkdir -p /var/jail/usr/bin $ chown root.root /var/jail
Jeżeli Twój użytkownik ma móc wykonywać jakiekolwiek komendy, to musi widzieć ich pliki. zamknięcie go przez chroot sprawia, że plików od komend nie widzi, czyli nie może ich wykonać.
no on ma wykonywać komendy tylko na plikach w folderze /home/
ale najpierw musi mieć do nich dostęp, żeby móc ich używać.
ale to nie tworzy folderów w /home/
AidisProPlayer:
$ mkdir -p /var/jail/{dev,etc,lib,usr,bin}
$ mkdir -p /var/jail/usr/bin
Zakładając, że katalog domowy użytkownika jest w /var/jail
, to te dwie komendy tworzą foldery w jego katalogu domowym. jeżeli chcesz, żeby katalog domowy użytkownika był w domyślnym miejscu, to zamieniasz var/jail/
na przykładowo /home/user/
.
i wtedy do jest do użytkownika czy grupy?
$ groupadd sshusers $ adduser -g sshusers serwer-hwserver1 $ mkdir -p /home/serwer-hwserver1/ $ chown serwer-hwserver1.serwer-hwserver1 /home/serwer-hwserver1/
do danego użytkownika
$ groupadd sshusers $ adduser -g sshusers serwer-hwserver1 $ mkdir -p /home/serwer-hwserver1/ $ chown serwer-hwserver1.serwer-hwserver1 /home/serwer-hwserver1/
AidisProPlayer:
chown serwer-hwserver1.serwer-hwserver1 /home/serwer-hwserver1/
jeżeli już to chown serwer-hwserver1:serwer-hwserver1 /home/serwer-hwserver1/
i to wrzystko?
AidisProPlayer:
i to wrzystko?
w jakim kontekście? w ten sposób utworzysz tylko katalog domowy.
a to po co? $ mknod -m 666 /var/jail/dev/null c 1 3 $ cd /var/jail/etc $ cp /etc/ld.so.cache . $ cp /etc/ld.so.conf . $ cp /etc/nsswitch.conf . $ cp /etc/hosts .
te polecenia kopiują do strefy zamkniętej przez chroot pliki wymagane do działania.
To wszystko?
$ groupadd sshusers $ adduser -g sshusers serwer-hwserver1 $ mkdir -p /home/serwer-hwserver1/ $ chown serwer-hwserver1:serwer-hwserver1 /home/serwer-hwserver1/ $ mknod -m 666 /var/jail/dev/null c 1 3 $ cd /home/serwer-hwserver1/ $ cp /etc/ld.so.cache $ cp /etc/ld.so.conf $ cp /etc/nsswitch.conf $ cp /etc/hosts $ cp /usr/bin/ls $ cp /usr/bin/bash $ ldd /bin/ls $ cd /sbin $ wget -O l2chroot http://www.cyberciti.biz/files/lighttpd/l2chroot.txt $ chmod +x l2chroot $ l2chroot ls $ l2chroot bash w /etc/ssh/sshd_config: Match group sshusers ChrootDirectory /home/serwer-hwserver1/ X11Forwarding no AllowTcpForwarding no
przeczytałeś cały poradnik? Masz tam odpowiedź na takie pytania
i pytanie tak mam robić każdego użytkownika?
Każdego który ma być zamknięty przez chroot.
Ok dzięki.