Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2415 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sudo

n°510977
Sebnol
Posté le 27-06-2004 à 12:06:43  profilanswer
 

Salut  :hello:  
 
Utilisant un serveur dédié OVH sous Redhat 7.2, j'ai des difficultés à utiliser sudo.
Après avoir modifier /etc/sudoers, et en rajoutant ceci :

Code :
  1. toto ALL=(ALL) ALL


L'utilisateur toto n'arrive même pas à créer un utilisateur :

Code :
  1. /usr/sbin/adduser titi
  2. adduser : impossible de vérouiller le fichier de mots de passe


On dirait qu'il n'a aucun droit :??:
 
Ps: je suis au courant des dangers de donner les pleins droits à un utilisateur, mais actuellement, je fais ceci pour tester ensuite si sudo fonctionne je définirais les commandes que toto aura et non pas les pleins pouvoirs  :jap:  
 
Merci.
@+  

mood
Publicité
Posté le 27-06-2004 à 12:06:43  profilanswer
 

n°510978
mikala
Souviens toi du 5 Novembre...
Posté le 27-06-2004 à 12:07:25  profilanswer
 

un sudo adduser serait déja mieux .

n°511002
Sebnol
Posté le 27-06-2004 à 13:40:41  profilanswer
 

Code :
  1. Ps: je suis au courant des dangers de donner les pleins droits à un utilisateur, mais actuellement, je fais ceci pour tester ensuite si sudo fonctionne je définirais les commandes que toto aura et non pas les pleins pouvoirs


 
:sweat: le mieux ca serait déjà que même dans ce cas, ca fonctionne, ensuite comme je l'ai indiqué après il suffira de faire comme le tutorial de Léa, définir les commandes.
Je cherche une solution depuis plus d'une semaine, sur d'autre forum mais rien pour le moment :(  
Merci d'avance.
 
Ps: Il faut bien redémarrer le serveur pour que les changements prennent effet ?

Code :
  1. commande : reboot

car si non, ca m'éviterait des rebootages :D

n°511005
Sebnol
Posté le 27-06-2004 à 13:51:04  profilanswer
 

Même avec

Code :
  1. # Cmnd alias specification
  2. Cmnd_Alias ADDUSER=/usr/sbin/adduser, /usr/bin/passwd
  3. # Defaults specification
  4. # User privilege specification
  5. root    ALL=(ALL) ALL
  6. toto    ALL=NOPASSWD : ADDUSER

 
dans /etc/sudoers, et un redémarrage

Code :
  1. reboot

.

Code :
  1. [root@localhost]# sudo -u toto /usr/sbin/adduser titi
  2. adduser : impossible de vérouiller le fichier de mots de passe


Je ne comprends décidement rien  :pfff:


Message édité par Sebnol le 27-06-2004 à 13:51:28
n°511051
leto
Posté le 27-06-2004 à 15:34:41  profilanswer
 

Code :
  1. $ sudo adduser

n°511052
mikala
Souviens toi du 5 Novembre...
Posté le 27-06-2004 à 15:35:32  profilanswer
 

j'ai déja essayé de lui expliquer mais a priori ...

n°511061
Sebnol
Posté le 27-06-2004 à 15:45:25  profilanswer
 

Pardon, je n'ai pas bien compris dans ce cas  :pt1cable:  
 
Je dois taper ce code dans la fenêtre ssh en auth : toto ?  :whistle:  
 
Merci  :jap:

n°511062
leto
Posté le 27-06-2004 à 15:47:20  profilanswer
 

si tu as bien parametré ton /etc/sudoers, tu dois pouvoir lancer les commandes qui necessitent les privileges root a partir d'un utilisateur classique .  
Donc tu te logge avec toto , et tu fais : "sudo adduser" . Y'a pas plus simple ...

n°511070
Sebnol
Posté le 27-06-2004 à 16:00:18  profilanswer
 

Merci leto3  :jap:  
Mais j'ai ceci dans ma config /etc/sudoers :

Code :
  1. # Host alias specification
  2. Host_Alias LOCALNET = IP
  3. # User alias specification
  4. User_Alias USER = toto
  5. # Cmnd alias specification
  6. Cmnd_Alias CMD = /usr/sbin/adduser
  7. # Defaults specification
  8. # User privilege specification
  9. root    ALL=(ALL) ALL
  10. USER LOCALNET = NOPASSWD: CMD


Malheuresement, même après avoir connecter sous ssh toto, il demande un mot de passe :heink:

n°511086
mikala
Souviens toi du 5 Novembre...
Posté le 27-06-2004 à 16:12:10  profilanswer
 

il faut rajouter un NOPASSWD

mood
Publicité
Posté le 27-06-2004 à 16:12:10  profilanswer
 

n°511091
Sebnol
Posté le 27-06-2004 à 16:18:23  profilanswer
 

Merci, ca fonctionne :)
Je cherchais la réponse depuis plus d'une semaine, j'étais bloqué, sympa ;)

