如何防止/限制标准用户访问 ubuntu-12.04.2-desktop-i386 中的终端?
我需要阻止 Ubuntu 用户帐户中的标准用户和管理员(非 root 帐户)访问终端。我正在对“ubuntu 桌面管理”进行研发,这将通过我们的网络监控软件完成
答案1
如果您出于安全原因而禁止您允许登录的用户使用终端,那么这样做没有多大意义。“终端”是一种允许您执行您有权执行的某些操作的工具。如果您剥夺了运行“终端”(实际上只是另一个程序)的权限,则执行这些操作的权限并没有被剥夺。用户可以简单地运行另一个程序(已下载?)来执行这些操作。
现在,如果您想阻止其他用户(我称他们为非标准用户)登录(无论是通过正常方法,还是通过“终端”),您可以将 shell 行更改/etc/passwd
为类似内容/sbin/nologin
:此用户将无法登录。
示例(我不能过分强调这可能不是您希望normal
用户得到的,但这是我认为可以解决这个问题的唯一方法。请谨慎行事)
nologinuserx:111:123:description,,,:PATH:/bin/false
normaluser:1123:1123:,,,:/home/myname:/bin/bash
我目前正在使用,/bin/false
而不是nologin
看起来,但这就是它的样子
正如 @gertvdijk 在评论中提到的,您可以(应该?)使用chsh
(CHange SHell)命令执行此操作,如下所示:
$ sudo chsh -s /usr/sbin/nologin username