我需要想办法限制用户(ubuntu 10.04 上的 ssh 登录)仅有的被允许执行以下操作:
- 仅上传 txt 文件(通过 SCP 或 SFTP)
- 执行 php 命令“php somefile.php”
这可行吗?
答案1
您可以将用户 shell (在/etc/passwd
)更改为自定义 shell......
简单示例:
#!/bin/bash
php somefile.php # You might need to give the full path to the php-bin.
bash -r -c read
将其保存在 中/bin
,添加到/etc/shells
并使其可运行。用户仍然可以使用 SCP 和 SFTP,但当他尝试打开 shell 时,php 将运行。如果他输入,shell 将关闭。
答案2
通过 Web 服务器提供 php 脚本并通过同一站点提供文本文件上传功能可能更简单。这样,您就可以非常精细地控制允许和不允许的内容。