sudo: должен быть установлен root (Mac OS X)

Я побежал

$ sudo chown -R $USER /usr/bin 

и теперь, когда я пытаюсь запустить программы по пути /usr/bin как sudo, я получаю

sudo:must be setuid root

Что мне делать, если я хочу вернуть чау?

4 ответа

Решение

Запустите Дисковую утилиту, выберите загрузочный том и используйте "Восстановить разрешения". Поскольку файлы в /usr/bin (включая sudo) были установлены как часть операционной системы, он знает, какими должны быть их права доступа и права доступа, и вернет их обратно.

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

xattr -d <extended_attribute> /usr/bin

это удалит атрибут, поэтому вы можете выполнять команды, а затем убедитесь, что вы снова включите атрибут, когда закончите:

xattr -w <extended_attribute> /usr/bin

это повторно активирует атрибут.

Ozz

Вам нужно chown файлы обратно root а потом chmod u+x все программы, которые должны быть setuid root.

Я не знаком с OSX, но в Linux вы можете сделать это, запустив su - войти в систему как root и chown -R root /usr/bin,

Другие вопросы по тегам