Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Qrcze mam problem z vsftpd, zrobiłem konfiguracje dla użytkowników lokalnych i jedynym użytkownikiem jaki sie może zlogowac do ftp jest konto stworzone podczas instalacji na którym zawsze pracuje. Jak stworze sobie jakiegoś użytkownika, przy próbie logowania na ftp wyskakuje incorrect login i nie wiem o co chodzi za bardzo. Konfig jest prosty i bez udziwnień, daje go pod spodem
# Ustawiamy tutaj, z poziomu jakiego użytkownika ma być uruchamiany nasz serwer: nopriv_user=ftp # Uruchomienie serwera w trybie standalone. Jeśli chcemy aby nasz vsftpd był # uruchamiany w trybie inetd, rezygnujemy z tej opcji, ponieważ domyślnie jest # ona ustawiona na "NO": listen=YES # Definiujemy, tutaj na jakim porcie ma nasłuchiwać serwer (domyślnie jest to port 21): listen_port=21 # Zabronienie logowania anonimowych użytkowników: anonymous_enable=NO # Zezwolenie logowania dla lokalnych użytkowników local_enable=YES # Pozwolenie do zapisu we własnym katalogu write_enable=YES # Umask (022 jest używany przez większość serwerów ftp) local_umask=022 # Włączenie logowania xferlog_enable=YES # ścieżka do pliku z logami xferlog_file=/var/log/xferlog.log # Logi w formacie xferlog (jest wykorzystywany m.in. przez wu-ftpd) xferlog_std_format=YES # Maksymalna liczba połączonych użytkowników max_clients=5 # Maksymalna liczba użyktowników mogących się połączyć z tego samego adresu IP max_per_ip=3 # Banner, który będzie wyświetlany przy każdym połączeniu z serwerem ftpd_banner=KuraSoft FTP Server - Powered by: vsftpd, grzebyk@2005 # Userzy nie mogą wychodzić poza swój katalog domowy chroot_local_user=YES # Ustawiamy katalog dla chroot'a: secure_chroot_dir=/var/chroot/vsftpd # Lista użytkowników, którzy mogą wychodzić poza swój katalog domowy, # musisz utworzyć ten plik. # np: touch /var/chroot/vsftpd/vsftpd.chroot_list # Dodanie użytkownika odbywa się poprzez dopisanie nazwy usera do tego pliku. # np: echo "tomek" >> /var/chroot/vsftpd/vsftpd.chroot_list chroot_list_enable=YES chroot_list_file=/var/chroot/vsftpd/vsftpd.chroot_list
Offline
Może pododawaj innych userów do grupy danego konta, bo np jak to konto nazywa sięgrzebyk a chcesz dodać filemona do grzebyka to:
groupadd filemon
adduser filemon
passwd filemon
gpasswd –a filemon grzebyk – dodanie użytkownika filemon do grupy grzebyk
Pobaw sięgrupami iprawami dostępu.
Offline
Tzn wystarczy tylko sam adduser i wtedy zostanie najpierw utworzona grupa grzebyk, potem user grzebyk a na końcu sie zapyta o hasło i faktycznie tak stworzony użytkownik może sie logować na ftp.
Tego użytkownika co sie nie mógł zalogować na ftp dodawałem poprzez useradd i wtedy otrzymywał on grupe users.
Czyli w czym tkwi przyczyna bo już naprawde nie wiem?
Offline
Tzn wystarczy tylko sam adduser i wtedy zostanie najpierw utworzona grupa grzebyk, potem user grzebyk a na końcu sie zapyta o hasło i faktycznie tak stworzony użytkownik może sie logować na ftp.
Tego użytkownika co sie nie mógł zalogować na ftp dodawałem poprzez useradd i wtedy otrzymywał on grupe users.
Dodaj właśnie tego useka który nie mógł sięzalogowaćdo tej grupy która może się logować :
gpasswd –a filemon grzebyk
Offline
User grzebyk może sie logować do ftp, więc:
possessed2:/home/grzebyk# useradd -m test possessed2:/home/grzebyk# passwd test Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully possessed2:/home/grzebyk# gpasswd -a test grzebyk Dodaję nowego użytkownika test do grupy grzebyk possessed2:/home/grzebyk#
niestety tez sie zalogować nie może.
Jedynie user dodany za pomocą adduser może sie zalogowac do ftp.
Offline
A pokaż co ci wyświetli:
# grep niedzialajacy_uzytkownik /etc/passwd
Gdzie niedzialajacy_uzytkownik o oczywiście nazwa użytkownika na którego konto nie możesz się zalogować.
Pokaż też zawartość swojego /etc/shells.
Offline
grep test /etc/passwd test:x:1002:100::/home/test:
cat /etc/shells # /etc/shells: valid login shells /bin/ash /bin/bash /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh /usr/bin/zsh /bin/sash /bin/zsh /usr/bin/esh /bin/rbash /bin/dash
takie rzeczy sie wyświetlają
Offline
Tak jak się spodziewałem zły shell użytkownika test (a raczej wcale go nie masz). Też kiedyś przez to przechodziłem. :] Musisz zmienić shell usera test na jakiś "normalny". Tzn. na taki, który jest w /etc/shells
Jeśli chcesz by było to tylko konto ftp'a, bez dostępu do powłoki to ustaw shell na np. /bin/false i dodaj /bin/false do /etc/shells. A jak ci na tym nie zależy to poprostu ustaw shella dla użytkownika na /bin/bash.
A więc odpowiedni wpis w /etc/passwd powinien wyglądać tak:
test:x:1002:100::/home/test:/bin/false
albo tak:
test:x:1002:100::/home/test:/bin/bash
Offline