sudo sur une session pas admin

hazertyck

Membre confirmé
2 Décembre 2006
19
0
44
Montpellier
Bonsoir,

j'ai formatté mon mac pour faire une clean install de Mavericks, et j'en ait proffité pour créer une session Administrateur, et une session qui ne l'est pas (que j'utiliserais quotidiennement) le but étant d'optimiser la sécurité de mon mac.

MAis voilà, j'utilisait un serveur (plexconnect) que je doit lancer dans le terminal avec un sudo.

mais maintenant quand je fait "sudo ./PlexConnect.py", le terminal me demande mon mot de passe (pas celui de la session Admin) et une fois rentré il me dit " [MOI] is not in the sudoers file. This incident will be reported.

Comment lancer une session dans le Terminal avec les droits Administrateur ?

Merci !
 
Salut hazertyck.

Supposons que ta session-admin ait pour nom de compte hazertyck et ta session-standard pour nom de compte standard. Il suffit que hazertyck, dans sa session-admin où il elle (?) peut utiliser le «Terminal» avec des droits root, en profite pour rajouter standard au groupe admin, ce qui automatiquement va faire bénéficier standard du privilège des membres du groupe admin qui est de pouvoir passer des commandes sudo.

Donc en tant que hazertyck dans ta session-admin tu tapes dans le «Terminal» :

Bloc de code:
sudo dseditgroup -o edit -a [COLOR="Red"]standard[/COLOR] -t user admin

et ↩︎ (retour-chariot) + frappe du mot-de-passe admin à la demande de password et ↩︎. Évidemment tu remplaces le nom de compte folklorique standard dans la commande par le nom de compte de ton compte aux droits standard.

Pour vérification, tu enchaînes dans la fenêtre du «Terminal» :

Bloc de code:
id [COLOR="Red"]standard[/COLOR]

et ↩︎ [en substituant toujours au standard bidon le nom de compte de ton compte standard. Tu vois s'afficher ton uid = user identifier (502 ou 503 etc., 501 étant l'uid du nom de compte admin aborigène hazertyck par hypothèse) ; ton gid = group identifier (logiquement 20=staff pour standard) ; suivi de l'ensemble des groupes auxquels standard est affidé (comme toi tu peux être membre d'un club d'échecs, avoir une carte de lecteur à la BN, être affilié(e) à un parti etc.) : c'est là que tu dois voir que standard se trouve bien désormais affilié au groupe 80=admin. Si oui, tout va bien : standard désormais passera tranquillement ses commandes sudo dans le «Terminal» avec son simple mot-de-passe de compte stanfard, grâce la sa carte de membre du groupe admin.

<Édit. Bien que standard ait toujours 20=staff comme gid, il paraît clair que son affiliation au groupe admin l'ait doté d'un jocker : celui de pouvoir administrer l'OS comme un admin pur-sang, rien qu'avec son mot-de-passe standard. Fais un essai dans les Préférences/Utilisateurs et groupes : standard déverrouille le cadenas d'administration rien qu'avec son mot-de-passe standard. Y a-t-il vraiment une autre solution, pour pouvoir passer des commandes sudo, que de s'affilier à un groupe admissible au rang des sudoers? Pourtquoi pas wheel tant qu'on y est? Mais, ce faisant, on implémente un simple mot-de-passe à valeur standard d'un jocker admin (càd. habilité_sudoer), ce qui revient à faire du compte standard le simple avatar d'un compte admin.>
 
Dernière édition par un modérateur:
Plus basiquement, perso j'aurai utilisé:

sudo -i -u le_use_admin la_commande_a_lancer

à savoir, le -u pour indiquer le user (donc le user admin), le -i pour jouer le .profile du user (notamment pour les variables d'environnement de ce user) avant lancement de la suite.

Si tu ne veux pas lancer de commande direct mais utiliser le user pour la suite du terminal:
sudo -i -u le_use_admin
 
Il est aussi possible de laisser standard dans une session classique tout en lui autorisant l'utilisation de certaines commandes avec les accréditations d'un compte administrateur.
Ce qui permet de concilier pragmatisme et sécurité.

Autre possibilité, faire un su - admin d'abord puis sudo dans cette session.
 
Dernière édition:
merci pour vos réponses,
alors passer mon compte stndart en admin comme le propose macomaniac ça ne me conviens pas.

j'essayerais la commande sudo -i -u hazertyck (enfin ma version à moi de mes sessions) ce soir pour tester (quand je rentres du boulot)

et enfin
@macomaniac : il ou elle ? c'est vrai que HazertycK ça ne parle pas trop ^^ dans mon cas c'est il :D
 
C'est bon ça fonctionne très bien :
su Administrateur
MotDePasse
sudo ./monscript.py

Merci !
 
Note que, comme je l'indiquais ci-dessus, il y a aussi moyen de permettre à ton compte de lancer le script en tant qu'administrateur avec sudo sans pour autant faire de ton compte un administrateur.

Je me permets de te renvoyer à un de mes posts avec un exemple (la commande purge).