Запретить выполнение в домашнем каталоге

Есть ли способ запретить выполнение файла от домашнего директора в Linux? Моя цель – защитить мою систему от вредоносных скриптов и т. Д. Конечно, я могу удалить бит выполнения с помощью chmod для /home/user и всех его подкаталогов, но легко можно было изменить, так как user является владельцем /home/user . Поэтому я думаю о том, чтобы включить выполнение из bin , /usr/bin , usr/sbin и запретить выполнение из других каталогов. Моя система – Debian 8.

  • Команда pipe внутри exec не будет работать
  • Переменные за пределами цикла while
  • удаление данных из txt-файла
  • Как создать несколько почтовых индексов из каталога, содержащего миллион XML-файлов?
  • Автоматически определять, когда файл достиг предела размера
  • Escape whitespace в поиске для pdftk без xargs -J
  • Использование одной команды для определения скорости NIC
  • Синтаксис Ошибка при попытке запустить скрипт
  • 2 Solutions collect form web for “Запретить выполнение в домашнем каталоге”

    1. если /home – отдельный раздел, вы можете установить его с помощью опции noexec .

    2. Делая это, вы уничтожаете (или пытаетесь) большую часть функциональности системы unix для своих пользователей, поскольку она отключает ВСЕ пользовательские скрипты, а не только «вредоносные». Написание сценариев для создания материала – это совершенно нормальная вещь для пользователей unix.

    3. Это все еще не мешает им писать сценарии и выполнять их с bash myscript.sh или perl myscript.pl и т. Д.

    4. Если у вас нет хотя бы минимального доверия к вашим пользователям, не давайте им оболочку или не давайте им ограниченную оболочку, такую ​​как /bin/rbash вместо /bin/bash .

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

    В основном вы настраиваете там /usr/bin/lshell оболочку как /usr/bin/lshell вместо bash , тогда вы можете настроить ее через /etc/lshell.conf для каждого пользователя, чтобы разрешить выполнение только некоторых вещей.

    Однако это может нарушить большинство программ, доступных для пользователя без расширенной конфигурации, – также можно сделать некоторые программы для выполнения пользовательских команд, которые, вероятно, могут быть использованы для выхода из ограниченной оболочки.

    Поэтому, если у вас есть правильные разрешения, установленные в системе (и не доступ к sudo , см. Также то, что разрешает polkit ), они должны иметь возможность использовать стандартную оболочку для входа, не затрагивая остальную систему.

    NB другой метод, который я знаю, где ненадежные пользователи имеют доступ к системам, – это каждый день или около того перерисовывать всю систему. В большинстве случаев это не очень практично.

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