From 650e8a23b7d8a83e9919fe1598cba6cad08febd3 Mon Sep 17 00:00:00 2001 From: Marcin Jachymiak Date: Tue, 19 May 2020 16:14:28 -0400 Subject: [PATCH] Add limits.conf file --- setup-scripts/limits.conf | 58 +++++++++++++++++++++++++++++++++++++++ setup-scripts/setup.sh | 3 ++ 2 files changed, 61 insertions(+) create mode 100644 setup-scripts/limits.conf diff --git a/setup-scripts/limits.conf b/setup-scripts/limits.conf new file mode 100644 index 00000000..bc632dfe --- /dev/null +++ b/setup-scripts/limits.conf @@ -0,0 +1,58 @@ +# /etc/security/limits.conf +# +#Each line describes a limit for a user in the form: +# +# +# +#Where: +# can be: +# - a user name +# - a group name, with @group syntax +# - the wildcard *, for default entry +# - the wildcard %, can be also used with %group syntax, +# for maxlogin limit +# - NOTE: group and wildcard limits are not applied to root. +# To apply a limit to the root user, must be +# the literal username root. +# +# can have the two values: +# - "soft" for enforcing the soft limits +# - "hard" for enforcing hard limits +# +# can be one of the following: +# - core - limits the core file size (KB) +# - data - max data size (KB) +# - fsize - maximum filesize (KB) +# - memlock - max locked-in-memory address space (KB) +# - nofile - max number of open file descriptors +# - rss - max resident set size (KB) +# - stack - max stack size (KB) +# - cpu - max CPU time (MIN) +# - nproc - max number of processes +# - as - address space limit (KB) +# - maxlogins - max number of logins for this user +# - maxsyslogins - max number of logins on the system +# - priority - the priority to run user process with +# - locks - max number of file locks the user can hold +# - sigpending - max number of pending signals +# - msgqueue - max memory used by POSIX message queues (bytes) +# - nice - max nice priority allowed to raise to values: [-20, 19] +# - rtprio - max realtime priority +# - chroot - change root to directory (Debian-specific) +# +# +# + +#* soft core 0 +#root hard core 100000 +#* hard rss 10000 +#@student hard nproc 20 +#@faculty soft nproc 20 +#@faculty hard nproc 50 +#ftp hard nproc 0 +#ftp - chroot /ftp +#@student - maxlogins 4 + +user soft nofile 25000 +# End of file +~ diff --git a/setup-scripts/setup.sh b/setup-scripts/setup.sh index 94913cd7..fabb4e1a 100755 --- a/setup-scripts/setup.sh +++ b/setup-scripts/setup.sh @@ -71,6 +71,9 @@ sudo mkdir -p /var/log/journal sudo cp journald.conf /etc/systemd/journald.conf sudo systemctl restart systemd-journald +# Set up file limits. +sudo cp limits.conf /etc/security/limits.conf + # Setup periodical /tmp cleanup so we don't run out of disk space # - deletes anything older than 10 days from /tmp, crontab is set to run it every day at midnight (sudo crontab -l 2>/dev/null; echo "0 0 * * * find /tmp -type f -atime +10 -delete >/dev/null 2>&1") | sudo crontab -