Протестируйте эффективные полномочия файла для пользователя

Принятие Вас ищет программное обеспечение, Ваш лучший выбор, вероятно, pfSense. Вы могли также выбрать m0n0wall.

При поиске аппаратных средств см. список списка pfSense поставщиков оборудования. И m0n0wall и pfSense будут работать на плате ALIX.2D13.

24
21.04.2012, 13:49
4 ответа

sudo команда может выполнить что-либо как конкретного пользователя с -u опция. Вместо того, чтобы волноваться об оболочках, просто попытайтесь cat (или выполнитесь, безотносительно), Ваш файл как Ваш целевой пользователь:

$ sudo -u apache cat .ssh/authorized_keys 
cat: .ssh/authorized_keys: Permission denied
23
27.01.2020, 19:40
  • 1
    cat вероятно, не лучший выбор, хотя... это, Вы тестируете большой файл или двоичный файл... –  Alexis Wilke 14.11.2015, 08:29

Я нашел, что можно использовать su -s <shellname> <username> ввести определенную оболочку как определенного пользователя. Можно затем протестировать полномочия файла, как обычно.

Например:

su -s /bin/bash Debian-exim
touch /etc/exim4/exim4.conf.template
6
27.01.2020, 19:40

Я нашел удобным для использования в скриптах что-то вроде

 sudo -u <user> test -r <file-to-test> && ...
24
27.01.2020, 19:40
sudo -u <user> test -r <file-to-test>; echo $?

Часть echo $? выводит статус выхода из теста.

Просто помните, что вывод будет 0 , если операция прошла успешно! Или ненулевое, например 1 , если нет.

Как комментарий @ Thomas к ответу @ user72025, используйте man test , чтобы получить больше рабочих тестов, например test -x для проверки выполнимости, test -w для возможности записи и т. д.

12
27.01.2020, 19:40

Теги

Похожие вопросы