måndag 15 december 2008

Access control lists i linux

Att använda ett vanligt linuxsystem själv är inga problem. När det kommer in fler användare blir det svårare - att dela filer etc gör att rättigheter måste sättas korrekt. Om man har en enkel struktur är det lätt att göra så att alla har samma primärgrupp, vilket gör att de filer man skapar blir läs/skrivbara av andra (grovt förenklat, det beror naturligtvis på en väldig massa saker). För mer komplicerade strukturer behövs tyngre vapen: access control lists.

Här finns en läsvärd text: http://www.suse.de/~agruen/acl/linux-acls/online/
Såhär samverkar det med samba: http://www.samba.org/ .......

En snabbstart:
  1. se till att filsystemet är monterat med acl påslaget: mount -oremount,acl,rw,noatime /dev/sdaX /mntpnt (för att göra permanent, lägg till acl i options i /etc/fstab)
  2. Se till att du har acl installerat. På debian är det apt-get install acl som ordnar det.
  3. pröva: mkdir /mntpnt/slask
  4. getfacl /mntpnt/slask ger :
    getfacl /mntpnt/slask
    # file: slask
    # owner: pauls
    # group: pauls
    user::rwx
    group::r-x
    other::r-x

  5. pröva att sätta acl:setfacl -d -m g:musiclovers:rw musik/
  6. getfacl musik
    # file: musik
    # owner: pauls
    # group: musiclovers
    user::rwx
    group::rwx
    other::---
    default:user::rwx
    default:group::rwx
    default:group:musiclovers:rw-
    default:mask::rwx
    default:other::---

Ganska lätt, och väldigt kraftfullt. Tyvärr är det inte helt lätt att bevara dessa rättigheter för backup. Det verkar som att rsync har möjlighet att bevara rättigheterna (via flagga -A), tyvärr måste man då ha motsvarande grupper uppsatta på det system som backas upp mot. Tips mottages gärna!

Inga kommentarer: