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

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

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

答案1

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

$ sudo whoami
root
$ sudo -u bob whoami
bob

我假设您打算创建一个只有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

当需要编辑文件内容时:

# Replace 'nano' with your prefered editor
sudo nano file

查看如何只有 root 才能读取该文件:

$ cat file
cat: file: Permission denied
$ sudo cat file
foo bar baz

答案2

弄清楚了:

echo 'hello world' > test
sudo chown root test
sudo chmod 600 test
sudo cat test

在另一个终端中,如果您不使用 sudo 执行此操作:

> cat test
cat: test: Permission denied

答案3

带 T 恤

$ echo "some text" | sudo tee tmpfile
some text
$ sudo chmod 700 tmpfile 
$ cat tmpfile
cat: tmpfile: Permission non accordée
$ sudo cat tmpfile
some text

对于附加:

$ echo "text appened" | sudo tee -a tmpfile
$ sudo cat tmpfile
somme text
text appened
$ sudo rm tmpfile

相关内容