如何创建一个只有 sudo 可以读取的文件?

bal*_*ton 8 sudo chmod

我想在我的计算机上有一个文件来存储特定的令牌(而不是让它们只是导出到 shell env)。因此,我希望令牌只能由 sudo 读取,因此访问它需要授权。如何编写只能由 sudo 读取的文件?

nxn*_*nev 26

请注意,这sudo不是 root/超级用户的同义词。事实上,sudocommand 允许您以几乎任何用户的身份执行命令,如安全策略所指定:

$ sudo whoami
root
$ sudo -u bob whoami
bob
Run Code Online (Sandbox Code Playgroud)

我假设您打算创建一个只有root用户可以读取的文件:

# Create the file
touch file

# Change permissions of the file
# '600' means only owner has read and write permissions
chmod 600 file

# Change owner of the file
sudo chown root:root file
Run Code Online (Sandbox Code Playgroud)

当您需要编辑文件内容时:

# Replace 'nano' with your prefered editor
sudo nano file
Run Code Online (Sandbox Code Playgroud)

看看只有 root 才能读取文件:

$ cat file
cat: file: Permission denied
$ sudo cat file
foo bar baz
Run Code Online (Sandbox Code Playgroud)