[不懂/寻问/伸手]linux系统有法子让某个文件只让特定程序读取嘛?(初步方案形成)
发表于 : 2024-03-14 20:32
使用Keepassxc中。 数据库密码设置长40位,使用过程中如果锁定 再解锁非常痛苦。
当然Keepassxc 也提供了 通过key file 解锁的选项。但是如果key file 不封锁起来 任何人可读的话,又非常不安全。
所以来请教下,linux系统方法 有能设定文件只让特定程序读取嘛, 其他普通用户看不了 权限为0。
目前在用 ubuntu 22.04
目标是 解锁要双重验证 短密码 加key file,锁定后,解锁只需要短数密码/类PIN码。 key file的安全需要确保。
(程序自动创建的keyfile是400权限,任何人可复制;所以想说搞个文件夹只让程序通过,用来保护限制)
程序提升到sudo权限的话,可能过于危险;所以才来问问有没有限定文件权限的方法(只让特定程序access)
03-17 更新:
1.简单方案
选择不记住keyfile文件路径,每次解锁手动选择文件;keefile不使用程序生成的keefile,自选一个文件来使用。
toools->setting->general->basic setting 的remember database key file 是用来选择是否记住keyfile路径的。
database->database security->security->database credentials 里add key file 自选一个文件(文件选择于N多文件中的某一个,增加迷惑性)。
重点key file 记得修改成只读属性 另外多重备份啊,不然丢了就完了。
(toools->setting->general->basic setting 下拉到最下面 有language,可更改为中文显示)
2.进一步方案
使用其他用户运行程序,这样可以设定个文件夹保证其他普通用户访问不了。
用户如下 ptuser suuser keyuser
sudo useradd -r -m -d /home/keyuser -s /bin/bash 选择-r是为了在登录界面隐藏该账号(登录界面账号太多也烦)
用keyuser 创建个目录并于它下面创建个文件 (是否增加简单方案,自行考量) 然后chmod 把目录与文件修改成500,单用户访问
使用过程:
终端输入 xhost +SI:localuser:keyuser (使keyuser可以于当前账户的X11界面启动程序)
切换keyuser
keepassxc 启动程序 (现存的keepass数据库的目录与文件权限,记得修改成keyuser可写可执行,也可以复制到keyuser专属目录进一步保护数据库文件-但相应的数据库文件的通用性就没有了。)
这样就能于 公用账户使用自己的keepassxc了, 还能是短密码还有一定的安全性
xhost永久性增加 keyuser 某一方案如下:
ptuser 终端下
nano ~/.bashrc
在最后面添加命令
xhost +si:localuser:keyuser 会在每次启动都提示 (si SI 都有效果,有没有其它隐患区别就不知道了。)
xhost +si:localuser:keyuser > /dev/null 不输出提示信息 (两种方案,自行选择是否要输出提示)
保存退出 重载配置
source ~/.bashrc 从此以后不用每次都输入命令了,但是安全性要自己考量。
ps:谢谢楼下各位大佬的指点。
当然Keepassxc 也提供了 通过key file 解锁的选项。但是如果key file 不封锁起来 任何人可读的话,又非常不安全。
所以来请教下,linux系统方法 有能设定文件只让特定程序读取嘛, 其他普通用户看不了 权限为0。
目前在用 ubuntu 22.04
目标是 解锁要双重验证 短密码 加key file,锁定后,解锁只需要短数密码/类PIN码。 key file的安全需要确保。
(程序自动创建的keyfile是400权限,任何人可复制;所以想说搞个文件夹只让程序通过,用来保护限制)
程序提升到sudo权限的话,可能过于危险;所以才来问问有没有限定文件权限的方法(只让特定程序access)
03-17 更新:
1.简单方案
选择不记住keyfile文件路径,每次解锁手动选择文件;keefile不使用程序生成的keefile,自选一个文件来使用。
toools->setting->general->basic setting 的remember database key file 是用来选择是否记住keyfile路径的。
database->database security->security->database credentials 里add key file 自选一个文件(文件选择于N多文件中的某一个,增加迷惑性)。
重点key file 记得修改成只读属性 另外多重备份啊,不然丢了就完了。
(toools->setting->general->basic setting 下拉到最下面 有language,可更改为中文显示)
2.进一步方案
使用其他用户运行程序,这样可以设定个文件夹保证其他普通用户访问不了。
用户如下 ptuser suuser keyuser
sudo useradd -r -m -d /home/keyuser -s /bin/bash 选择-r是为了在登录界面隐藏该账号(登录界面账号太多也烦)
用keyuser 创建个目录并于它下面创建个文件 (是否增加简单方案,自行考量) 然后chmod 把目录与文件修改成500,单用户访问
使用过程:
终端输入 xhost +SI:localuser:keyuser (使keyuser可以于当前账户的X11界面启动程序)
切换keyuser
keepassxc 启动程序 (现存的keepass数据库的目录与文件权限,记得修改成keyuser可写可执行,也可以复制到keyuser专属目录进一步保护数据库文件-但相应的数据库文件的通用性就没有了。)
这样就能于 公用账户使用自己的keepassxc了, 还能是短密码还有一定的安全性
xhost永久性增加 keyuser 某一方案如下:
ptuser 终端下
nano ~/.bashrc
在最后面添加命令
xhost +si:localuser:keyuser 会在每次启动都提示 (si SI 都有效果,有没有其它隐患区别就不知道了。)
xhost +si:localuser:keyuser > /dev/null 不输出提示信息 (两种方案,自行选择是否要输出提示)
保存退出 重载配置
source ~/.bashrc 从此以后不用每次都输入命令了,但是安全性要自己考量。
ps:谢谢楼下各位大佬的指点。