1

Onderwerp: fix voor: alle gebruikers kunnen bestanden van root-user verwijderen

Ik kwam er laatst tot mijn verbijstering achter dat elke gebruiker bestanden kan verwijderen en hernoemen ook als de gebruiker daar helemaal geen rechten voor lijkt te hebben.

In andere woorden: Elke gebruiker kan bestanden van de root user verwijderen.

Probeer het volgende maar eens.

Als root:
$ touch /home/user/testfile
$ chmod 000 /home/user/testfile
$ exit

Als gewone gebruiker:
$ rm /home/user/testfile
rm: remove write-protected regular empty file `testfile'? y
$ ls /home/user/testfile
ls: /home/user/testfile : No such file or directory

Het file is daadwerkelijk verwijderd.


Ik vond op de volgende link een redelijk goede uitleg en een fix welke gebrukt maakt van LD_PRELOAD:

http://blog.hacker.dk/2010/05/users-can … /?reffed=1

Deze fix werkt echter alleen voor losse opgestarte processen zoals ftp.
Weet iemand misschien nog een aandere fix welke systeembreed werkt.

Martin

Re: fix voor: alle gebruikers kunnen bestanden van root-user verwijderen

[root@localhost /]$ cd /home/dgrift
[root@localhost dgrift]$ echo "hello" > testme
[root@localhost dgrift]$ ls -alZ testme
-rw-r--r--. root root staff_u:object_r:user_home_t:s0  testme
[root@localhost dgrift]$ chcon -t etc_t testme
[root@localhost dgrift]$ ls -alZ testme
-rw-r--r--. root root staff_u:object_r:etc_t:s0        testme
[dgrift@localhost ~]$ id
uid=500(dgrift) gid=500(dgrift) groups=500(dgrift),10(wheel),499(jackuser),504(sshusers) context=staff_u:staff_r:staff_t:s0-s0:c0.c1023
[dgrift@localhost ~]$ pwd
/home/dgrift
[dgrift@localhost ~]$ rm testme
rm: remove write-protected regular file `testme'? y
rm: cannot remove `testme': Permission denied
[root@localhost dgrift]$ ausearch -m avc -ts recent
----
time->Wed Feb 16 21:36:00 2011
type=SYSCALL msg=audit(1297888560.826:397): arch=c000003e syscall=263 success=no exit=-13 a0=ffffffffffffff9c a1=17470c0 a2=0 a3=0 items=0 ppid=8411 pid=7668 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=pts2 ses=1 comm="rm" exe="/bin/rm" subj=staff_u:staff_r:staff_t:s0-s0:c0.c1023 key=(null)
type=AVC msg=audit(1297888560.826:397): avc:  denied  { unlink } for  pid=7668 comm="rm" name="testme" dev=dm-4 ino=18487317 scontext=staff_u:staff_r:staff_t:s0-s0:c0.c1023 tcontext=staff_u:object_r:etc_t:s0 tclass=file

SELinux mandatory access control: type enforcement.

The best things in life are free.
TE RBAC MLS
ontwerp, attributen, beleid en context

3

Re: fix voor: alle gebruikers kunnen bestanden van root-user verwijderen

Martin, voor zover ik kan overzien geld dit issue aleen waneer je lees en schrijfrechten in de betreffende directorie hebt.
Met name met ftp ken ik dit soort problemen maar dat komt vooral ook omdat ftp natuurlijk als een eigen user (meestal root vrees ik) draait.
Ik meen dat ChromisX iets meer weet over dergelijke filesystem gerelateerde issues.
Moet toegeven dat het me in deze hoedanigheid nooit is opgevallen, terwijl ik toch dagelijks met mopperende colega's te maken heb juist omdat ze geen permissies hebben om (whatever ze dan ook willen)

Ik ga het morgen (nu kinderbedtijd) eens verder uitpluizen.

Pascal's Blobfree Homepage
Een dag geen NedLinux is een dag niet geleefd

4

Re: fix voor: alle gebruikers kunnen bestanden van root-user verwijderen

Erg schokkend is dit niet:
Als gebruiker heb je schrijftoegang tot je eigen home directory, want die map is jouw eigendom.
En in die hoedanigheid kun je inderdaad bestanden uit je eigen home directory verwijderen die eigendom zijn van een andere gebruiker en waar je geen schrijfrechten voor hebt.

Het is echter niet zo dat elke gebruiker zomaar bestanden van root kan verwijderen: probeer maar eens bestanden te verwijderen als gebruiker uit systeemmappen zoals /usr.

Help mee om KDE 5 in het Nederlands te vertalen!!

5

Re: fix voor: alle gebruikers kunnen bestanden van root-user verwijderen

Klopt,
Maar om de filosofie erachter te doorgronden moet je echt het filesysteem (de kernelcode) bestuderen.
vraag is of voor elk fs de zelfde filosofie geld.

Pascal's Blobfree Homepage
Een dag geen NedLinux is een dag niet geleefd

6

Re: fix voor: alle gebruikers kunnen bestanden van root-user verwijderen

Ik las er gisteren ook even overheen. Maar het lijkt meer op een logische beveiliging, immers de dir van gebruiker eerde t.w. /home/eerde is van mij en als gebruiker 'root' daar iets inzet zelfs met chmod 000 dan blijf ik als eerde über-user !
Vandaar de vraag: remove write-protected regular empty file `testfile'?

It's not a bug, it's a feature wink

Lange tenen zijn uitstekend, dus bij uitstek, geschikt om op te gaan staan !
__________________
"Never a dull moment"

Re: fix voor: alle gebruikers kunnen bestanden van root-user verwijderen

Een directory is (aldus het boek Essential System Administration) in wezen gewoon een (binaire) lijst met bestanden.
Door een bestand te verwijderen haal je de verwijzing naar dat bestand uit deze lijst.
Daarom is schrijfbevoegdheid op de directory voldoende om bestanden te verwijderen.