/etc/密码

/etc/密码

注意:我重新发布问题,因为我无法回复或评论。

我正在创建一个非 root 用户来单独执行对象文件(没有 root 访问权限)。我的目的是让用户运行位于 的文件/atlas/Bin。所以我设置/etc/passwduser:x:0:0:test:/:/atlas/Bin/object.但是当我通过 SSH 打开一个新的 shell(通过 teraterm)来登录用户时,我收到一个错误,因为它找不到该对象。

我已进行更改以/etc/profile设置要包含的路径/atlas/Bin以帮助查找对象。不知道我在这里缺少什么。如果我通过 SSH 使用 root 用户登录,我可以毫无问题地执行该对象。

我提供了/etc用于下面构建文件的值。

/etc/密码

root:x:0:0:root:/:/bin/sh
....
user:x:0:0:test:/:/atlas/Bin/object
sshd:x:15:6:sshd:/var/chroot/sshd:/bin/sh

/etc/组

root:x:0:root
...
sshd:x:6:user

/etc/配置文件

PATH=/atlas/Bin:/usr/bin:/bin:/usr/sbin:/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll/
alias ll="ls -l"

/etc/ssh/ssh_config

Host *
SendEnv LANG LC_* 

/etc/ssh/sshd_config

Protocol 2
LoginGraceTime 600
LogLevel    DEBUG3
PermitRootLogin yes
PasswordAuthentication yes
PermitEmptyPasswords no

答案1

如果您想将可执行文件用作用户的 shell,那么您可能需要将程序添加到/etc/shells.

您可能希望为具有运行脚本并退出的配置文件的用户使用受限 shell。

您可以使用/bin/false在authorized_keys 文件中为用于访问服务器的密钥指定的shell 和命令。如果/bin/false不起作用,请尝试使用受限制的 shell,例如/usr/bin/rbash.

相关内容