linux - 无法打开文件“/media/$USER/pendrive/keyfile”没有这样的文件或目录
问题描述
我正在编辑/etc/crypttab,以从 USB 访问密钥文件。USB 已安装到“ /media/my_username/pendrive”但我不知道如何打开“ my_username ”目录。
我的等/crypttab:
data1 /dev/sdb /media/"$USER"/68F5-35A4/keyfile luks
我可以打开这个:data1 /dev/sdb /media/srikanthpendem/68F5-35A4/keyfile luks
但我想使用 $USER 或 $USERNAME 或 whoami 命令而不是我的计算机名。
解决方案
我在编辑
/etc/crypttab
要编辑文件,请使用良好的文本编辑器,例如GNU emacs或vim或nano。
但我想使用 $USER 或 $USERNAME 或 whoami 命令而不是我的计算机名。
要在 shell 脚本中编辑文件,请考虑在脚本中使用一些实用程序,例如sed(1)或GNU ed,在您的情况下,您可能还需要printf(1)和/或awk(1)。
或者,编写一个小的用户空间程序(例如,在 C 中,或在某些脚本语言中,如Guile、Python、Lua等),它可以满足您的需求。为此,您将使用syscalls(2)中列出的系统调用。
由于无法以编程方式在文件中间插入字节,因此您的用户态程序将生成一个新/etc/crypttab
文件并覆盖旧文件。不要忘记备份它。
当然阅读GNU bash 的文档。特别是关于外壳扩展的部分。
当然要知道系统调用不能在内核领域完成。因为它们是内核到用户空间应用程序代码的主要接口。阅读syscalls(2),然后阅读Advanced Linux Programming,然后阅读一些关于操作系统的教科书。
如果您不太了解系统调用和应用程序编程,请避免任何内核编程。
推荐阅读
- javascript - 无法从节点 api 获取响应返回到角度
- laravel - 在雄辩的条件下使用附加属性
- javascript - material-ui 中正确的日期格式是什么?
- jenkins - 构建完成后,Jenkins 调用 http api
- python - 如何使用 GitHub API 拉取私有仓库数据?
- python-3.x - 使用python将动态数据插入mysql
- r - 从 n 组数字中生成 x 个随机数
- react-native - 带有 redux 的 React-Native-Navigation V2 无法传递道具
- javascript - 限制jQuery的范围
- ios - Swift - UITableView 没有放置 UIimage=nil