n°511121
Sebnol
Posté le 27-06-2004 à 16:48:30  profilanswer
 

Toujours quelque chose pour me bloquer :pfff:  
Je m'explique, mon but de donner le droit à toto de créer un utilisateur, c'est pour qu'à partir d'un serveur web(apache), il obtient ce droit  :jap:  
Dans httpd.conf de apache :

Code :
  1. <VirtualHost ip>
  2.   ServerAdmin e-mail
  3.   DocumentRoot /home/toto
  4.   User toto
  5.   Group users
  6.   ServerName toto
  7.   ServerAlias toto
  8.   </VirtualHost>


 
J'ai mis dans /home/toto un fichier php :

Code :
  1. <?
  2. exec("sudo /usr/sbin/adduser titi" );
  3. ?>


Malheuresement, il ne crée pas l'utilisateur alors que sous ssh ca fonctionne comme je l'ai indiqué ci-dessus  :fou:  
Je ne comprends pu  :ouch:

n°511463
la viper
Posté le 28-06-2004 à 08:25:42  profilanswer
 

renseigne le chemin de sudo aussi j'imagine :]
 
<?php
system("/usr/bin/sudo /usr/sbin/adduser titi" );
?>
 
et si ca fonctionne, c'est grave!

n°511517
Sebnol
Posté le 28-06-2004 à 10:41:33  profilanswer
 

Non, ca ne fonctionne pas :(
Merci quand même pour ton aide.

n°511643
Sebnol
Posté le 28-06-2004 à 14:35:26  profilanswer
 

Je viens de contourner le problème cependant j'aurais encore besoin de votre aide, car le script php doit effectuer ce genre de commande :
mkdir /home/$utilisateur/dossier
Je voudrais éviter de donner le droit à la commande mkdir dans tous les dossiers, c'est pourquoi il me faudrait une commande du style mkdir /home/[A-z]*/dossier(A noter que je n'ai aucune idée, si elle fonctionne cette commande mais j'ai lu ca sur Léa) dans /etc/sudoers.
Mais [A-z]* oblige un commencement par une lettre alors que je désire que peu importe chiffre ou lettre ou les deux ca soit accepter :)

n°511792
la viper
Posté le 28-06-2004 à 17:31:11  profilanswer
 

bah en fait quand tu utilises adduser par defaut il te créé le repertoire /home/[nom utilisateur]qui vont bien :p

n°511807
Sebnol
Posté le 28-06-2004 à 17:48:42  profilanswer
 

Je me suis mal expliqué, ou l'exemple n'était pas bon, je le change :jap:  
 
Un script php a comme variable $utilisateur(par rapport à un formulaire) et la commande n'est qu'utilisable par apache qu'après ajout dans /etc/sudoers(question de droits).
 
donc il faut que je mets dans /etc/sudoers la commande pour qu'il puisse seulement créer un répertoire dans mkdir /usr/local/$utilisateur/toto.Dans /etc/sudoers je ne peux pas mettre mkdir /usr/local/$utilisateur/toto car $utilisateur c'est une variable php  :sarcastic: Donc j'ai pensé à mkdir /usr/local/[A-z]*/toto mais [A-z]*, c'est seulement pour commencer par une lettre alors que moi je désire que tout soit possible :heink:  
J'avoue que c'est compliqué à comprendre mais encore une fois je peux contourner le problème en cherchant un peu :hello:

