Linux

限制 ssh 使用者登錄到 php 腳本的權限

  • March 22, 2011

我需要製定一種方法來限制使用者(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 腳本可能會更容易,並通過同一站點提供文本文件上傳。這樣,您就可以非常精細地控制什麼是允許的,什麼是不允許的。

引用自:https://serverfault.com/questions/250211