Setidaknya di Linux, sebagian besar distro tampaknya menggunakan pam untuk otentikasi. Satu modul yang dilengkapi dengan pam adalah modul limit . Mengutip dari README untuk pam_limits:
The pam_limits PAM module sets limits on the system resources that can be obtained in a user-session. Users of uid=0 are affected by this limits, too.
Sebagai hasilnya, Anda dapat menetapkan batas per pengguna, per grup, dan standar, dalam kedua kategori tersebut keras (root menyetel ini dan proses tidak dapat meminta lebih tinggi) dan batas lunak. Batas lunak biasanya ditetapkan lebih rendah dari batas keras, dan aplikasi dapat meningkatkannya hingga mencapai batas keras.
Dalam kasus Anda, jika proses yang Anda inginkan untuk meningkatkan batas berjalan sebagai pengguna biasa, Anda dapat meningkatkan batas untuk pengguna atau grup itu. Sebagai contoh, saya memiliki beberapa tugas cs mysql di beberapa server yang memerlukan pegangan file ekstra untuk dibuka, jadi saya mengatur ini:
$ cat /etc/security/limits.d/mysql.conf
@mysql soft nofile 100000
@mysql hard nofile 200000
Tidak ada yang perlu direstart; ketika Anda su ke pengguna itu, Anda dapat segera melihat bahwa batas baru berlaku.
Hal lain yang dapat Anda lakukan jika Anda menggunakan sistem turunan RedHat adalah memasukkan panggilan ulimit yang Anda inginkan ke dalam skrip / etc / sysconfig / $ SERVICE. Sebagai contoh, skrip init apache bernama /etc/init.d/httpd, dan sumber file konfigurasi / etc / sysconfig / httpd jika ditemukan. Saya merasa lebih mudah untuk mengelola dengan melakukan ini daripada mengedit skrip init itu sendiri karena skrip init dapat diperbarui ketika rpm ditingkatkan, tetapi file sysconfig hanya diperbarui jika mereka tidak diubah dari default.