Question

J'écris un script shell qui est censé être exécuté par les utilisateurs que dans la liste des utilisateurs de sudo, quelle est la manière appropriée de le faire?

ce que je pense est dans le script shell, essayez de créer un fichier fictif dans le système dir tel que / var / run / et retirez-le, afin que les utilisateurs ne sont pas dans la liste sudo recevront une erreur de permission, mais je crois qu'il doit y avoir un moyen plus approprié de le faire, merci pour aider

Était-ce utile?

La solution

Vous pouvez vérifier les valeurs de UID $ et EUID $ dans votre script. Ils seraient nuls pour être équivalent à la racine. Ou, sinon Bash, vous pouvez utiliser id -u.

Autres conseils

Modifier les permissions d'exécution sur le script pour être seulement exécutable par l'utilisateur, et modifier la propriété du script à root. Cela devrait le faire.

assurez-vous que vous êtes dans la liste sudoers alors:

sudo chmod 700 / chemin / vers / scriptname

[commentaire réponse]
désolé - Je ne me subversion: je suppose que vous devez exécuter un autre script comme sudoer qui va créer le script avec les autorisations correctes

.

Non, vous n'êtes pas doivent changement de propriété à la racine, mais il va garder les choses propres si vous le faites.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top