Voilà afin de gagner du temps au lancement de mon ordi, je ne lance pas mon serveur APACHE au démarrage, cependant il est pénible de devoir aller à chaque fois en console, devoir me loguer en root, puis tapper
service httpd start | service mysqld start
Alors serais t il possible de créer un bouton sur mon bureau qui le lance?
Merci à vous?
# Oui, c'est possible
Posté par Framasky (site web personnel) . Évalué à 10.
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.mysqld
Ensuite un petit script bash tout con :
#!/bin/bash
/etc/init.d/httpd start
/etc/init.mysqld start
Tu n'oublies pas de donner les droits d'exécution :
chmod +x ton_script
Après, soit tu le mets sur le bureau et c'est ça ton bouton, soit tu le mets autre part et tu crées un lanceur (le plus souvent c'est clic droit sur le bureau, créer un lanceur, nom, commentaire, commande (là tu mets bien sûr le chemin vers ton script), icône...)
Tout ça devrait marcher, après, niveau sécurité, je sais pas si c'est conseillé, je trouve un peu léger de mettre sur le bureau une icône pour lancer ce genre de service. Tu pourrais faire un raccourci clavier avec le script, comme ça, pas d'icône qui traîne et personne ne le voit. (et tu peut faire un autre script et un autre raccourci pour tout arrêter) (oui, je sais, on pourrait tout faire dans un seul script, mais je pense que c'est plus simple pour gotcha5832)
Après, c'est toi qui voit bien sûr.
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Re: Oui, c'est possible
Posté par tuXico . Évalué à 4.
Tu peux te faire un tiroir qui contient les scripts pour lancer apache, arrêter apache, lancer mysql, arrêter mysql, ou script qui lance les deux et un autre qui arrête les deux.
Vu comme c'est facile de "scripter son environnement", t'aurais tort de te gêner !
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
A vous deux, et ca viens du fond du coeur, il est agréable d'avoir une réponse explicite, sans mauvais commentaire, et techniquement adapté à l'interrogateur, qui répond aux demandes et surtout permet d'apprendre.
Je vais m'y mettre et je vous tiens au courant.
P.S.: c'est quoi un tiroir? un lanceur type katapult?
-------------------------
BON Faux départ...
Je me log en root en console, je rentre la commande:
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.mysqld
il me dis:
init.mysqld
bash: syntax error near unexpected token `('
J'ai essayé:
login ALL=root NOPASSWD:/etc/init.d/httpd, /etc/init.mysqld
il me ferme la console.
[^] # Re: Oui, c'est possible
Posté par JulFX . Évalué à 1.
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.mysqld
n'est pas a taper dans un terminal, mais a ajouter dans le fichiers qui s'ouvrira grâce a la commande :
sudo visduo
http://doc.ubuntu-fr.org/sudo pourrait t'être utile.
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
Pendant que tu me répondais.
MERCI!
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
j'ai donc tapper en root
sudo visudo
J'ai ajouter à la fin du fichier:
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
j'ai ensuite créer un fichier /bin/allumageapache.sh
dans lequel j'ai rajouter:
#!/bin/bash
/etc/init.d/httpd start
/etc/init.d/mysqld start
puis adapter les droits:
chmod 777 allumageapache.sh
mais que je tappe en root :
allumageapache.sh
pas de soucimais quand je suis pas root il me dis:
[sacha@localhost /bin]$ allumageapache.sh
/bin/allumageapache.sh: line 2: /etc/init.d/httpd: Permission non accordée
/bin/allumageapache.sh: line 3: /etc/init.d/mysqld: Permission non accordée
du coup je vois plus?
dois je passer en 777
/etc/init.d/httpd
/etc/init.d/mysqld
[^] # Re: Oui, c'est possible
Posté par Framasky (site web personnel) . Évalué à 1.
Mais je ne comprends pas pourquoi ça foire chez toi : je me suis donné les droits sudo pour apache en NOPASSWD pour pouvoir le relancer avec une macro vim et ça marchait.
Tu dis avoir rajouté ta ligne login ALL=(root)... à la fin du fichier sudoers ? Essaye voir de le placer en dessous de la ligne root ALL=(ALL)...
Je ne suis sûr de rien mais ça peut être une piste.
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
voiçi mon ficher quand je tappe visudo (/etc/sudoers):
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
# Runas alias specification
#test
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
# User privilege specification
root ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
il me dis:
[sacha@localhost ~]$ allumageapache.sh
/bin/allumageapache.sh: line 2: /etc/init.d/httpd: Permission non accordée
/bin/allumageapache.sh: line 3: /etc/init.d/mysqld: Permission non accordée
Je retourne donc voir dans /etc/init.d les droits des fichiers, et la je vois:
-rwx------ 1 root root 9441 2008-03-08 01:22 httpd*
-rwx------ 1 root root 12219 2009-07-27 00:29 mysqld*
les fichiers ne sont plus en 777
je les repasse donc en 777
[root@localhost /etc/init.d]# chmod 777 httpd
[root@localhost /etc/init.d]# chmod 777 mysqld
je sors du compte root, relance allumageapache.sh et la:
[sacha@localhost /etc/init.d]$ allumageapache.sh
Starting httpd: (13)Permission denied: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
Unable to open logs
[�CHEC ]
ls: ne peut ouvrir le r�pertoire /var/lib/mysql/mysql: Permission non accord�e
Initializing MySQL database:
Installing MySQL system tables...
091127 15:55:12 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
091127 15:55:12 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
091127 15:55:12 [Warning] One can only use the --user switch if running as root
ERROR: 1347 'mysql.db' is not BASE TABLE
091127 15:55:12 [ERROR] Aborting
091127 15:55:12 [Note] /usr/sbin/mysqld: Shutdown complete
Installation of system tables failed!
Examine the logs in /var/lib/mysql for more information.
You can try to start the mysqld daemon with:
/usr/sbin/mysqld --skip-grant &
and use the command line tool
/usr/bin/mysql to connect to the mysql
database and look at the grant tables:
shell> /usr/bin/mysql -u root mysql
mysql> show tables
Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /var/lib/mysql that may be helpful.
The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/bin/mysqlbug script!
chown: ne peut lire le r�pertoire `/var/lib/mysql': Permission non accord�e
chmod: modification des permissions de `/var/lib/mysql': Op�ration non permise
Starting MySQL: /etc/init.d/mysqld: line 165: kill: (6816) - Aucun processus de ce type
[�CHEC ]
Bon du coup je pensais que ca serais un truc tout simple, mais en faite ... non
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
# Runas alias specification
#test
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
# User privilege specification
root ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
j'essaye donc de lancer allumageapache.sh
et là:
[sacha@localhost ~]$ allumageapache.sh
/bin/allumageapache.sh: line 2: /etc/init.d/httpd: Permission non accordée
/bin/allumageapache.sh: line 3: /etc/init.d/mysqld: Permission non accordée
je reverifie les droits sous /etc/init.d
-rwx------ 1 root root 9441 2008-03-08 01:22 httpd*
-rwx------ 1 root root 12219 2009-07-27 00:29 mysqld*
je remet les droits en 777
[root@localhost /etc/init.d]# chmod 777 httpd
[root@localhost /etc/init.d]# chmod 777 mysqld
Je sors du compte root, relance allumageapach.sh:
[sacha@localhost /etc/init.d]$ allumageapache.sh
Starting httpd: (13)Permission denied: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
Unable to open logs
[�CHEC ]
ls: ne peut ouvrir le r�pertoire /var/lib/mysql/mysql: Permission non accord�e
Initializing MySQL database:
Installing MySQL system tables...
091127 15:49:18 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
091127 15:49:18 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
091127 15:49:18 [Warning] One can only use the --user switch if running as root
ERROR: 1347 'mysql.db' is not BASE TABLE
091127 15:49:18 [ERROR] Aborting
091127 15:49:18 [Note] /usr/sbin/mysqld: Shutdown complete
Installation of system tables failed!
Examine the logs in /var/lib/mysql for more information.
You can try to start the mysqld daemon with:
/usr/sbin/mysqld --skip-grant &
and use the command line tool
/usr/bin/mysql to connect to the mysql
database and look at the grant tables:
shell> /usr/bin/mysql -u root mysql
mysql> show tables
Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /var/lib/mysql that may be helpful.
The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/bin/mysqlbug script!
chown: ne peut lire le r�pertoire `/var/lib/mysql': Permission non accord�e
chmod: modification des permissions de `/var/lib/mysql': Op�ration non permise
Starting MySQL: /etc/init.d/mysqld: line 165: kill: (5886) - Aucun processus de ce type
[�CHEC ]
Et bah je pensais que ca serais simple mais non...
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
[^] # Re: Oui, c'est possible
Posté par nono14 (site web personnel) . Évalué à 1.
sudo <the_commande> ( liste parmi sudo -l )
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
sacha is not in the sudoers file. This incident will be reported.
je me suis donc rajouter dans visudo:
# sudoers file.
[...]
# User alias specification
User_Alias STAFF=sacha
[...]
#test
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
[...]
# User privilege specification
root ALL=(ALL) ALL
STAFF ALL=(ALL) ALL
Et effectivement si je fais sudo allumageapache.sh il me demande mon mot de passe et c'est bon.
d'ailleurs je peut même commenter la ligne
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysql
et ca fonctionne toujours...
Hors le but à l'origine etait de pouvoir lancer le serveur par un click, ou raccourci clavier.?
[^] # Re: Oui, c'est possible
Posté par nono14 (site web personnel) . Évalué à 1.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
En tout les cas actuellement, j'ai un bouton qui execute "sudo allumageapache.sh" qui ouvre un terminal qui me demande mon mot de passe.
Mais pour faire cela je peut ouvir un console, me logguer en root et lancer les deux services. ca change pas grand chose.
Ca dois pas être: "C'est *si* difficile " mais actuellement j'y suis pas...
[^] # Re: Oui, c'est possible
Posté par nono14 (site web personnel) . Évalué à 1.
A quoi peut bien servir l'option NOPASSWD du fichiers sudoers ?
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
Question à 3 centime pourquoi avec mon sudoers, il me le demande toujours?
[^] # Re: Oui, c'est possible
Posté par nono14 (site web personnel) . Évalué à 1.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
Car là a vrai dire tes commentaire ne me sont d'aucune utilité...
Dis moi tu as pas un travail, un hobby, une occupation qui pourrais t'occuper?
[^] # Re: Oui, c'est possible
Posté par nono14 (site web personnel) . Évalué à 2.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
passage de
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
en première ligne:il demande le mdp
passage de
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
en dernière ligne:il demande le mdp
mise en place de
%STAFF ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
idem...
[^] # Re: Oui, c'est possible
Posté par nono14 (site web personnel) . Évalué à 1.
Qu'as-tu lancé comme commande ?
Un message d'erreur éventuel, des messages dans les fichiers de log ...
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
On repart au début:
Visudo:
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
#login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
# Host alias specification
# User alias specification
User_Alias STAFF=sacha
# Cmnd alias specification
# Defaults specification
# Runas alias specification
#test
#login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
# User privilege specification
root ALL=(ALL) ALL
STAFF ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
#%STAFF ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
j'ai ensuite créer un fichier /bin/allumageapache.sh
dans lequel j'ai rajouter:
#!/bin/bash
/etc/init.d/httpd start
/etc/init.d/mysqld start
puis adapter les droits du script
enfin je lance la commande
sudo allumageapache.sh
et il me demande dans tout les cas le mot de passe sans message d'erreur.
P.S.: un trouve plusieurs fois la ligne
#login ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
ce sont les différents endroit ou j'ai essayé.
j'ai aussi essayé:
%STAFF ALL=(root) NOPASSWD:/etc/init.d/httpd, /etc/init.d/mysqld
enfin si j'esssaye sans sudo:
[sacha@localhost ~]$ allumageapache.sh
Starting httpd: (13)Permission denied: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
Unable to open logs
[�CHEC ]
ls: ne peut ouvrir le r�pertoire /var/lib/mysql/mysql: Permission non accord�e
Initializing MySQL database:
Installing MySQL system tables...
091202 19:20:22 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
091202 19:20:22 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
091202 19:20:22 [Warning] One can only use the --user switch if running as root
ERROR: 1347 'mysql.db' is not BASE TABLE
091202 19:20:22 [ERROR] Aborting
091202 19:20:22 [Note] /usr/sbin/mysqld: Shutdown complete
Installation of system tables failed!
Examine the logs in /var/lib/mysql for more information.
You can try to start the mysqld daemon with:
/usr/sbin/mysqld --skip-grant &
and use the command line tool
/usr/bin/mysql to connect to the mysql
database and look at the grant tables:
shell> /usr/bin/mysql -u root mysql
mysql> show tables
Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /var/lib/mysql that may be helpful.
The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/bin/mysqlbug script!
chown: ne peut lire le r�pertoire `/var/lib/mysql': Permission non accord�e
chmod: modification des permissions de `/var/lib/mysql': Op�ration non permise
Starting MySQL: /etc/init.d/mysqld: line 165: kill: (17449) - Aucun processus de ce type
[�CHEC ]
[^] # Re: Oui, c'est possible
Posté par gotcha5832 . Évalué à 1.
[quote]Dans l'absolu, si tu veux lancer un script monscript.sh en sudo sans mot de passe, il y a une solution simple :
Tu crées ton script que tu places quelque part, par exemple dans /home/moi/
Puis visudo
- dans la ligne # Cmnd alias specification tu mets :
[CODE]
# Cmnd alias specification
Cmnd_Alias SCRIPT = /home/moi/monscript.sh[/CODE]
- Tu ajoutes le groupe wheel à ton utilisateur (toi ..)
- et tu décommentes la ligne
[CODE]
# %wheel ALL=(ALL) NOPASSWD: ALL[/CODE]
devenant :
[CODE]
%wheel ALL=(ALL) NOPASSWD: ALL[/CODE]
Remarques que tu étais près du but. Sur ton visudo, il te suffirait de transformer la ligne
[CODE]
STAFF ALL=(ALL) ALL[/CODE]
en
[CODE]
STAFF ALL= (ALL) NOPASSWD: ALL[/CODE]
Comme ça, pas de passwd
YL
[/quote]
# je répond, mais
Posté par NBaH . Évalué à 2.
c'est vraiment le mauvais alibi !
Si tu es maître de ta machine, tu dois pouvoir déplacer le démarrage d'apache, en sorte qu'il soit après *DM; un peu le fait Windows.
Il faudrait gratter un peu plus du côté de `update-rc.d` pour les systèmes Debian-like (pour les RH-like, je ne sais pas).
# sudo -l
Posté par nono14 (site web personnel) . Évalué à 1.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: sudo -l
Posté par gotcha5832 . Évalué à 1.
j'ai essayé de faire un sudo -l mais:
[root@localhost /]# sudo -l
User root may run the following commands on this host:
(ALL) ALL
???
Je sais pas quoi faire?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.