是否可以为系统用户设置umask(使用useradd –system username创建)?
解决方法:
设置用户的umask有三种常用方法.
>在/etc/login.defs中设置UMASK
>将pam_umask.so添加到/etc/pam.d中的PAM配置中
>在shell启动文件中设置它,例如/ etc / profile文件
在这方面,系统用户和普通用户之间没有区别.
但我假设您正在尝试使用自定义umask启动守护程序?
问题是:所有上述选项都在用户登录时发生.如果您正在运行守护程序,它从不登录.它由init启动,然后以root身份运行,或者调用setuid以系统用户身份运行指定.
您的主要选择是:
>将umask放入init脚本中(以grep umask /etc/init.d/*为例)
>配置init以使用自定义umask启动程序(systemd.exec upstart umask)
>如果使用start-stop-daemon,则传递umask option
>修改程序本身以调用umask函数或系统调用