背景
这篇篇文可以解决下面两个问题
- 通过scp传送文件,文件权限变成了
0600(可以直接用 rsync 代替,rsync 选项--chmod=D655,F644) - Jenkins下 Pipe 脚本创建的文件权限为
0600(其实原理跟上面一样,只不过在这个问题上被逼着解决)
系统环境
CentOS Linux release 8.2.2004 (Core)
解决办法
- 确保文件
/etc/ssh/sshd_config中的配置为UsePAM true
如果修改了 sshd_config 记得重启一下 sshd(sudo systemctl restart sshd) - 在文件
/etc/pam.d/sshd中添加一行session optional pam_umask.so umask=022
这里的022可以改为你需要的值,022创建的文件将会是0644的权限
验证
ssh root@remote_host 'umask' # 修改之前是 077
本文介绍了如何解决通过SCP传输文件和Jenkins Pipeline创建文件时的权限问题。在CentOS 8系统环境下,通过修改`sshd_config`和`pam.d/sshd`文件,设置umask值,以确保创建的文件具有预期的权限。通过这种方法,成功解决了非登录模式下的SSH文件权限问题。
最低0.47元/天 解锁文章
889

被折叠的 条评论
为什么被折叠?



