在客户端 C 上,通过 SSHFS(以用户 U 的身份进行身份验证)挂载了来自服务器 S 的目录。S 上的相关文件系统设置了配额。C 上的用户如何查看自己的配额?quota
在 C 上运行的命令不显示任何内容。有没有什么办法可以让它正常工作?S 使用 XFS,如果这有什么不同的话。
解决方法:
- 以 U 身份通过 SSH 进入 S 并
quota
在那里运行命令。问题是,不应允许 U 访问 S 的 shell。目前,这是通过ForceCommand internal-sftp
中的Match
块实现的sshd_config
。我们必须编写一个包装器脚本来允许sftp-server
和quota
。 - 让 S 上的 CRON 作业定期
quota
为每个用户运行,并将结果放在其主目录中的文件中,例如~/.quota
。优点:SSHD 配置保持整洁;缺点:服务器负载更大,没有实时的用户信息。