在基于SSH密钥的身份验证中为用户限制几个命令?


2

目前我们正在使用SSH密码身份验证,现在我们要转向基于SSH密钥的身份验证。我们有多个用户使用同一台服务器。我们如何限制某些用户执行某些命令?


您希望限制哪些命令?Linux有很多种限制登录和执行操作的方法,但是你需要更加具体地限制你需要限制的内容。
djsmiley2k

(现在我很晚才回答这个问题,但只是给你一些即时反馈:这很有可能。一种方法是让SSH密钥运行一个命令。一种更灵活的方式,有多种用途,是允许SSH键受限制较少,但要让sudo控制哪些命令可用。两种方法都可以组合。)
TOOGAM

假设我想阻止用户删除任何文件。(限制用户执行任何rm命令)
Ash

Answers:


0

您可以使用Limited shell或任何其他可用工具来创建有限的shell。(示例:lshell Limited Shell) 您可以参考此链接了解更多详细信息

配置
Lshell通过INI文件配置。默认情况下,它包含允许命令的白名单,但可以轻松配置以禁止用户使用特定命令。
此配置(默认conf /etc/lshell.conf)禁止用户abc使用mkdir
[abc]
allowed = 'all' - ['mkdir', 'bash', 'sh', 'csh', 'dash', 'env']
为了将用户帐户配置为默认使用lshell,您必须:
chsh -s /usr/bin/lshell abc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.