KAr*_*aud 1 freebsd ssh shell jail freenas
我在 NAS4FREE 上使用 Finch-Freebsd 用 ssh 创建了一个监狱,并添加了一个本地非超级用户以通过 ssh 访问监狱。
我希望能够授予此用户有限的 shell 访问权限,专门用于关闭监狱,然后开始关闭监狱所在的服务器
我怎样才能给上述用户有限的 shell 命令权限来启动关闭命令?
到目前为止,在尝试启动一个 sh /etc/rc.shutdown
我得到以下输出
评估:无法打开 /var/run/cron.pid:权限被拒绝停止 sshd。杀死:12060:不允许操作停止lighttpd。杀死:12001:操作不允许评估:无法打开/var/db/mysql/RemandYard.pid:权限被拒绝 pututxline:权限被拒绝终止
正如 Kassandry 所说,你不能通过监狱本身的命令来做到这一点。
但是,您可以做的是创建一个单独的用户(此后我将closer在主机系统上调用该用户。应该阻止此用户,以便它只能使用 SSH 密钥登录。
您被监禁的用户应该拥有私钥和密钥的密码。
在主机端,您授予closer帐户 sudo 权限:
closer localhost=NOPASSWD:/usr/sbin/shutdown
Run Code Online (Sandbox Code Playgroud)
在主机端,将 SSH 密钥的公共部分放在/home/closer/.ssh/authorized_keys. 编辑密钥,使其以
command="sudo /usr/sbin/shutdown",from="1.2.3.4"
Run Code Online (Sandbox Code Playgroud)
然后是实际的键,都在同一行上。(当然,修复 IP 地址,使其与监狱匹配。)使authorized_key文件和目录对用户不可写。
当被监禁系统上的用户现在使用该密钥通过 SSH 连接到主机时,它将立即触发关闭。用户将无法使用该密钥执行任何其他操作 - 无论何时他们使用该密钥登录,它都会简单地运行该命令。密钥只能在这一个监狱中使用,因此如果他们以某种方式获得了密钥,您就不必冒险让全世界都可以关闭您的服务器。
| 归档时间: |
|
| 查看次数: |
925 次 |
| 最近记录: |