hur gör man en användare som inte tillåts logga in via shell?
tanken är att göra en användare som bara kan logga in via ftp.
förbjuda inloggning via shell?
10 svar · 293 visningar · startad av greymane
Då rekomonderar jag att du kör proftpd med ::
AuthUserFile /usr/local/<din lösenrodsfil>
För då behöver du inte något skarpt konto alls.
Du kan bara logga in via ftpn.
För mer info läs::
http://www.proftpd.org/docs/directives/linked/config_ref_AuthUserFile.html
Man kan behöva en litet perlscript ::
http://www.castaglia.org/proftpd/contrib/ftpasswd.html
Jag tycker att det är ett bra alternativ.
// ranxerox
jo det låter ju smidigt. fast då kommer ju en (aningen dum) följfråga: hur skapar man en passwd-fil? kan jag använda apache's htpasswd eller?
Annars är det lätt att bara sätta användarens default shell till /bin/false eller nått. Då kan användaren förvisso logga in, men blir utslängd direkt ;)
Det är det sista fältet i /etc/passwd som du är ute efter att ändra i.
jasså, det va därför man skulle skriva /bin/false! kunde inte begripa varför :)
Många distar har ett färdigt nologin-program som du kan använda. Det skriver ut att användaren inte får logga in. ligger iaf hos mig i /sbin/nologin
brukar alltid köra shell som /dev/null och sätta så det inte behöver vara ett giligt skal i proftpd-confen.
Vill även tillägga att det brukar anses säkrare att använda den senare metoden istället för "virtuella" users. Men det kan vara mycket underlättande på siter med många användare =)
Hej igen.
En bra fördel att använda AuthUserFile är att man kan kopiera ftp.passwd filen. Så när man ska byta server mm så har man alla anv kvar på samma fil.
=)
Det går väl bra att kopiera den vanliga passwd-filen också? om man tar med shadow och groups också