答案1
警告:仅当同意以下内容时才使用@Pawel Debski 解决方案:
- 任何用户或黑客使用权到用户帐户veracryptusers团体可以运行任何命令以 root 身份通过下载一个预先准备好的容器文件,其中包含以 root 身份运行的恶意代码。
因此,使用该解决方案时,您可以考虑为 veracrypt 使用特殊用户配置文件。这样一来,sodo 就更易于使用了。
测试安全问题的步骤:
- 创建容器文件(ext2-4)
- 复制或创建二进制文件(例如 whoami)
- 将二进制文件所有者更改为 root
- 将 setuid 添加到二进制文件
- 使用非 root 用户帐户调用二进制文件
二进制文件将以 root 权限运行。
提示:我添加了此解决方案,因为 Pawel Debski 的警告不太显眼。只要系统有互联网连接,风险就远大于收益。
答案2
您可以允许其他用户运行 sudo 以仅访问某些程序。例如,我允许用户 www-data 运行 /sbin/ipset 以禁止试图入侵我的 Web 服务器的用户。我承认这是在运行修改版 Debian 的树莓派上进行的。
我在文件夹 /etc/sudoers.d 中创建了一个文件,文件内容如下
www-data ALL=(ALL) NOPASSWD: /sbin/ipset
答案3
我做到了。解决方案改编自此处:https://wiki.archlinux.org/index.php/TrueCrypt#Mount_volumes_as_a_normal_user以及我关于现代 sudoers 配置的另一个问题:在 /etc/sudoers.d/ 中添加本地内容,而不是直接通过 visudo 修改 sodoers 文件
- 创建一个名为 say 的新组
veracryptusers
,并赋予其使用 VeraCrypt 所需的权限,无需 root 密码。属于该组的任何用户都可以使用 VeraCrypt。
注意:戏剧性地增加了用户权限提升的攻击面,因此请确保仅将受信任的用户添加到该组。
# groupadd veracryptusers
- 现在让我们授予该组仅限于 VeraCrypt 的 sudo 权限:
$ sudo visudo -f /etc/sudoers.d/veracrypt GNU nano 2.5.3 文件:/etc/sudoers.d/veracrypt.tmp # veracryptusers 组中的用户可以以 root 身份运行 veracrypt。 %veracryptusers ALL =(root)NOPASSWD:/ usr / bin / veracrypt
另请确保具有适当的权限,veracrypt
并且/usr/bin
不能被群组或其他人写入:
$ ls -al /usr/bin/vera* -rwxr-xr-x1 root root 6341016 2016年10月17日 /usr/bin/veracrypt $ ls -ald /usr/bin 德鲁克r-xr-x2 根 根 69632 lip 25 10:09 /usr/bin
否则,恶意用户可能会替换可执行文件并随心所欲地获得完全的 root 权限。
现在重新启动(或重新登录)以重新评估组成员身份,然后您就可以挂载和卸载您最喜欢的卷了。
还请务必查看以下链接中描述的权限提升漏洞,并在将用户添加到组之前考虑是否可以信任他们
答案4
那这样怎么样?我是对还是错?
只需为 veracrypt 创建一个用户并将其添加到/etc/sudoers.d