小编str*_*ika的帖子

获得 root 权限的最安全方法是:sudo、su 还是 login?

即使我的非特权用户受到威胁,我也希望 root 帐户安全。

在 Ubuntu 上,默认情况下您只能出于“安全原因”使用 sudo。但是,我不确定它是否比仅在文本模式控制台上使用登录更安全。如果攻击者可以以我的普通用户身份运行代码,那么可能会出错的事情太多了。例如添加别名、向我的 PATH 添加东西、设置 LD_PRELOAD 和 X11 键盘记录器等等。我能看到的唯一优势是超时,所以我永远不会忘记注销。

我对 su 也有同样的疑问,但它甚至没有时间限制。某些操作(尤其是 IO 重定向)对 su 更方便,但在安全方面这似乎更糟。

在文本模式控制台上登录似乎是最安全的。由于它是由 init 启动的,如果攻击者可以控制 PATH 或 LD_PRELOAD,那么他已经是 root。按键事件无法被 X 上运行的程序拦截。我不知道 X 上运行的程序是否可以拦截 [ctrl]+[alt]+[f1](并打开一个看起来像控制台的全屏窗口)或它就像 Windows 上的 [ctrl]+[alt]+[del] 一样安全。除此之外,我看到的唯一问题是没有超时。

所以我错过了什么吗?为什么 Ubuntu 的人决定只允许 sudo?我可以做些什么来提高任何方法的安全性?

SSH呢?传统上 root 不能通过 SSH 登录。但是使用上述逻辑不是最安全的做法:

  • 允许 root 通过 SSH
  • 切换到文本模式
  • 以 root 身份登录
  • ssh 到另一台机器
  • 以 root 身份登录?

security login su sudo privileges

129
推荐指数
3
解决办法
3万
查看次数

如何检测 shell 是否由 SSH 控制?

我想从 shell 脚本(更具体地说是 .zshrc)中检测它是否是通过 SSH 控制的。我尝试了 HOST 变量,但它始终是运行 shell 的计算机的名称。我可以访问来自 SSH 会话的主机名吗?比较两者将解决我的问题。

每次登录时都会出现一条消息,说明上次登录时间和主机:

Last login: Fri Mar 18 23:07:28 CET 2011 from max on pts/1
Last login: Fri Mar 18 23:11:56 2011 from max
Run Code Online (Sandbox Code Playgroud)

这意味着服务器具有此信息。

ssh zsh shell-script

87
推荐指数
4
解决办法
5万
查看次数

如何恢复崩溃的 Linux md RAID5 阵列?

前段时间我家里有一个RAID5系统。4 个磁盘中的一个出现故障,但在移除并放回后似乎没问题,所以我开始重新同步。当它完成时,我惊恐地意识到 4 个磁盘中有 3 个出现故障。但是我不相信这是可能的。磁盘上有多个分区,每个分区是不同 RAID 阵列的一部分。

  • md0 是由 sda1、sdb1、sdc1 和 sdd1 组成的 RAID1 阵列。
  • md1 是由 sda2、sdb2、sdc2 和 sdd2 组成的 RAID5 阵列。
  • md2 是由 sda3、sdb3、sdc3 和 sdd3 组成的 RAID0 阵列。

md0 和 md2 报告所有磁盘已启动,而 md1 报告 3 个失败(sdb2、sdc2、sdd2)。我的理解是,当硬盘驱动器出现故障时,所有分区都应该丢失,而不仅仅是中间的分区。

那时我关闭了计算机并拔掉了驱动器。从那时起,我使用那台计算机和一个较小的新磁盘。

有没有希望恢复数据?我能以某种方式说服 mdadm 我的磁盘实际上在工作吗?唯一可能真正有问题的磁盘是 sdc,但其他阵列也报告了该磁盘。

更新

我终于有机会连接旧磁盘并从 SystemRescueCd 启动这台机器。以上都是凭记忆写的。现在我有一些硬数据。这是输出mdadm --examine /dev/sd*2

/dev/sda2:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
  Creation Time : Sun May 30 21:48:55 2010
     Raid Level : raid5
  Used Dev Size : 625064960 (596.11 …
Run Code Online (Sandbox Code Playgroud)

linux software-raid data-recovery raid5

18
推荐指数
1
解决办法
6万
查看次数

如何查看AP提供的WPA2 PEAP证书?

我必须连接到 WPA2 Enterprise 网络,该网络仅在我不验证证书时才有效。我不想这样做,因为这样任何人都可以看到 MSCHAPv2 消息。

解决此问题的第一步是查看 AP 提供的证书,然后将 wpa_supplicant 配置为仅信任该证书。但我不知道如何获得证书。wpa_cli“status”命令不显示它,也不在任何日志中。

我也很好奇使用了哪些 SSL/TLS 密码套件。是否可以手动连接,也许使用 openssl s_client?

wifi wpa-supplicant wpa wpa2-eap wpa2

10
推荐指数
1
解决办法
5998
查看次数

如何查看谁登录了当前活动的虚拟终端?

我想收集有关谁在使用计算机以及使用时间的统计信息。我可以使用该users命令查看谁已登录,但我想知道谁在当前活动的 VT 上。我不关心通过 SSH 登录或在锁定会话中运行下载的人。我只关心实际坐在机器前面的是谁。

我需要有关 X 和控制台会话的信息。

获取上次活动的时间(移动鼠标等)也很有用,但我可以没有它。

我怎样才能做到这一点?

linux login console

3
推荐指数
2
解决办法
435
查看次数