[opensolaris] acl wordt vreemd overgedragen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mafketel
  • Registratie: Maart 2000
  • Laatst online: 17-10-2023
Elke keer als ik in opensolaris iets doe in de acl's gaat het eigenlijk niet zoals ik verwacht.... En waarom dit is vraag ik mij toch elke keer weer af. Ik heb een behoorlijke tijd besteed aan het bestuderen van de man pagina en andere documenten zoals bijvoorbeeld bigadmin.

Latest example:
Ik wil een user bij de mysql dir voegen zodat deze niet telkens pfexec hoeft te typen. Het is min of meer mijn root gebruiker dus op dat moment wordt het alleen maar command prompt vervuiling.
Dus:
pfexec /usr/bin/chmod A+user:gebruikersnaam:full_set:fd:allow /var/mysql/5.1/data

en dit voor 5.1 en mysql ook.
Zo ver alles goed als ik een
/usr/bin/ls -lahV /var/mysql/5.1/data/

doe is dit mijn uitvoer
total 6
drwx------+  2 mysql    mysql          2 May  5 13:32 .
user:gebruikersnaam:rwxpdDaARWcCos:fd-----:allow
owner@:--------------:-------:deny
owner@:rwxp---A-W-Co-:-------:allow
group@:rwxp----------:-------:deny
group@:--------------:-------:allow
everyone@:rwxp---A-W-Co-:-------:deny
everyone@:------a-R-c--s:-------:allow
drwx------+  3 mysql    mysql          3 May  5 13:32 ..
user:gebruikersnaam:rwxpdDaARWcCos:fd-----:allow
owner@:--------------:-------:deny
owner@:rwxp---A-W-Co-:-------:allow
group@:rwxp----------:-------:deny
group@:--------------:-------:allow
everyone@:rwxp---A-W-Co-:-------:deny
everyone@:------a-R-c--s:-------:allow

Hier komt het nog overeen met wat ik verwacht. Volgende stap is de databases aanmaken ;) en hier gebeurd iets wat ik niet snap

/usr/mysql/bin/mysqladmin -u root -p create nieuwedatabase


Dat lijkt mij de normale manier van doen ... En wat staat er nu in de directory......

/usr/bin/ls -lahV /var/mysql/5.1/data/
total 41001
drwx------+  6 mysql    mysql         11 May  5 13:50 .
user:gebruikersnaam:rwxpdDaARWcCos:fd-----:allow
owner@:--------------:-------:deny
owner@:rwxp---A-W-Co-:-------:allow
group@:rwxp----------:-------:deny
group@:--------------:-------:allow
everyone@:rwxp---A-W-Co-:-------:deny
everyone@:------a-R-c--s:-------:allow
drwx------+  3 mysql    mysql          3 May  5 13:32 ..
user:gebruikersnaam:rwxpdDaARWcCos:fd-----:allow
owner@:--------------:-------:deny
owner@:rwxp---A-W-Co-:-------:allow
group@:rwxp----------:-------:deny
group@:--------------:-------:allow
everyone@:rwxp---A-W-Co-:-------:deny
everyone@:------a-R-c--s:-------:allow

Tot hier alles netjes ;) maar dan komen de rest van de files en dir's(overigens heb ik de meeste hier niet weergegeven heeft geen zin ik had ook wat meer db'en gecreeerd)
drwx------+  2 mysql    mysql          3 May  5 13:50 nieuwedatabase
user:gebruikersnaam:rwxpdDaARWcCos:fdi---I:allow
user:gebruikersnaam:rwxp----------:-------:deny
user:gebruikersnaam:rwxpdDaARWc--s:------I:allow
owner@:--------------:-------:deny
owner@:rwxp---A-W-Co-:-------:allow
group@:rwxp----------:-------:deny
group@:--------------:-------:allow
everyone@:rwxp---A-W-Co-:-------:deny
everyone@:------a-R-c--s:-------:allow

