linux – 如何为系统用户设置umask?

是否可以为系统用户设置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函数或系统调用

上一篇:Linux学习记录 Day2(拓展命令)


下一篇:useradd和adduser的区别