SFTP 用户的 Umask

SFTP 用户的 Umask

我公司的 SFTP 服务器上的 /etc/pam.d/sshd 文件中有一个语法:

session optional pam_umask.so umask=444

我发现此命令会将所有 SFTP 客户端的上传文件权限从 644 更改为 222。是否可以使用此语法匹配用户?我只希望此命令在特定用户上传文件时有效,并为其余用户保留 644。

我对 Ubuntu 还很陌生,如能得到任何帮助我将不胜感激!

答案1

根据man pam_umask(libpam-modules 版本 1.3.1-5ubuntu4.1)1

   The PAM module tries to get the umask value from the following places
   in the following order:

   ·   umask= entry in the user's GECOS field

   ·   umask= argument

   ·   UMASK= entry from /etc/default/login

   ·   UMASK entry from /etc/login.defs (influenced by USERGROUPS_ENAB in
       /etc/login.defs)

因此,应该可以在 GECOS 字段中为用户设置每个用户的 umask someuser,例如使用

sudo chfn -o umask=0444 someuser

然后在文件中的条目umask=0022中设置- 或者更好的是,完全省略那里,以便其他用户回到默认文件中指定的 umask。pam_umask/etc/pam.d/sshdumask=


笔记:

  1. 在早期版本中,顺序似乎有所不同,umask=配置文件中的参数优先级高于 GECOS 条目中的参数。

相关内容