jmb*_*eck 8 linux mount truecrypt removable-media veracrypt
我在 Kubuntu 中长期使用 TrueCrypt,其中我使用键盘快捷键自动挂载驱动器。现在我使用 VeraCrypt,但在输入加密驱动器的密码后,总是提示我输入 sudo 密码。这在 TrueCrypt 中从来没有必要。
我突然想到我可以将驱动器安装为可移动媒体(这是一个不需要 root 密码的操作),但是当将驱动器安装到 /mount/(安装可移动媒体的位置)时,我仍然获取 sudo 密码请求。
此外,VeraCrypt 中的一个选项允许Volume Mounted as Removable Medium,但这个选项在我在 Linux (v1.19) 中运行的版本中根本不存在。
这里发生了什么?我怎样才能要求 VeraCrypt 安装过程像可移动媒体一样运行?每次安装和卸载都输入我的密码很烦人。
小智 6
一种选择是在 veracrypt 上设置 SUID 位。这将确保它在运行时具有 root 权限。
# chmod u+s /usr/bin/veracrypt
Run Code Online (Sandbox Code Playgroud)
不过,一般来说,我会尽量避免使用 SUID 或 SGID 位,因为它们允许任何有权执行二进制文件的用户以提升的权限使用它。
更好的选择:
如果您有的话,您的另一个选择sudo
是为 veracrypt 创建一个具有无密码 sudo 权限的组。
这肯定比总是需要密码的安全性稍差一些,就像创建这样的 sudo 规则时的情况一样。 请务必仔细阅读本文并了解其含义,以确保不会造成安全风险!
在开始之前,您需要确保该/usr/bin/veracrypt
二进制文件不可被group或other写入。
确认它不能被所有者以外的其他人写入:
$ ls -lha /usr/bin/veracrypt
-rwxr-xr-x 1 root root 7.1M Sep 11 2019 /usr/bin/veracrypt
Run Code Online (Sandbox Code Playgroud)
首先,创建一个新组:
# groupadd veracrypt_group
Run Code Online (Sandbox Code Playgroud)
接下来,将您的用户添加到组中:
# usermod -aG veracrypt_group your_user
Run Code Online (Sandbox Code Playgroud)
现在您可以用来visudo
创建新的 sudo 规则:
# visudo -f /etc/sudoers.d/veracrypt
Run Code Online (Sandbox Code Playgroud)
这将允许无需密码即可veracrypt_group
运行。/usr/bin/veracrypt
%veracrypt_group ALL=(root) NOPASSWD:/usr/bin/veracrypt
小智 1
当我的 veracrypt 容器位于不属于打开容器的用户所拥有的目录中时,我在 Linux Mint 中遇到了这个问题。即使用户可以写入该目录(并拥有容器文件)。将其移动到用户拥有的文件夹可以阻止 veracrypt 提示输入管理员密码。
归档时间: |
|
查看次数: |
7051 次 |
最近记录: |