Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/07/2018, à 19:35

Vronski

Restriction de privilèges à travers sudoers

Bonsoir à tous smile
A cette URL :  une explication pour accorder un privilège à un user.
J'ai un user déjà membre du groupe sudo. Mais certains logiciels à risque, je veux les lui interdire, sauf à saisir le mot de passe root.

Sur la page ci-dessus, on ajoute un privilège.
Mais on n'indique pas comment le restreindre...
Quelle est la syntaxe pour refuser l'appel d'un prog sans saisir le mot de passe root ?

Dans sudoers :
ALL = (user) /chemin/complet/commande

- ALL est toutes les bécanes du parc.
- (user) est le compte utilisateur
- /usr/bin/gparted est le path du script appelant gparted

La syntaxe du refus, c'est quoi ? hmm Ils ne donnent que celle de l'autorisation...
Merci wink

Hors ligne

#2 Le 29/07/2018, à 21:01

lucmars

Re : Restriction de privilèges à travers sudoers

Si ton user est dans le groupe sudo (en fait un user ayant droit d'admin ?) alors conséquemment on ne lui refuse rien !

En la matière, à mon avis, c'est tout noir ou tout blanc, mais on ne fait pas de gris ; sinon ça devient le tas de nouilles.

Bref, il y a une personne qui administre, et les autres lui cassent les pieds.

Désolé de ma part d'etre con et obtus, meme si y a moyen de quelque granularité qui finira en nouilles !


Gaulois Matter !

Hors ligne

#3 Le 29/07/2018, à 21:21

Vronski

Re : Restriction de privilèges à travers sudoers

Bonsoir smile
Non, non : ne sois pas désolé !
Il faut apprendre...
J'ai même tenté, dans /usr/bin :

chown root gparted-pkexec

mais c'est déjà plus ou moins la propriété de root, alors...
Peut-être un chmod a=-x ?
Je donne le retour wink

Hors ligne

#4 Le 29/07/2018, à 21:49

LukePerp

Re : Restriction de privilèges à travers sudoers

Vronski a écrit :

La syntaxe du refus, c'est quoi ? hmm Ils ne donnent que celle de l'autorisation...

Bonjour, c'est très simple, il suffit de supprimer la ligne de l'utilisation concerné.
Par exemple, supposons la présence de la ligne suivante dans sudoers pour l'utilisateur david :

david ALL=NOPASSWD: /usr/bin/apt full-upgrade -y

Pour lui refuser de taper la commande sans taper le mot de passe, il suffit de supprimer cette ligne, ou de la commenter :

#david ALL=NOPASSWD: /usr/bin/apt full-upgrade -y

Dernière modification par LukePerp (Le 29/07/2018, à 21:50)


Desktop & Laptop - Ubuntu Mate dernière LTS - Intel i5 - 16 Go - Dual boot Windows offline

Hors ligne

#5 Le 29/07/2018, à 22:01

lucmars

Re : Restriction de privilèges à travers sudoers

@Luke+Vronski
Si c'est aussi simple que cela, alors un cahier de fil est nécessaire ou impression du sudoers plus un surligneur, ne pas oublié de mettre à jour pour les exceptions ultérieures.

Car si on peut faire du gris aussi simplement, alors un coup de stabilo par dessus.


Gaulois Matter !

Hors ligne

#6 Le 29/07/2018, à 23:36

Vronski

Re : Restriction de privilèges à travers sudoers

Bonsoir à tous smile

@LukePerp : je vais voir ça dans visudo.
Si je pige bien, cette technique lui impose de saisir le mot de passe root pour exécuter cette commande ?
Et si la ligne n'y est pas, je la crée ?
Je donne le retour wink

Ca donnerait ceci ? :

Defaults        env_reset,rootpw
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%georges ALL=NOPASSWD: /usr/bin/gparted-pkexec
sudo   ALL=(ALL:ALL) 

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Dernière modification par Vronski (Le 29/07/2018, à 23:43)

Hors ligne

#7 Le 01/08/2018, à 21:58

Vronski

Re : Restriction de privilèges à travers sudoers

Bonsoir à tous smile
@LukePerp : j'ai tenté ceci, dans le fichier sudoers :

 #
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL
toto ALL=NOPASSWD: /usr/bin/gparted-pkexec

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

L'user toto est dans le groupe sudo, mais la bécane lui permet d'appeler Gparted... avec le mot de passe de toto. Sans exiger le psw root.
Je vais ce que ça donne avec le symbole %, présent dans le fichier sudoers, et je donne le retour.

Hors ligne

#8 Le 02/08/2018, à 17:38

LukePerp

Re : Restriction de privilèges à travers sudoers

Je ne suis pas certain de comprendre ton objectif final. Si tu veux limiter l'usage d'un utilisateur, alors fais autrement. Crée un utilisateur limité et attribut lui certains privilèges. Tu peux le faire à partir des paramètres dans utilisateurs. Ensuite, pour lui permettre de faire les mises à jour par exemple, tu fais un script contenant les lignes suivantes à exécuter au démarrage de la machine (avec la rubrique adéquate dans les paramètres). Tu indique ensuite le script dans sudoers pour qu'il soit exécuter sans besoin de taper le mot de passe.

Script à démarrer au lancement (avec sudo). Tu le nommes updates.sh et tu le places dans /opt/ :

sudo apt update
sudo apt full-upgrade -y

Ligne a ajouter à sudoers pour exécuter le script sans taper le mot de passe (pour l'utilisateur david)

david ALL=NOPASSWD: /opt/updates.sh

Dans la rubrique des paramètres pour démarrer le script au démarrage, faut ajouter sudo devant le script :

sudo /opt/updates.sh

Le script est un exemple. L'idée est de limiter les privilèges d'un utilisateur plutôt que de brider un utilisateur standard. Si l'exemple du script te vas, pense à le modifier (notification pour l'utilisateur, durée d'attente avec exécution...)

Dernière modification par LukePerp (Le 02/08/2018, à 17:43)


Desktop & Laptop - Ubuntu Mate dernière LTS - Intel i5 - 16 Go - Dual boot Windows offline

Hors ligne