Як дати дозвіл команди sudo на певний час? Чи є якийсь спосіб дати права виконувати певну команду протягом 2 днів лише у файлі sudoers.?
Як дати дозвіл команди sudo на певний час? Чи є якийсь спосіб дати права виконувати певну команду протягом 2 днів лише у файлі sudoers.?
Відповіді:
Файл sudoers не підтримує обмеження за часом, але існує простий метод. Створіть файл із внесеними змінами в /etc/sudoers.d/
(з sudo visudo -f /etc/sudoers.d/yourfile
):
Додайте до файлу (приклад file.sh
:) наступне
mv /etc/sudoers.d/yourfile /etc/sudoers.d/.yourfile
І це відключить ваші зміни:
sudo at -f file.sh 2pm + 2 days
Приклад:
at -f file.sh 2pm + 2 days
warning: commands will be executed using /bin/sh
job 4 at Thu Oct 15 14:00:00 2015
У цьому випадку він перемістить файл о 14:00 через 2 дні після видачі команди. at
Керівництво має кілька варіантів (ви можете використовувати час, дні, тижні, місяці, роки, ключові слова , як наступний або додати / відняти periodes). Проведіть кілька тестів з можливістю переконатися, що ви це розумієте (Щось врахувати: це важливо, якщо ви починаєте at
до або після 14:00 у день самого).
at
також виживає перезавантаження, тому це хороший інструмент для використання в подібних речах. І ви можете переключити доступ ...
sudo mv /etc/sudoers.d/.yourfile /etc/sudoers.d/yourfile | at 2pm + 2 days
sudo mv /etc/sudoers.d/yourfile /etc/sudoers.d/.yourfile | at 2pm + 4 days
sudo mv /etc/sudoers.d/.yourfile /etc/sudoers.d/yourfile | at 2pm + 6 days
sudo mv /etc/sudoers.d/yourfile /etc/sudoers.d/.yourfile | at 2pm + 8 days
і змусити цього користувача зірватися (wtf зараз я можу це зробити).
README у /etc/sudoers/
:
# As of Debian version 1.7.2p1-1, the default /etc/sudoers file created on
# installation of the package now includes the directive:
#
# #includedir /etc/sudoers.d
#
# This will cause sudo to read and parse any files in the /etc/sudoers.d
# directory that do not end in '~' or contain a '.' character.
#
# Note that there must be at least one file in the sudoers.d directory (this
# one will do), and all files in this directory should be mode 0440.
#
# Note also, that because sudoers contents can vary widely, no attempt is
# made to add this directive to existing sudoers files on upgrade. Feel free
# to add the above directive to the end of your /etc/sudoers file to enable
# this functionality for existing installations if you wish!
#
# Finally, please note that using the visudo command is the recommended way
# to update sudoers content, since it protects against many failure modes.
# See the man page for visudo for more information.
Якщо я прочитав це правильно, він не виконає жодного файлу з "". в будь-якому місці імені. Отже, 1-ю mv
команду я поставив "." попереду, роблячи це також непомітним. Якщо правильно припущено, ви можете розмістити "." де завгодно. Обережно з пунктом "~", що він використовується як "резервне копіювання" редакторами, такими як gEdit.
at
не встановлено за замовчуванням. Щоб встановити
sudo apt-get install at
/etc/sudoers.d
який не буде використовуватися іншими користувачами.
mv
, ні cp
.