Linux
限制 ssh 使用者登錄到 php 腳本的權限
我需要製定一種方法來限制使用者(ubuntu 10.04 上的 ssh 登錄)只允許執行以下操作:
- 僅上傳 txt 文件(通過 SCP 或 SFTP)
- 執行php命令“php somefile.php”
這可行嗎?
您可以將使用者外殼(in
/etc/passwd
)更改為自定義外殼…簡單的例子:
#!/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 會執行。如果他進入,外殼將關閉。
通過 Web 伺服器提供 php 腳本可能會更容易,並通過同一站點提供文本文件上傳。這樣,您就可以非常精細地控制什麼是允許的,什麼是不允許的。