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

 


Dernière réponse
Sujet : Sudo
Sebnol 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 :)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Sebnol 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 :)
mikala logiquement dans son vhost il est sensé tourner sous l'user toto.
Dark_Schneider ton script php est utilisé en tant que user apache ...
 
l'utilisateur apache doit être dans sudoers
Sly Angel 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
Sebnol 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
Sebnol up :??:
Sebnol 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 ?
Sebnol 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:
la viper bah en fait quand tu utilises adduser par defaut il te créé le repertoire /home/[nom utilisateur]qui vont bien :p
Sebnol 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 :)
Sebnol Non, ca ne fonctionne pas :(
Merci quand même pour ton aide.
la viper renseigne le chemin de sudo aussi j'imagine :]
 
<?php
system("/usr/bin/sudo /usr/sbin/adduser titi" );
?>
 
et si ca fonctionne, c'est grave!
Sebnol 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:

Sebnol Merci, ca fonctionne :)
Je cherchais la réponse depuis plus d'une semaine, j'étais bloqué, sympa ;)
mikala il faut rajouter un NOPASSWD
Sebnol 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:

leto 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 ...
Sebnol 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:
mikala j'ai déja essayé de lui expliquer mais a priori ...
leto

Code :
  1. $ sudo adduser

Sebnol 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:

Sebnol

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

mikala un sudo adduser serait déja mieux .
Sebnol 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.
@+  


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