简而言之,我想知道是否可以创建三个用户:
user
, lowp0
,lowp1
某人登录时可以使用或不使用密码user
登录,但不应该能够以其他任何人身份登录。lowp0
lowp1
lowp0
lowp1
为什么?这个想法是隔离应用程序,因为lowp0
用户lowp1
只能访问几个文件。
答案1
通过编辑/etc/sudoers
配置文件,您可以配置sudo
为允许一个用户以另一用户的身份运行命令。特别是,您可以用来sudo
允许一个用户以另一用户身份启动 shell。例如,以下行允许user
运行bash
为lowp0
:
user ALL=(lowp0) /bin/bash
然后您应该能够执行如下操作:
user@host:~$ sudo -u lowp0 bash
lowp0@host:~$
您还可以使用该su
命令代替bash
:
user ALL=(lowp0) /usr/bin/su -l
要允许通过这两个命令访问两个用户,您可以添加以下行:
user ALL=(lowp0,lowp1) /bin/bash, /usr/bin/su -l
如果您正在运行 SSH 服务器,您还可以将 的公钥添加user
到和~/.authorized_keys
的文件中。这应该允许以这些用户之一的身份进入本地主机,例如:lowp0
lowp1
user
ssh
user@host:~$ ssh lowp0@localhost
lowp0@host:~$