Everybody/nobody: file permissions

Pagina: 1
Acties:

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Wat voor file permissions gebruik je als je een bestand hebt dat door de web server gelezen moet kunnen worden, maar dat niet door andere personen gelezen mag worden, bijvoorbeeld omdat er passwords in staan?

Verwijderd

dat zou je niet met file permissions doen, maar met .htaccess bijvoorbeeld.
www.apache.org

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
username:nobody met 640 bijvoorbeeld...

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
Op zondag 07 oktober 2001 18:05 schreef Cheatah het volgende:
dat zou je niet met file permissions doen, maar met .htaccess bijvoorbeeld.
www.apache.org
:?

Verwijderd

Op zondag 07 oktober 2001 18:02 schreef OlafvdSpek het volgende:
Wat voor file permissions gebruik je als je een bestand hebt dat door de web server gelezen moet kunnen worden, maar dat niet door andere personen gelezen mag worden, bijvoorbeeld omdat er passwords in staan?
Op zondag 07 oktober 2001 18:07 schreef RemcoX het volgende:
:?

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
Op zondag 07 oktober 2001 18:08 schreef Cheatah het volgende:

[..]


[..]
Als je een file op je server hebt staan (bijv. PHP), moet je die permissions geven zodat de webserver de file kan lezen (anders kan niemand je site zien), maar zodat andere gebruikers op die server die file niet kunnen lezen. (omdat zij anders de source/wachtwoorden kunnen zien)

Dat doe je dus niet met .htaccess maar met unix file permissions (er vanuit gaande dat de topicstarter een unix variant gebruikt)

Verwijderd

Maak gewoon een user aan voor Apache (bijvoorbeeld apache ;) ).
Zorg ervoor dat deze user niet in kan loggen op het systeem (/bin/false als shell).

Draai vervolgens Apache als die user. Zijn gewoon config-opties in apache.

Vervolgens geef je de bestanden en dirs als user "apache" en zorg je ervoor dat niemand anders erin kan. (chmod -R 400).

Dit heeft inderdaad niks, maar dan ook niks met .htaccess o.i.d. te maken.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Maar dan kun je die bestanden zelf toch niet meer editen?

Verwijderd

Nee, dat klopt ;)

Je kan natuurlijk gewoon ook de group apache aanmaken.
Vervolgens geef je de dirs en bestanden als eigenaar, degene die de bestanden moet aanpassen en als group Appache.
Daarna 640 erover.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
En moet je geen root zijn om dat met chown te doen?

Verwijderd

je kunt alleen chown-en als non-root zijnde in groepen waar jij zelf deel van uit maakt.

Als root kun je uiteraard altijd chown gebruiken voor alle groepen/users en op alle bestanden (tenzij de immutable flag aan staat).

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
Op zondag 07 oktober 2001 20:38 schreef nelske het volgende:
Nee, dat klopt ;)

Je kan natuurlijk gewoon ook de group apache aanmaken.
Vervolgens geef je de dirs en bestanden als eigenaar, degene die de bestanden moet aanpassen en als group Appache.
Daarna 640 erover.
Zei ik dat niet ook al? ;)

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Nee, file ownership is iets anders dan file permissions.

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
Op maandag 08 oktober 2001 14:27 schreef OlafvdSpek het volgende:
Nee, file ownership is iets anders dan file permissions.
Dat klopt. Echter, ik zei:
username:nobody met 640 bijvoorbeeld...
Dat betekent dus: owner = username, group = nobody, permissions = 640. Waarmee ik dus hetzelfde zei als nelske

edit: typo

Verwijderd

Op maandag 08 oktober 2001 11:07 schreef RemcoX het volgende:
Zei ik dat niet ook al? ;)
Yupz :)

Ik wilde alleen aangeven wat de achterliggende gedachte is ;)
Zo ken ik ook wel een server van iemand, waarop alle gebruikers in een bepaalde groep de html(/php) files mogen aanpassen.
Daar is het bijvoorbeeld dus precies andersom.
Ofwel 460 met als user Apache en als group html.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Ik had de eerste post van RemcoX even niet gezien. Dat is inderdaad een redelijke oplossing. Daarvoor heb je alleen wel hulp van root nodig.

Jammer dat er geen oplossing is met public key encryption.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Kun je eigenlijk niks met het sticky bit doen?

Daarvoor hoef je volgens mij geen root te zijn.

  • DPLuS
  • Registratie: April 2000
  • Niet online

DPLuS

 

Wat doet die sticky bit?

Verwijderd

Op vrijdag 12 oktober 2001 14:35 schreef OlafvdSpek het volgende:
Kun je eigenlijk niks met het sticky bit doen?

Daarvoor hoef je volgens mij geen root te zijn.
Op vrijdag 12 oktober 2001 18:28 schreef DPLuS het volgende:
Wat doet die sticky bit?
man chmod

Overigens kan je dus gewoon met chattr +i een bestand immutable maken, zodat het bestand niet veranderd, verwijderd of gechmod kan worden. Kortom er kan dan niks aan veranderd worden.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Ja, maar immutable wil je meestal niet.

olafvdspek@usw-pr-shell2:~$ man chmod|grep stick
olafvdspek@usw-pr-shell2:~$

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 19-08 14:36

odysseus

Debian GNU/Linux Sid

Op zondag 14 oktober 2001 18:20 schreef OlafvdSpek het volgende:
olafvdspek@usw-pr-shell2:~$ man chmod|grep stick
olafvdspek@usw-pr-shell2:~$
Uit mijn chmod-manual:
The letters `rwxXstugo' select the new permissions for the affected users: read
(r), write (w), execute (or access for directories) (x), execute only if the file
is a directory or already has execute permission for some user (X), set user or
group ID on execution (s), sticky (t), the permissions that the user who owns the
file currently has for it (u), the permissions that other users in the file's group
have for it (g), and the permissions that other users not in the file's group have
for it (o).

A numeric mode is from one to four octal digits (0-7), derived by adding up the
bits with values 4, 2, and 1. Any omitted digits are assumed to be leading zeros.
The first digit selects the set user ID (4) and set group ID (2) and sticky (1)
attributes. The second digit selects permissions for the user who owns the file:
read (4), write (2), and execute (1); the third selects permissions for other users
in the file's group, with the same values; and the fourth for other users not in
the file's group, with the same values.
Overigens heeft de oude RH 6.2 die op zolder NAT regelt ook niets over sticky files in zijn chmod-manpage staan, dus waarschijnlijk moet je gewoon even apt-get upgrade'en :)

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Ik zie op een ander systeem:
If a directory is writable and has S_ISVTX (the sticky bit)
set, files within that directory can be removed or renamed
only if one or more of the following is true (see unlink(2)
and rename(2)):

o the user owns the file
o the user owns the directory
o the file is writable by the user
o the user is a privileged user

Dus zo kun je een directory toch ook redelijk beveiligen in de zin dat iemand de files niet kan weggooien die een script heeft gemaakt.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Op zondag 07 oktober 2001 18:06 schreef RemcoX het volgende:
username:nobody met 640 bijvoorbeeld...
Mij werd verteld dat ook dit niet 100% veilig is. Andere scripts op dezelfde webserver van andere sites kunnen deze files ook nog benaderen.
Pagina: 1