Avatar billede Slettet bruger
29. oktober 2005 - 23:33 Der er 13 kommentarer og
1 løsning

apache og ftp ejerskab

hej

Jeg leder efter en måde at undgå filer og mapper bliver "låst" som read only af www-data. Dvs ftp brugerne ikke kan slette mapperne igen...

Hvordan sætter man på en forsvarlig og smart måde rettigheder i /var/www til sine domæne mapper ?

På forhånd mange mange tak ;o)
Avatar billede Slettet bruger
29. oktober 2005 - 23:37 #1
problemet opstår som følge af at brugeren kører kode, der skriver til disken
Avatar billede Slettet bruger
30. oktober 2005 - 02:31 #2
Som udgangspunkt, når du opretter en fil, er det kun tilladt for ejeren at skrive til den, og resten må få lov til at se på den.

Jeg har, på min server, bare ændret ejeren af /var/www til min ftpbruger, og givet tilladelse til, at alle i denne gruppe også må skrive i filerne. (chmod 775)

Dernæst har jeg addet min personlige bruger til min ftpbrugers gruppe, og så er der ikke nogen problemer.

Jeg er ikke sikker på om der findes bedre løsninger, men måske kan andre komme med alternativer.

--
pacroon
Avatar billede x86 Nybegynder
03. november 2005 - 15:13 #3
Hvilken FTP server bruger du?

Når du opretter en bruger med PureFTPd kan du tildele dem et uid og gid, det gør jo at de filer du uploader tilhører dig, og mapper, filer der er lavet af php kode vil også tilhøre dig.

server1@gateway:~$ pure-pw

Usage :

pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
                -D/-d <home directory> [-c <gecos>]
                [-t <download bandwidth>] [-T <upload bandwidth>]
                [-n <max number of files>] [-N <max Mbytes>]
                [-q <upload ratio>] [-Q <download ratio>]
                [-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
                [-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
                [-y <max number of concurrent sessions>]
                [-z <hhmm>-<hhmm>] [-m]

pure-pw usermod <login> -f <passwd file> -u <uid> [-g <gid>]
                -D/-d <home directory> -[c <gecos>]
                [-t <download bandwidth>] [-T <upload bandwidth>]
                [-n <max number of files>] [-N <max Mbytes>]
                [-q <upload ratio>] [-Q <download ratio>]
                [-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
                [-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
                [-y <max number of concurrent sessions>]
                [-z <hhmm>-<hhmm>] [-m]

pure-pw userdel <login> [-f <passwd file>] [-m]

pure-pw passwd  <login> [-f <passwd file>] [-m]

pure-pw show    <login> [-f <passwd file>]

pure-pw mkdb    [<puredb database file> [-f <passwd file>]]

pure-pw list    [-f <passwd file>]

-d <home directory> : chroot user (recommended)
-D <home directory> : don't chroot user
-<option> '' : set this option to unlimited
-m : also update the /etc/pureftpd.pdb database
For a 1:10 ratio, use -q 1 -Q 10
To allow access only between 9 am and 6 pm, use -z 0900-1800
Avatar billede Slettet bruger
03. november 2005 - 15:18 #4
Tak for svar. Jeg bruger Proftpd med brugere på en MySQL db, hvorfor jeg har brug for at sætte rettigheder på mapperne. Men det er jo apaches www-data, der sætter mapperettigheder, når man fx uploader billeder eller et CMS-system "selv" opretter mapper...
Avatar billede Slettet bruger
03. november 2005 - 15:25 #5
Du skulle gerne have sat en 'ftpgroup' som dine proftpd usere er tilmeldt.

Sådan er det i hvert fald hos mig.
Avatar billede x86 Nybegynder
03. november 2005 - 15:30 #6
Det smarte ved PureFTPd er at den ændrer rettighederne på de filer du uploader til det uid gid du logger på FTP´en med.
Avatar billede Slettet bruger
03. november 2005 - 15:33 #7
Det er jeg med på mht ftp, men det jeg IKKE er med på er, at web serveren (apache) jo opretter mapper og det gør den nødvendigvis med dens uid og gid (www-data i debian) hvilket gør at ftp brugere ikke selv kan slette mapperne, fordi de jo ejes af apache...
Avatar billede x86 Nybegynder
03. november 2005 - 16:28 #8
Avatar billede Slettet bruger
03. november 2005 - 18:29 #9
Nu har jeg aldrig interesseret mig for tysk, og fatter derfor minus af det - en skam den ikke er på engelsk... Det kan godt være den har fat i noget af det rigtige, men jeg savner en forståelig forklaring på løsningen...
Avatar billede x86 Nybegynder
03. november 2005 - 19:33 #10
Brugere der skal have adgang til ftp serveren skal have system adgang, og de skal ikke have shell adgang, så derfor tilføjer du bruger med -s /bin/ftp så får de kun adgang til /bin/ftp.
useradd -g ftp -d /www/domæne.dk -s /bin/ftp -m domæne.dk

Det kunen godt tyde på at dine brugeres gid IKKE er ftp...
Avatar billede x86 Nybegynder
03. november 2005 - 19:42 #11
Hvis mapper er oprettet af systemet kræver det at brugere er medlem af systemet for at slette mapperne.
Avatar billede Slettet bruger
03. november 2005 - 22:59 #12
Og at mapperne er chmoddet til at group må skrive til dem :)
Avatar billede Slettet bruger
04. november 2005 - 08:45 #13
Nemlig. Det sidste er enormt vigtigt, for group har som default ikke rettighed til at skrive. Så man skal have fundet en måde hvorpå nyoprettede mapper/filer bliver chmod'et 770 eller sådan noget...
Avatar billede Slettet bruger
12. august 2006 - 00:55 #14
man kan vel bare sætte ftp useren som ejer af www
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester