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

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

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 другой метод, который я знаю, где ненадежные пользователи имеют доступ к системам, – это каждый день или около того перерисовывать всю систему. В большинстве случаев это не очень практично.

  • grep -Ef для захвата соответствующих ip-адресов в двух файлах, а также результат печати или эха каждой итерации, xx.xx.xx.xx found или xx.xx.xx.xx не найден
  • Почему этот скрипт рыбы не запускается из пусковой установки?
  • Bash работает с несколькими программами и закрывается
  • Некоторые символы исчезают после обработки текстового файла
  • удалять строки из выходного файла из diff
  • Как я могу захватить статус возврата и использовать тройник одновременно в оболочке korn?
  • Выполнить опцию по умолчанию, если в getopts не указаны параметры
  • установить флаг для удаления дубликатов записей из файла на основе некоторых значений записи
  • Переместить файл на основе его содержимого
  • Как переносить переменные из другого Makefile в сценарий оболочки
  • Мониторинг файловой системы с использованием файла конфигурации
  • Linux и Unix - лучшая ОС в мире.