Portál AbcLinuxu, 10. května 2025 05:28

Dotaz: linux a ACLs

nettezzaumana avatar 21.3.2011 19:51 nettezzaumana | skóre: 3
linux a ACLs
Přečteno: 573×
Odpovědět | Admin
caues

potrebuju obligatne nastavit jeden adresar (v linuxu) kde budou mit vsichni full access i k souborum a slozkam co vytvoril nekdo jinej .. nejsem schopen to v linuxu udelat:

# ls -ld foo/
drwxr-xr-x 2 root root 4096 2011-03-21 19:29 foo/
# setfacl --set=group:users:rwx foo
setfacl: foo: Malformed access ACL `group:users:rwx,mask::rwx': Missing or wrong entry at entry 1


co tomu tady chybi mi neni jasne .. rekl bych ze tam je nejakej problem s dedicnost potom, stravil jsem s tim vic pokusu. Zde uvadim priklad na solarisu kde to funguje fajn a dedicnost tam resi v zfs aclmode=passthrough a aclinherit=passthrough ..

# zfs create -o mountpoint=/share/devel -o aclmode=passthrough -o aclinherit=passthrough rpool/share/devel

# chmod A+group:other:rwxp:fd:allow /share/devel/

# id dpecka; id jdoe
uid=100(dpecka) gid=1(other)
uid=101(jdoe) gid=1(other)

# ls -dV .
drwxr-xr-x+  2 root     root           2 Mar 21 18:00 .
       group:other:rwxp----------:fd----:allow
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:-w-p----------:------:deny
            group@:r-x-----------:------:allow
         everyone@:-w-p---A-W-Co-:------:deny
         everyone@:r-x---a-R-c--s:------:allow

# su dpecka
typo3:/share/devel> mkdir -p a/b/c
typo3:/share/devel> gfind a/ -exec ls -dV {} \; exit
drwxr-xr-x+  3 dpecka   other          3 Mar 21 18:15 a/
       group:other:rwxp----------:fdi---:allow
       group:other:rwxp----------:------:allow
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:-w-p----------:------:deny
            group@:r-x-----------:------:allow
         everyone@:-w-p---A-W-Co-:------:deny
         everyone@:r-x---a-R-c--s:------:allow
drwxr-xr-x+  3 dpecka   other          3 Mar 21 18:15 a/b
       group:other:rwxp----------:fdi---:allow
       group:other:rwxp----------:------:allow
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:-w-p----------:------:deny
            group@:r-x-----------:------:allow
         everyone@:-w-p---A-W-Co-:------:deny
         everyone@:r-x---a-R-c--s:------:allow
drwxr-xr-x+  2 dpecka   other          2 Mar 21 18:15 a/b/c
       group:other:rwxp----------:fdi---:allow
       group:other:rwxp----------:------:allow
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:-w-p----------:------:deny
            group@:r-x-----------:------:allow
         everyone@:-w-p---A-W-Co-:------:deny
         everyone@:r-x---a-R-c--s:------:allow

# su jdoe
typo3:/share/devel> touch a/b/file; rmdir a/b/c/
typo3:/share/devel> gfind a/ -exec ls -dV {} \;
drwxr-xr-x+  3 dpecka   other          3 Mar 21 18:15 a/
       group:other:rwxp----------:fdi---:allow
       group:other:rwxp----------:------:allow
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:-w-p----------:------:deny
            group@:r-x-----------:------:allow
         everyone@:-w-p---A-W-Co-:------:deny
         everyone@:r-x---a-R-c--s:------:allow
drwxr-xr-x+  2 dpecka   other          3 Mar 21 18:17 a/b
       group:other:rwxp----------:fdi---:allow
       group:other:rwxp----------:------:allow
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:-w-p----------:------:deny
            group@:r-x-----------:------:allow
         everyone@:-w-p---A-W-Co-:------:deny
         everyone@:r-x---a-R-c--s:------:allow
-rw-r--r--+  1 jdoe     other          0 Mar 21 18:17 a/b/file
       group:other:rwxp----------:------:allow
            owner@:--x-----------:------:deny
            owner@:rw-p---A-W-Co-:------:allow
            group@:-wxp----------:------:deny
            group@:r-------------:------:allow
         everyone@:-wxp---A-W-Co-:------:deny
         everyone@:r-----a-R-c--s:------:allow

typo3:/share/devel> rmg -rv a/
removed `a//b/file'
removed directory: `a//b'
removed directory: `a/'

typo3:/share/devel> id
uid=101(jdoe) gid=1(other)


