Intereting Posts
Используя ffmpeg для записи подкаста, каждый источник звука в канале Как отключить службу systemd перед сетевым сервисом Почему Bash не удалось найти команду, даже если $ PATH указан правильно? действительно ли основанный на ОС ноутбук отлично работает с дистрибутивом linux Samba Поделиться: Вход для гостей не работает после Wheezy -> Jessie попытался создать дубликата пользователя root, больше не может подключаться к серверу Помощь пакетного преобразования через filelist.csv Редактор тегов Mass ID3, например vorbistagedit? Как сделать многопоточное приложение использовать все ядра на Ubuntu в VMWare? Как прочитать файл свойств в ассоциативный массив? Установка длинной переменной среды ломает много команд Как проверить диски при запуске (альтернатива chkdsk c: / f для Windows) Почему корневой каталог обозначается знаком /? Как зарезервированные блоки GDT используются после изменения размера сети в файловой системе ext3 Подстановка числа в имя файла в bash

Как создать файл, который может читать только sudo?

Я хотел бы иметь файл на своем компьютере, который хранит определенный токен (а не экспортировать их в оболочку env). Поэтому я хотел бы, чтобы токен мог быть прочитан только с помощью sudo, поэтому для доступа к нему требуется авторизация. Как я могу написать файл, который может быть прочитан только с помощью sudo?

Обратите внимание, что sudo не является синонимом root / superuser. Фактически, команда sudo позволяет выполнять команды практически любому пользователю, как указано в политике безопасности:

 $ 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 

Догадаться:

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

В другом терминале, если вы делаете это без sudo:

 > cat test cat: test: Permission denied 

С тройником

 $ 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