Файл /root/ulimit.sh#

ulimit.sh - это прикладной скрипт, используемый для тестирования наличия/отсутствия ограничений на максимальное число параллельных сеансов для всех пользователей в системе.

Ограничения для пользователей задаются в конфигурационном файле /etc/security/limits.conf (подробнее см. в «Файл limits.conf»).

Содержание скрипта:

#!/bin/bash
for user in $(cut -d: -f1 /etc/passwd); do
    echo "Maxlogins for user $user:"
    su -c "ulimit -a | grep maxlogins" -s /bin/sh $user
done > /root/maxlogins.txt

Где:

  • #!/bin/bash - указание на выполнение скрипта в оболочке bash;

  • for user in $(cut -d: -f1 /etc/passwd); - перебор строк файла /etc/passwd (подробнее см. в «Файл passwd») и извлечение имен пользователей с помощью cut (подробнее см. в «Утилита cut»);

  • echo "Maxlogins for user $user:" - вывод указанного сообщения для каждого пользователя (подробнее см. в «Утилита echo»);

  • su -c "ulimit -a | grep maxlogins" -s /bin/sh $user - переключение пользователя на текущего пользователя из цикла с помощью su (подробнее см. в «Утилита su») и получение соответствующего значения параметра maxlogins (подробнее см. в «Утилита ulimit», «Утилита grep», «Утилита sh»);

  • done > /root/maxlogins.txt - после завершения цикла результаты должны быть записаны в файл /root/maxlogins.txt (подробнее см. в «Файл maxlogins.txt»).