谁能告诉我如何umask为单个sftp用户设置?值得一提的是IBM AIX ......
添加umask 002到该用户.profile不起作用...(目标是该用户文件可供同一组的人访问).
我已经看到在某种程度上编辑sftpd配置,虽然我只想为一个用户设置它,所以我希望找到一些不需要root访问权限的东西.
谢谢!
F.
dom*_*ikz 22
对我来说很棒.但是,需要进行一些研究,因为您提供的是文档的摘录.在我的例子中,一个具体的例子是在/ etc/ssh/sshd_config的末尾放置两个连续的行
Match Group www-data
ForceCommand internal-sftp -u 2
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我想要做的是如果组'www-data'中有人登录,则将umask设置为'002'(十进制2).
还有一个使用env的选项.变量SSH_ORIGINAL_COMMAND而不是'internal-sftp',但我没有时间去追求它.
用户可以在客户端(每个连接)或服务器(每个公钥)上自行设置,无需 root 参与。
从客户端,我们可以使用以下选项覆盖用于处理 sftp 交互的远程命令-s:
sftp -s 'umask 0777; env PATH=${PATH}:/usr/libexec/openssh:/usr/lib/ssh:/usr/sbin sftp-server' username@hostname
Run Code Online (Sandbox Code Playgroud)
(如果你的sftp-server未安装在上述位置之一,请将其也添加到路径中)。
从服务器上,我们可以在使用特定公钥建立连接时强制运行特定命令。这将为所有连接运行,而不仅仅是 SFTP 的连接,但我们可以检查$SSH_ORIGINAL_COMMAND环境变量来决定采取什么操作。添加类似以下内容authorized_keys可能足以满足您的需求:
command="umask 0777; if [[ -n $SSH_ORIGINAL_COMMAND ]]; then eval $SSH_ORIGINAL_COMMAND; else exec bash --login; fi" ssh-rsa AAAAB3NzaC1yc2EA...
Run Code Online (Sandbox Code Playgroud)
(替换您最喜欢的 shell 来处理任何交互式登录,并注意如果您使用,则tcsh必须修改它以适应该 shell 的语法)。
| 归档时间: |
|
| 查看次数: |
28958 次 |
| 最近记录: |