Gå til innhold

Lage bruker med ftp tilgang til /var/www/htdocs?


Anbefalte innlegg

Har nå fått satt opp webserver og fant ut at det kan være greit med ftp tilgang for å laste opp sidene. Jeg installerte vsftpd og konfigurerte å koste meg.

 

Jeg greier å logge inn på ftp med brukerene root og ludde, men jeg klarer ikke å lage en bruker som har "/var/www/htdocs" som home mappe. Det hadde også vært fint om denne brukeren bare hadde ftp tilgang.

 

Etter mye googling har jeg ikke blitt stort klokere og de guidene jeg har funnet, funka dårlig.

 

Hadde noen gidda å fortelle meg hvordan jeg lager en bruker med ftp tilgang til /var/www/htdocs ?

 

Distro: slackware 10.1

Ftp klient: Nyeste vsftpd

Endret av Yngvejos
Lenke til kommentar
Videoannonse
Annonse

Jeg kan heller ikke si at jeg ble noe klokere etter å ha søkt på nett (my google power is weak tonight).

Så jeg sier heller hvordan jeg har satt opp min pureftpd mot en mysql tabell med brukere og chroot'ed "home". Pureftpd 1.0.18 og mysql 4.0.25.

 

Hvis du vil holde det helt enkelt så legg til /bin/true i /etc/shells og lag eller modifiser en bruker, sett shellet til /bin/true og home til /var/www/htdoc. Så vidt jeg vet er /bin/true med i alle distroer. Man sier følgende om true, "true - do nothing, successfully" :!:

 

Hvis denne løsningen er grei så kan du hoppe ned til bunnen og unnlate "-l ..." når du starter opp pureftpd.

Men vil du helst ha færrest mulige "ekte" brukere på systemet så kan du ha ftp brukerne i en database tabell.

 

Min mysql tabell

CRATE DATABASE ftp;
USE ftp;
CREATE TABLE `ftp-users` (
 `user` varchar(20) NOT NULL default '',
 `Password` varchar(80) NOT NULL default '',
 `uid` int(11) NOT NULL default '0',
 `gid` int(11) NOT NULL default '0',
 `dir` varchar(254) NOT NULL default '',
 PRIMARY KEY  (`user`)
) TYPE=MyISAM COMMENT='FTP ACCOUNTS';

Passord feltet burde kanskje ikke være varchar/"klar tekst" men med kompiser som har en tendens til å glemme passord ... :roll:

 

pureftpd's database fil

MYSQLServer     localhost
MYSQLPort       3306
MYSQLSocket     /tmp/mysql.sock
MYSQLUser       database-bruker
MYSQLPassword   database-passord
MYSQLDatabase   ftp
MYSQLCrypt      cleartext
MYSQLGetPW      SELECT `password` FROM `ftp-users` WHERE `user` = '\L'
MYSQLGetUID     SELECT `uid` FROM `ftp-users` WHERE `user` = '\L'
MYSQLGetGID     SELECT `gid` FROM `ftp-users` WHERE `user` = '\L'
MYSQLGetDir     SELECT `dir` FROM `ftp-users` WHERE `user` = '\L'

 

 

En "enkel" pureftpd kan startes som

/usr/local/sbin/pure-ftpd -S IP-adresse,port -B -E -A -l mysql:/root/ftp-mysql.conf

Dette starter pureftpd som daemon/bakgruns prosess (-B), som ikke tilater anonyme brukere (-E) og ikke tillater at folk som vanderer utenfor sin "home" katalog (-A) og henter brukere ifra en mysql tabell definert i /root/ftp-mysql.con (-l database:/path/til/fil).

Lenke til kommentar
Hvis du vil holde det helt enkelt så legg til /bin/true i /etc/shells og lag eller modifiser en bruker, sett shellet til /bin/true og home til /var/www/htdoc. Så vidt jeg vet er /bin/true med i alle distroer. Man sier følgende om true, "true - do nothing, successfully"  :!:

5050803[/snapback]

 

Takk for hjelpen, funka fint. :D

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...