如何在Debian Stretch中为普通用户永久更改开放文件(ulimit-n)?

如何在Debian Stretch中为普通用户永久更改开放文件(ulimit-n)?,debian,ulimit,Debian,Ulimit,我想永久更改系统打开文件设置,但它不起作用 我的登录用户是普通用户,而不是root。我做了以下手术: 文件/etc/sysctl.conf $ grep 'fs.file-max' /etc/sysctl.conf fs.file-max = 800000 $ grep nofile /etc/security/limits.conf # - nofile - max number of open files * soft nofile 655360 * hard nofile

我想永久更改系统打开文件设置,但它不起作用

我的登录用户是普通用户,而不是
root
。我做了以下手术:

文件
/etc/sysctl.conf

$ grep 'fs.file-max' /etc/sysctl.conf
fs.file-max = 800000
$ grep nofile /etc/security/limits.conf
#        - nofile - max number of open files
* soft nofile 655360
* hard nofile 655360
文件
/etc/security/limits.conf

$ grep 'fs.file-max' /etc/sysctl.conf
fs.file-max = 800000
$ grep nofile /etc/security/limits.conf
#        - nofile - max number of open files
* soft nofile 655360
* hard nofile 655360
设置
/etc/security/limits.conf
在CentOS/OpenSUSE上可用,但在Debian中不可用

添加

session    required   pam_limits.so
在文件
/etc/pam.d/common session{,-noninteractive}
中,文件
/etc/pam.d/login
已经有了它。绝对路径是

/lib/x86_64-linux-gnu/security/pam_limits.so
重新启动后执行
ulimit-n
,输出仍然是默认值1024

$ ulimit -n
1024

我应该怎么做才能使它生效?

在Debian中这不是问题。 这是systemd+gnome中的一个问题。 systemd选择不读取或使用limits.conf,gdm选择让systemd设置其限制。 ssh sudo sutty将正常使用
/etc/seecurity/limits.conf
。 看看这只戴着软呢帽的虫子。在讨论中,这个解决方案对我有效

创建文件
/etc/systemd/system/user@1000.service.d/limit.conf
,将1000替换为您的用户ID,将此文件中的限制设置为systemd服务中的限制:

[Service]
LimitNOFILE=655360

你试过这个吗?对于Oracle Linux 8.0,它是一个名为/etc/systemd/system的文件/user@1000.service.d/limits.conf,我还必须在之前重新启动,以便在ulimit-a中可以看到更改