![如何阻止所有 TTY 的 root 访问](https://linux22.com/image/991859/%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%E6%89%80%E6%9C%89%20TTY%20%E7%9A%84%20root%20%E8%AE%BF%E9%97%AE.png)
我正在尝试保护我的 Ubuntu 服务器(运行 14.04 桌面版和 16.04 服务器版)上的 root 访问权限。我想禁用除 TTY1 之外的所有 TTY 上的 root 访问权限。我知道可以通过编辑 /etc/securetty 并注释掉除 TTY1 之外的所有设备来实现,但我不确定Local X displays
。我是否也应该注释掉它们?那UART serial ports
、Serial Mux devices
、Chase serial card
、Cyclades serial cards
等等呢?
设备太多了,我不确定如何处理此文件的安全问题。您能否告诉我应该禁用哪些设备才能使系统正常运行,但 root 只能从 TTY1 登录?
答案1
我认为你把精力花在了琐事上。如果 Bad Guy 可以连接终端,Bad Guy 就可以从他的 USB 启动。
但是,由于man securetty
说securetty - file which lists terminals from which root can log in
这意味着你可以注释掉除之外的所有内容TTY1
。注释掉(或不注释掉)你没有的硬件的行没有区别。
因为,如果您弄乱了/etc/securetty
,您最终可能会被锁定在系统之外,所以您必须仔细测试。如果您已经设置并正在运行batch
或,at
您可以通过设置root
批处理作业来执行::
cp /etc/securetty /etc/securetty.original
cp /tmp/modified.securetty /etc/securetty
sleep 20m
cp /etc/securetty.original /etc/securetty
并在接下来的 20 分钟内进行测试,之后/etc/securetty
恢复原始状态(工作状态)。