无法打开文件 "/media/$USER/pendrive/keyfile" 没有这样的文件或目录



我正在编辑/etc/crypttab,以从USB访问密钥文件。USB已安装到">/media/my_username/pendrive">,但我不知道如何打开">my_username"目录。

我的etc/crypttab:

data1/dev/sdb/media/"$USER"/68F5-35A4/密钥文件luks

我可以打开这个:data1/dev/sdb/media/srikanthpendem/68F5-35A4/keyfile luks

但我想使用$USER、$USERNAME或whoami命令,而不是我的计算机名。

我正在编辑/etc/crypttab

要编辑文件,请使用好的文本编辑器,如GNUemacs、vim或nano。

但我想使用$USER或$USERNAME或whoami命令而不是我的计算机名。

要在shell脚本中编辑文件,请考虑在脚本中使用一些实用程序,如sed(1(或GNU-ed,在您的情况下,您可能还需要printf(1(和/或awk(1(。

或者,编写一个小的userland程序(例如,用C语言,或者用Guile、Python、Lua等脚本语言(,它可以满足您的需求。为此,您将使用syscalls(2(中列出的系统调用。

由于无法以编程方式在文件中间插入字节,因此您的userland程序将生成一个新的/etc/crypttab文件并覆盖旧文件。别忘了备份。

当然,请阅读GNUbash的文档。特别是关于外壳膨胀的部分。

当然要注意,系统调用不能在内核中完成。因为它们是内核与用户陆地应用程序代码的主要接口。阅读syscalls(2(,然后阅读高级Linux编程,然后阅读一些关于操作系统的教科书。

如果您不太了解系统调用和应用程序编程,请避免任何内核编程。

相关内容

最新更新