哪些二进制文件可供用户通过 ssh 更改密码

哪些二进制文件可供用户通过 ssh 更改密码

我有一个用户,他的rbash默认 shell 是 (为了限制他的权限)。我还更改了他的默认bin目录,以切断他的 中的大多数二进制文件PATH。用户应该不时更改密码。因此,哪些二进制文件应该可以访问,以便他可以通过 ssh 更改密码。我在passwd他的 bin 目录中创建了一个符号链接,但他仍然无法使用 ssh 更改密码。

答案1

受限 bash shell 中的用户应该能够成功运行passwd命令,只要它们有位置(包含目录的完整路径)passwd在其搜索路径中查找工作二进制文件。

这是通常的rbash因为默认限制仅适用于:

• 使用 cd 更改目录

• 设置或取消设置 SHELL、PATH、ENV 或 BASH_ENV 的值

• 指定包含 / 的命令名称

• 指定包含 / 的文件名作为 . 内置命令的参数

• 将包含斜杠的文件名指定为 hash 内置命令的 -p 选项的参数

• 启动时从 shell 环境导入函数定义

• 在启动时从 shell 环境中解析 SHELLOPTS 的值

• 使用 >、>|、<>、>&、&> 和 >> 重定向运算符重定向输出

• 使用 exec 内置命令将 shell 替换为另一个命令

• 使用 -f 和 -d 选项向启用内置命令添加或删除内置命令

• 使用 enablebuiltin 命令启用已禁用的 shell 内置命令

• 为命令内置命令指定 -p 选项

• 使用 set +r 或 set +o restricted 关闭限制模式。

但是,如果你要添加一些额外的严格措施,而不是将rbash其用作用户的 shell,你可能需要查看实际passwd需要访问、打开或写入的内容strace像这样:

strace -e open,openat,write,access passwd

相关内容