Kijk dat is de database die net is aangemaakt maar waarom staat gebruikersnaam er in hemelsnaam 3 maal in en waar komt de deny vandaan? De eerste allow is diegene die is inherited staat ook netjes aangegeven met het laatste I'tje
-rw-rw----+  1 mysql    mysql       5.0M May  5 13:48 ib_logfile0
user:gebruikersnaam:--x-----------:-------:deny
user:gebruikersnaam:rwxpdDaARWc--s:------I:allow
owner@:--x-----------:-------:deny
owner@:rw-p---A-W-Co-:-------:allow
group@:--x-----------:-------:deny
group@:rw-p----------:-------:allow
everyone@:rwxp---A-W-Co-:-------:deny
everyone@:------a-R-c--s:-------:allow

Dan de files in die dir staan weer netjes zonder execute bit en geen vreemde extra gegevens.

Wat doe ik fout of waar is de solaris acl niet consistent? Of is het gewoon een kwestie van in eerste instantie een deny niks toevoegen?

p.s. over de useability van solaris .... Dit soort dingen vreten altijd tijd en er is elke keer weer iets waardoor je weer opnieuw alles moet gaan uitzoeken. Het is zeker niet mijn eerste "begin" met een os maar ik moet wel zeggen dat het een van de meest frusterende is van alle tijden(oeps vergeet ik bijna vista, daar lig ik nog steeds mee overhoop maar daar heb ik ook serieus minder tijd aan besteed, win7 is relaxter)

[ Voor 5% gewijzigd door Mafketel op 05-05-2010 14:25 . Reden: p.s. togevoegd over usability solaris ;) ]


Acties:
  • 0 Henk 'm!

  • Mafketel
  • Registratie: Maart 2000
  • Laatst online: 17-10-2023
Stukie meer info ik lees net in een slide van een praatje van Sam Falkner en Lisa Week met als titel NFSv4 ACLS: Where are we going?

Dat:
• Pure ACL model
  • Every file has an ACL when it is created
  • Mode is computed from the ACL
handig om te weten dat de mode van de acl af komt.
Maar hier had ik een soort aha moment ;)
• What happens to an ACL upon setting a mode?
  • Much more detail in the Internet Draft...
  • If ACE is inheritable, separate into two ACEs
  • If ACE applies to OWNER@, GROUP@ or EVERYONE@ ACE gets READ_DATA, WRITE_DATA, APPEND_DATA and EXECUTE cleared
  • If DENY ACE applies to supplemental users and groups it is left alone
  • If ALLOW ACE applies to supplemental users and groups, prepend a DENY ACE to restrict to owning group permissions
  • Append (or modify them if they are there) 6 ACEs to represent the mode
Oftewel doordat die inheret er staat moeten er meer acl entries komen...... bij een verandering van de mode en dat is waarschijnlijk wat gebeurt bij het aanmaken van die databases.... |:( Ik weet niet of ik daar nu blij mee ben .... maar das een ander verhaal Ik kan het nu in ieder geval een beetje verklaren.

Waarom ik bij die slide kwam is omdat ik aan het zoeken ben naar een gui die netjes met de acl's omgaat, en das nog best lastig. Tot nu toe is de beste optie voor mij om het in windows aan te passen..... of cli natuurlijk maar dat is zo onoverzichtelijk maar de enige mogelijkheid op de mac.
Ik heb gezien dat er een nfs v4 gui is voor linux vanuit de nfs v4 club maar heb daar verder nog weinig details over kunnen vinden. nautilus kan er niet mee omgaan lijkt het in ieder geval. En dat is vreemd want dat is toch de huistuinenkeuken filemanager van solaris.

Acties:
  • 0 Henk 'm!

  • Mafketel
  • Registratie: Maart 2000
  • Laatst online: 17-10-2023
En Omdat ik nog steeds ben geintereseerd in dit topic ;)