n°511839
Sebnol
Posté le 28-06-2004 à 18:25:02  profilanswer
 

Zut...j'ai parlé trop vite, je n'arrive pas à cotourner le problème, voici comment ca se déroule pour cette fameuse commande :
chmod 705 -R /home/$utilisateur, mais quand je mets ceci dans /etc/sudoers, erreur syntaxe :( même avec chmod 705 -R /home(c'est un exemple, ca aurait pu très bien être /usr/titi).
Une idée svp ?

n°512177
Sebnol
Posté le 29-06-2004 à 12:07:34  profilanswer
 

up :??:

n°512343
Sebnol
Posté le 29-06-2004 à 16:58:59  profilanswer
 

On m'a conseillé :
mkdir /home/[0-9A-z]*/
Mais il m'indique ceci quand je veux enregistrer ">>> sudoers file: syntax error, line 13 <<<"  
Alors que j'ai seulement ajouté :  
Cmnd_Alias CMD= mkdir /home/[0-9A-z]*  
et dès que je retire cette ligne pu d'erreur

n°512358
Sly Angel
Architecte / Développeur principal
Posté le 29-06-2004 à 17:16:29  profilanswer
 

Que c'est dangereux tout ça :/
 
Ca craint quand même d'utiliser de telles commandes sur une page PHP :/ Faut vraiment avoir la foi...
 
Le mieux si tu souhaites créer des comptes à partir d'une page web serait d'avoir un script shell avec le bit suid root à l'éxécution, sachant que le script est droits root et juste éxécutable pour les autres users.
 
Parce que passer directement des commandes root par PHP, c'est très très moche et embêtant...
 
Il faut restreindre au max les possibilités.
 
D'ailleurs quels besoins as tu ? Si le but est de créer des accès FTP, mieux vaut passer par des users virtuels par base MySQL, si ce sont des accès shell, ça reste dans tous les cas dangereux :/ Surtout si c'est pas des accès shell, mettre /bin/false en shell par défaut pour éviter les problèmes aussi, mettre dans ce cas /bin/false dans /etc/shells pour les shells valides.
 
 
Bref ça craint ton truc :o


Message édité par Sly Angel le 29-06-2004 à 17:16:44
n°512369
Dark_Schne​ider
Close the World, Open the Net
Posté le 29-06-2004 à 17:36:24  profilanswer
 

ton script php est utilisé en tant que user apache ...
 
l'utilisateur apache doit être dans sudoers


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°512447
mikala
Souviens toi du 5 Novembre...
Posté le 29-06-2004 à 19:36:57  profilanswer
 

logiquement dans son vhost il est sensé tourner sous l'user toto.

n°512464
Sebnol
Posté le 29-06-2004 à 19:55:05  profilanswer
 

J'ai trouvé la solution, il suffit de mettre /bin/mkdir(pour mon précedent message, il fallait indiquer le chemin complet), mais sinon oui je suis au courant des risques, pour le moment je test et on m'avait clairement conseillé sudo pour la sécurité(il y a trois jours, je n'étais même pas au courant de sa présence...) ;)
De plus j'ai demandé certaines choses pas utiles(j'essaye toujours de profiter au maximum du topic pour en tirer des infos que je ne connais pas) pour le script donc l'utilisateur sera bien /bin/false.
Et une restriction des commandes a été mis en place, j'ai passé plus de temps que prévu dans /etc/sudoers pour cette restriction mais la sécurité comme vous dites c'est important :)


Message édité par Sebnol le 29-06-2004 à 19:56:32
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
 

Sujets relatifs
sudo: unable to lookup linuxbox via gethostbyname()sudo qui permettrait de se connecter sans mdp en root ?Comment faire?
sudo su -sudo : comprend pas la
Plus de sujets relatifs à : Sudo


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)