Question sudo: doit être setuid root (Mac OS X)


Iran

$ sudo chown -R $USER /usr/bin 

et maintenant, quand j'essaie d'exécuter des programmes sous le chemin / usr / bin en tant que sudo, je reçois

sudo:must be setuid root

Que dois-je faire si je souhaite inverser le chown?


6
2017-09-29 02:22


origine


Il est également possible que le système de fichiers ait été monté avec l'option nosuid, auquel cas mount -u / devrait résoudre ce problème (en supposant que vous puissiez obtenir les privilèges root pour le faire!). - 200_success


Réponses:


Exécutez Utilitaire de disque, sélectionnez votre volume de démarrage et utilisez "Réparer les autorisations". Étant donné que les fichiers de / usr / bin (y compris sudo) ont été installés avec le système d’exploitation, il sait quels droits de propriété et autorisations devraient être accordés, et cela les restituera correctement.


13
2017-09-29 07:53



Autorisations de réparation non trouvées - Gank
Les autorisations de réparation @Gank ont ​​été supprimées dans El Capitan (OS X v10.11) car la protection de l'intégrité du système évite la plupart des problèmes que Réparerait les autorisations (y compris la modification des permanentes sur / usr / bin / sudo), et les empêcherait d’être réparés s’ils se faisaient avoir. Pour que ce problème existe même sous El Capitan et plus tard, vous devez avoir désactivé SIP ou avoir fait quelque chose de similaire, et la procédure de réparation en dépendra. Ou vous pouvez simplement réinstaller la même version sur votre système actuel (ce qui devrait préserver les données et les paramètres utilisateur). - Gordon Davisson
Oui, j'ai désactivé SIP auparavant. Je l'ai activé maintenant mais ne fonctionne pas. Comment le résoudre? Le système réinstallera-t-il mes données? - Gank
@Gank La réinstallation de la même version (ou plus récente) de macOS sur le système d'exploitation existant ne devrait pas supprimer vos données (à moins que vous n'effaciez explicitement le volume dans le cadre de l'opération). toutefois, l'installation est connue pour échouer et parfois de manière à laisser le disque illisible. De plus, le programme d’installation supprimera les modifications apportées aux régions du système de fichiers protégées par SIP (non juste les autorisations sur / usr / bin / sudo). Je vous recommande donc vivement de vous assurer de bien sauvegarder tout ce que vous ne voulez pas perdre avant d'essayer de le réparer. - Gordon Davisson
Parfait résolu par ce que vous avez dit - Gank


xattr /usr/bin
com.apple.FinderInfo
com.apple.rootless

xattr -d <extended_attribute> /usr/bin

cela supprimera l'attribut, vous pourrez donc exécuter les commandes, puis assurez-vous de réactiver l'attribut lorsque vous avez terminé:

xattr -w <extended_attribute> /usr/bin

cela réactivera l'attribut.

Ozz


1
2017-10-20 21:14





Tu dois chown les fichiers à root et alors chmod u+x tous les programmes qui devraient être setuid root.


0
2017-09-29 02:24



$ sudo chown -R root /usr/bin ==> sudo: must be setuid root - jerome
Connectez-vous en tant que root en premier lieu. N'essayez pas d'utiliser sudo. Si vous n'autorisez pas les connexions root (pas même par ssh), vous devrez peut-être démarrer sur un shell de récupération pour le réparer. - David Schwartz
Je suis l'utilisateur root. Si je cours chwon -R root /usr/bin en tant qu'utilisateur, je reçois un tas de Operation is not permitted messages pour chaque programme et fichier /usr/bin. - jerome
Êtes-vous sûr que ce sont tous les fichiers et programmes? Cela devrait juste être ceux du système immuable, que vous n'auriez pas pu gâcher de toute façon. Si vous êtes sûr à 100%, vous devrez effacer l'indicateur d'immuable du système en émettant un chflags noschgcommande, probablement en mode mono-utilisateur. - David Schwartz


Je ne connais pas OSX, mais sous Linux, vous pouvez le faire en lançant su - se connecter en tant que root et chown -R root /usr/bin.


0
2017-09-29 02:25