На этот вопрос уже есть ответ здесь:
По ошибке я изменил /bin на пользователя/группу. Есть ли способ вернуться к пользователям/группам по умолчанию? Команда, которую я выполнил:
chown -R -H -v starlord:starlord /bin
/bin
с установленным битом setuid
При чистой установке следующие файлы в bin
имеют установленный бит setuid
(согласно find /bin -perm -4000
):
/bin/ping
/bin/ping6
/bin/su
/bin/umount
/bin/fusermount
/bin/mount
/bin/ntfs-3g
Примечание: Возможно, вы установили программное обеспечение, которое добавляет в этот список (или в котором по какой-то причине установлен бит setgid
), поэтому следующее может не работать полностью, так как он оставит бит setuid
вне всего, чего нет в этом списке.
sudo chown -R -H root:root /bin
sudo chmod u+s /bin/ping /bin/ping6 /bin/su /bin/umount /bin/fusermount /bin/mount /bin/ntfs-3g
Редко хорошей идеей является изменить что-либо в /bin
, которое зарезервировано для установленных файлов и поддерживается через менеджер пакетов. Владельцу пакета, а не вам, принадлежит /bin
.
Если вы удалите что-то, вещи, которые зависят от этого, сломаются. Если вы что-то измените или добавите, ваши изменения могут быть удалены в будущем обновлении через менеджер пакетов.
Вместо этого храните программы, полезные для всех пользователей, в таких местах, как /usr/local/bin
и /usr/local/sbin
. Храните программы, полезные только для одного пользователя в ~user/bin
. Эти места принадлежат и управляются системным администратором и отдельным пользователем соответственно.
Если вы все еще хотите игнорировать этот совет, правильный способ изменить вещи в /bin
- использовать sudo
. Например, вы можете скопировать файл в /bin
с помощью:
sudo cp program /bin
Вы можете удалить его с помощью:
sudo rm /bin/program
Попробуйте запустить sudo chown -R -H root:root /bin
. При условии, что вы не выполнили ни одной chmod
команд на /bin
, которые должны вернуть все обратно к тому, как они должны быть