我想浏览一些文件而不修改它们。我知道我可以避免使用某些命令,但我担心会意外发生一些事情。
有没有办法创建一个没有权限写入任何内容的 bash 子 shell?就像是bash donotmakechanges
。
我想我可以再创建一个用户,但这感觉有点矫枉过正。
答案1
您可以使用绑定挂载以只读方式挂载目录树。您将需要 root 访问权限。
# mount -o ro --bind /home /home_ro
# cd /home_ro
# touch file
touch: cannot touch ‘file’: Read-only file system
然后只需在 /home_ro 周围导航即可。
答案2
sudo -u nobody bash
注意事项
您仍然可以访问其他所有用户都可以访问的文件。例如,
everyone's
文件:$ touch everyone\'s $ chmod 222 everyone\'s
仍然可写
nobody
:$ sudo -u nobody touch everyone\'s
您将可以访问任何人都无法访问的文件。例如,
nobody's
文件:$ touch nobody\'s $ sudo chown nobody nobody\'s
普通用户不可写:
$ touch nobody\'s touch: cannot touch "nobody's": Permission denied
但可以通过以下方式写入
nobody
:$ sudo -u nobody touch nobody\'s
用户
nobody
不得用于此目的,如中所述https://askubuntu.com/a/674397/1086669您需要运行权限
sudo
除此之外,它确实将通常可写的文件呈现为只读
$ touch mine
$ sudo -u nobody touch mine