Можно ли изменить разрешение каталога на предыдущее состояние?

Я случайно изменил разрешение каталога «/ usr / bin» и его файлов командой:

$chmod 775 /usr/bin -R 

Во-первых, возникла проблема с sudo, но я ее исправил. Теперь я подозреваю, что некоторые программы могут не запускаться из-за изменения их разрешения.

Интересно, возможно ли вернуть прежнее разрешение?

Я использую Debian / testing.

  • Ubuntu K / FreeBSD
  • Есть ли дополнительная опция для отображения скрытой команды на терминале?
  • Включить клавиатуру в приложении QT, которое запускается с помощью systemd
  • Частный репозиторий Debian для обслуживания выбранных пакетов выбранным машинам
  • Что изменилось между ядрами 3.2 и 3.9, которые влияют на MiniDLNA?
  • Автоматизация USB-приводов на Debian 8 не работает
  • Debian - установите необходимый компакт-диск
  • 31 компакт-диски Debian - Почему? и что мне нужно для установки на настольном компьютере?
  • 2 Solutions collect form web for “Можно ли изменить разрешение каталога на предыдущее состояние?”

    Большинство программ в /usr/bin должны иметь разрешения 755 – читаемые и исполняемые всеми, доступные для записи только их владельцем, который является root. Несколько программ – setuid или setgid : у них есть дополнительные привилегии, которые присваиваются бит setuid или setgid в разрешениях. /usr/bin/sudo – один из них; он должен быть setuid root: chmod 4755 /usr/bin/sudo восстанавливает его.

    Если у вас есть только официальные пакеты от Debian (в отличие от пакетов в дистрибутивах, полученных из Debian или из других источников), вы можете узнать, какие из них содержат двоичные файлы setuid / setgid, перейдя через отчеты Lintian : setuid , setgid , both . В принципе, все эти пакеты должны поставляться с файлом в /usr/share/lintian/overrides который объявляет двоичный файл setxid (тег «overridden» на этих страницах указывает на наличие такого объявления), но некоторые пакеты не соответствуют (включая вездесущие, такие как at и xserver-xorg ).

    Следующий скрипт выдает скрипт оболочки, который выполняет команду chmod для восстановления файлов в /usr/bin до их разрешений по умолчанию, если их разрешения по умолчанию включают бит setuid или setgid.

     wget -q -O - https://lintian.debian.org/tags/set{uid,gid,uid-gid}-binary.html | sed -n 's~^.*> *\(usr/bin/[^ ]*\) \([0-7][0-7][0-7][0-7]\).*~[ -e /\1 ] \&\& chmod \2 /\1~p' 

    Кроме того, некоторые разрешения могут быть настроены локально. Эти разрешения регистрируются с помощью `dpkg-statoverride . Вы можете перечислить их с помощью

     dpkg-statoverride --list '/usr/bin/*' 

    и вы можете повторно применить эти разрешения с помощью

     dpkg-statoverride --list '/usr/bin/*' | awk 'system("chmod " $3 " " $4)' 

    Если у вас есть пакеты не из Debian, единственный способ получить правильные разрешения – переустановить их с помощью apt-get --reinstall install PACKAGE-NAME .

    К счастью, эти разрешения не являются полными разрушительными, но нет «отмены».

    Если вы не можете восстановить из резервной копии и вы ничего не установили из источника в /usr/bin вы можете потенциально использовать диспетчер пакетов для восстановления правильных разрешений:

    Для распределений на основе RPM (Red Hat Enterprise Linux, Fedora, CentOS и т. Д.) Это довольно просто:

     rpm -a --setperms 

    Для распределений на основе dpkg (таких как Debian & Ubuntu) он выглядит немного менее тривиальным …

    Linux и Unix - лучшая ОС в мире.