sudo: / usr / bin / sudo должен принадлежать uid 0 и иметь бит setuid, установленный после chmod 755 - PullRequest
0 голосов
/ 19 апреля 2019

Я попробовал следующее: https://stackoverflow.com/a/29903645/4983983

Я выполнил это:

n=$(which node); \
n=${n%/bin/node}; \
chmod -R 755 $n/bin/*; \
sudo cp -r $n/{bin,lib,share} /usr/local

, но теперь я не могу выполнить, например, команду sudo su, я получаю следующую ошибку:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

Я не уверен, как я могу повторить это?

РЕДАКТИРОВАТЬ: Относительно ответа @Bodo:

sudo rpm --setperms mkdir
sudo rpm --setugids mkdir
cd /opt
 mkdir test13121
mkdir: cannot create directory ‘test13121’: Permission denied

BUT:

sudo  chown root:root /usr/bin/mkdir && sudo chmod 4755 /usr/bin/mkdir
mkdir test912121

1 Ответ

1 голос
/ 19 апреля 2019

Сложность состоит в том, чтобы выяснить обычные права доступа к файлам, которые вы изменили.

Вы можете попытаться сбросить права доступа к файлам на основе информации в управлении пакетами.

См., Например,https://www.cyberciti.biz/tips/reset-rhel-centos-fedora-package-file-permission.html

Цитирование с этой страницы:

Сброс разрешений всех установленных пакетов RPM

Необходимо использовать комбинациюrpm и команда shell для цикла:

for p in $(rpm -qa); do rpm --setperms $p; done
for p in $(rpm -qa); do rpm --setugids $p; done

Я предлагаю полностью прочитать связанную страницу и попробовать сначала для одного пакета.Я думаю, вы можете как-то попросить rpm найти имя пакета, например, /usr/bin/sudo.и попробуйте, если команды работают для одного пакета.

Редактировать: Если биты setuid или setgid не верны, вы можете попытаться изменить порядок команд ииспользуйте --setugids перед --setperms.(В некоторых случаях chown сбрасывает setuid или setgid бит; не знаю, относится ли это к командам rpm.)

В Интернете есть источники, которые предлагают объединить --setugids и --setperms в одной команде или использовать параметр -a вместо цикла, подобного

rpm -a --setperms

. Прочтите документацию.(У меня нет системы на основе RPM, где я мог бы тестировать команды.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...