een excerpt uit http://www.sun.com/bigadm...les/ss7000_ms_windows.jsp waarin wordt uitgelegd hoe je de sun oracles nas box in een windows only enviroment intergreert. Hierin wordt dit voorgesteld:
The default Share Level ACL is set to be wide open to everyone. The default filesystem ACL is set to be
owned by nobody. The group "other" and owner are able to read, write and execute. A Windows best
practice is to control ACLs from the filesystem level and not the share level. As mentioned earlier,
maintaining both might be difficult. Therefore, ACLs should be managed at either the filesystem level or
the share level, but not both. To simplify management of the Sun Storage 7000 Unified Storage System in
a pure Windows environment, it is recommended to set both the share-level permissions and filesystem-
level permissions to full control for everyone, and then manage the individual permissions from a
Windows client. Illustration 8 shows how to set “everyone” with full control.
oftwel geen beveiliging op solaris box. Moet zeggen dat ik hier niet echt blij van wordt. Aan de andere kant niet veel mensen hebben wat te zoeken op de solaris box zeker niet als het alleen een nas box is.

Acties:
  • 0 Henk 'm!

  • Mafketel
  • Registratie: Maart 2000
  • Laatst online: 17-10-2023
Een klein schopje mocht iemand hier ooit nog geintereseerd in zijn.
Ik ben er zelf redelijk uit, maar omdat vandaag een oude dir niet wilde meewerken op de mac nog even wat foldertjes netjes gezet.
Ik dacht, laat ik nog even meedelen hoe.

Ik vind het zelf prettig als de groep van de folder hetzelfde blijft bij deze share dus vandaar dat ik een g+s chmod doe
Ik vind het fijn als diegene die een bestand aanmaakt dan ook de eigenaar is, de eigenaar kan in dit geval wel het bestand verwijderen en aanpassen
En extra gebruiker die er altijd bij kan ook bij gemaakt en dit zou je heel makkelijk voor een groep kunnen toepassen door user door group te vervangen.

Pas op bij deze commandos want door het = teken wordt alles wat er eerst stond vervangen door wat je hier invult. en het is met commentaar wat je er echt even tussenuit moet halen

#!/bin/bash 
find /somedirectory -type d -exec /usr/bin/chmod A=\
pas alleen toe op de dirs onder somedirectory en alle acl's vervangen dus
user:username:--------------:fd-----:deny,\
deze user met usernaam wordt nergens actief voor geblockt en dit wordt aan files en directories doorgegeven
voor een groep user door group vervangen
user:username:--x--D--------:-d-----:allow,\
voor dir's moet executable zijn voor listing en deleten van contents alleen doorgeven aan dir's
user:username:rw-pd--A-W-Co-:fd-----:allow,\
rest van alle machtegingen die doorgegeven worden aan files en dir's
owner@:--------------:fd-----:deny,\
eigenaar geen deny doorgegeven aan files en dirs
owner@:--x--D--------:-d-----:allow,\
zie hierboven lijkt me duidelijk
owner@:rw-pd--A-W-Co-:fd-----:allow,\
group@:--------------:fd-----:deny,\
de group heeft geen schrijfrechten en geen verander rechten (p)
group@:r-x-----------:-d-----:allow,\
mag wel dir's lezen en inzien
group@:r-------------:fd-----:allow,\
files in de dir ook lezen
everyone@:--------------:fd-----:deny,\
everyone@:------a-R-c--s:fd-----:allow '{}' \;
iedereen mag een aantal dingendoe geen deny op everyone, day geeft problemen op windows shares
find /somedirectory -type d -exec pfexec /usr/bin/chmod g+s '{}' \;
find /somedirectory -type f -exec pfexec /usr/bin/chmod g-s,u-s '{}' \;
ik had het idee dat er nog wat suid en guid fout stonden en heb ik bij deze verbeterd
find /somedirectory -type f -exec pfexec /usr/bin/chmod A=\
user:username:--------------:-------:deny,\
user:username:rw-pd--A-W-Co-:-------:allow,\
owner@:--------------:-------:deny,\
owner@:rw-pd--A-W-Co-:-------:allow,\
group@:--------------:-------:deny,\
group@:r-------------:-------:allow,\
everyone@:--------------:-------:deny,\
everyone@:------a-R-c--s:-------:allow '{}' \;
omdat niet alle bestanden goed stonden heb ik deze er ook nog maar even overgegooid[cmd]