prosim ukazte mi priklad kdy vytvorime nejakou slozku s default umaskou 755 a pomoci ACLs ji nastavime aby to fungovalo pro uzivatele ze skupiny *users tak jako v prikladu vyse pro uzivatele skupiny *others ..
to setfacl me fakt muci ..

zatim to resim skutecne opovrzenihodnym mountem nfs pres localhost:

# grep localh /etc/exports
/srv/nfs        localhost(rw,anonuid=1001,anongid=100,all_squash,no_subtree_check)

zdravim a dekuju

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (camel1cz)
Jakub Lucký avatar 21.3.2011 21:54 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: linux a ACLs
Odpovědět | | Sbalit | Link | Blokovat | Admin
V Linuxu se dědičnost nastavuje přes default, potažmo -d...

setfacl -m group:users:rwx

setfacl -m -d group:users:rwx

nebo

setfacl -m default:group:users:rwx

Mělo by to fungovat, ale netestoval jsem to...
If you understand, things are just as they are; if you do not understand, things are just as they are.
nettezzaumana avatar 22.3.2011 10:59 nettezzaumana | skóre: 3
Rozbalit Rozbalit vše Re: linux a ACLs
omg .. tohle vubec nefunguje :D .. doporucuju :: `check before dishonor here` .. ;)
Jakub Lucký avatar 22.3.2011 16:31 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: linux a ACLs
Omlouvám se, asi nemluvím jazykem vašeho kmene. Chyba padá na mou hlavu. Držím palce, ať najdete odpověď.
If you understand, things are just as they are; if you do not understand, things are just as they are.
22.3.2011 16:37 none
Rozbalit Rozbalit vše Re: linux a ACLs
Nezbytne pres ACLka? Nepomohlo by 'chmod g+s' pro vyrobu tradicniho kolaborativniho adresare?
22.3.2011 19:22 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: linux a ACLs
Ty příkazy jsou na první pohled správně, co nefunguje?
In Ada the typical infinite loop would normally be terminated by detonation.
nettezzaumana avatar 23.3.2011 13:46 nettezzaumana | skóre: 3
Rozbalit Rozbalit vše Re: linux a ACLs
### root
> setfacl -d --set=group:users:rwx share/
> setfacl -m group:users:rwx share/

> getfacl share/
# file: share/
# owner: root
# group: root
user::rwx
group::r-x
group:users:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:users:rwx
default:mask::rwx
default:other::r-x

## su na usera dpecka
> cd share/; su dpecka
> mkdir -p a/b/c; find a* -exec getfacl {} \;
# file: a
# owner: dpecka
# group: users
user::rwx
group::r-x
group:users:rwx                 #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:users:rwx
default:mask::rwx
default:other::r-x

# file: a/b
# owner: dpecka
# group: users
user::rwx
group::r-x
group:users:rwx                 #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:users:rwx
default:mask::rwx
default:other::r-x

# file: a/b/c
# owner: dpecka
# group: users
user::rwx
group::r-x
group:users:rwx                 #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:users:rwx
default:mask::rwx
default:other::r-x


^^ no tam je z nejakyho duvodu v a, a/b a a/b/c efective je r-x takze jako jinej user tam nezapisu ... ps. sticky bit slouzi k necemu jinemu imho
23.3.2011 14:10 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: linux a ACLs
To není z nějakého důvodu, ten důvod tam máte napsaný:
mask::r-x
nettezzaumana avatar 23.3.2011 14:14 nettezzaumana | skóre: 3
Rozbalit Rozbalit vše Re: linux a ACLs
ale ta maska se nededi neb tu masku mame na share/ rwx ... tak jak teda rict aby to dedilo?
23.3.2011 14:41 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: linux a ACLs
Podle man setfacl bych řekl, že úplně stejně jako ostatní defaultní nastavení:
setfacl -m -d m:rwx
23.3.2011 18:00 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: linux a ACLs
setfacl -m -d m:rwx
To tam má. Ale ta maska je default a mkdir ji nastavil jinak. Potřebujete před mkdir si udělat umask 0.

V DAC systému jako je posix ACL nemá absolutní kontrolu nad právy správce systému ale vlastník souboru. Tím že naspecifikujete nějaký default ACL tak vůbec nezaručíte, že ty práva tvůrce nepřenastaví jinak.
In Ada the typical infinite loop would normally be terminated by detonation.
Nuphar avatar 23.3.2011 13:54 Nuphar | skóre: 19
Rozbalit Rozbalit vše Re: linux a ACLs
Já používám

# setfacl -RP -m g:public:rwx /home/public/*

denně pouštěné cronem. A funguje to :-)
Per aspera, Asparagus et Aspergillus ad a/Astra!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.