Ik ben een machine aan het inrichten en een gedeelte van de functionaliteit wil ik ontsluiten naar gebruikers die aanloggen op de machine. In dit geval gaat het om het draaien van een script (wat weer op zijn beurt een ander script aanroept, waar vervolgens een Oracle database mee ontstaat / wordt opgeruimd). Het geheel draait op OEL 5.6 (wat overeen komt met RHEL 5.6)
Anyway, het script waar het om gaat is deze:
Dit script doet wat dingetjes met inputvariabelen en roept vervolgens het dbca script van de gebruiker oracle aan. Als ik het geheel als de gebruiker Oracle draai, dan werkt het.
De sudo regel die ik heb aangemaakt (middels visudo) is deze
Vervolgens heb ik een gebruiker aangemaakt:
en deze gebruiker kan ook de sudo-regel aanroepen
Toch, en dit verbaasd mij, krijg ik een foutmelding op het moment dat ik het script aanroep:
Ten eerste verbaasd het mij dat er toch om een password wordt gevraagd, ten tweede mag ik toch het script niet uitvoeren !?
De enige relevante logging die ik zie is deze regel in /var/log/secure
Help!
Anyway, het script waar het om gaat is deze:
code:
1
2
| [root@dev ~]# ls -ld /usr/local/bin/create_db.sh -rwxr-x--- 1 oracle dba 2491 Mar 16 17:49 /usr/local/bin/create_db.sh |
Dit script doet wat dingetjes met inputvariabelen en roept vervolgens het dbca script van de gebruiker oracle aan. Als ik het geheel als de gebruiker Oracle draai, dan werkt het.
De sudo regel die ik heb aangemaakt (middels visudo) is deze
code:
1
| %dba ALL = (oracle) NOPASSWD: /usr/local/bin/create_db.sh |
Vervolgens heb ik een gebruiker aangemaakt:
code:
1
| useradd -g users -G dba -m -s /bin/bash -c "JaQ" -d /u01/homes/JaQ JaQ |
en deze gebruiker kan ook de sudo-regel aanroepen
code:
1
2
3
4
5
6
7
| -bash-3.2$ sudo -l Matching Defaults entries for JaQ on this host: requiretty, !visiblepw, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY ORACLE_HOME" User JaQ may run the following commands on this host: (oracle) NOPASSWD: /usr/local/bin/create_db.sh |
Toch, en dit verbaasd mij, krijg ik een foutmelding op het moment dat ik het script aanroep:
code:
1
2
3
| -bash-3.2$ sudo -u oracle -i /usr/local/bin/create_db.sh [sudo] password for JaQ: Sorry, user JaQ is not allowed to execute '/bin/bash -c /usr/local/bin/create_db.sh' as oracle on dev.area51.local. |
Ten eerste verbaasd het mij dat er toch om een password wordt gevraagd, ten tweede mag ik toch het script niet uitvoeren !?
De enige relevante logging die ik zie is deze regel in /var/log/secure
code:
1
| Mar 22 11:03:13 sr sudo: JaQ : command not allowed ; TTY=pts/0 ; PWD=/u01/homes/JaQ ; USER=oracle ; COMMAND=/bin/bash -c /usr/local/bin/create_db.sh |
Help!
Egoist: A person of low taste, more interested in themselves than in me