Est-il possible de modifier le fichier sudoers afin qu'un utilisateur puisse utiliser sudo pour n'importe quelle commande à l'exception de celle spécifiée? J'inverse est vrai, je crois, que le fichier sudoers peut être configuré de sorte qu'un utilisateur ne peut exécuter qu'une liste donnée de commandes.
EDIT: les commandes que je veux vraiment supprimer sont l'arrêt et le redémarrage ... cela me fait penser qu'il existe des appels système spéciaux pour l'arrêt et le redémarrage. Pouvez-vous retirer les appels système d'un utilisateur? Si ce n'est pas le cas, est-ce parce que le système de permission Unix résume les appels système en négligeant cela?
Enregistrez tout ce qu'ils font via sudo, sans doute, vous avez un moyen de faire passer le message pour ne pas le refaire.
enregistrera toutes les commandes qu'ils exécutent, google un peu pour plus d'informations.
la source
Oui et non ... Vous pouvez empêcher un utilisateur d'exécuter un fichier spécifique en le précédant d'un coup (!), Mais vous ne pouvez pas empêcher un utilisateur de copier le fichier vers un autre emplacement, puis de l'exécuter à partir de là.
Accorder l'accès à des fichiers spécifiques en tant qu'autre utilisateur
la source
Si l'utilisateur veut vraiment redémarrer, il trouvera un moyen.
sudo -s
,sudo -i
,sudo $EDITOR /etc/sudoers
... peut être utilisé pour supprimer vos restrictions.Et sur les systèmes de type Unix, vous êtes autorisé à redémarrer le système tant que vous êtes root (uid 0). Si vous trouvez un moyen de restreindre ces appels système, vous pouvez le faire:
ou une variante de celui-ci. Ou redémarrez en provoquant une panique du noyau. Ou...
Enfin, avoir un accès root vous donne généralement la possibilité de supprimer toutes les restrictions en place.
la source
bien sûr, en tant que root appelez visudo et empêchez 'user' d'exécuter / sbin / halt:
la source
Il y a un risque à procéder de cette façon: il existe souvent plusieurs façons de faire la même action. Par exemple, telnit 6 ou init 6 effectue également un redémarrage. Il pourrait y avoir un moyen de forcer le noyau à vider le noyau et à redémarrer également.
la source
La ligne suivante devrait laisser l'utilisateur "jim" exécuter tout sauf / usr / bin / kill et / usr / bin / su.
la source
Ceci n'est pas testé et YMMV, mais qu'en est-il de la mise en place d'une cmd_list des commandes que vous ne souhaitez pas exécuter, puis utilisez! Cmd_list pour le groupe / utilisateur spécifié?
Je n'ai pas accès à ce test et j'ai simplement regardé la page de manuel en ligne sur Sudoers Manual, donc certains experts me corrigeront ici si je me trompe
la source