Відповіді:
sudo
Команда може запустити що - небудь в якості конкретного користувача з -u
опцією. Замість того, щоб турбуватися про оболонки, просто спробуйте cat
(або виконати, що завгодно) свій файл у якості цільового користувача:
$ sudo -u apache cat .ssh/authorized_keys
cat: .ssh/authorized_keys: Permission denied
Мені було зручно використовувати в сценаріях щось подібне
sudo -u <user> test -r <file-to-test> && ...
man test
для більш детальної інформації
sudo -u <user> test -r <file-to-test>; echo $?
echo $?
Частина буде виводити статус виходу з тіста.
Просто пам’ятайте тут, що результат буде, 0
якщо операція пройшла успішно! Або не нульовий, наприклад 1
, якщо ні.
Як і коментар Томаса до відповіді @ user72025, використовуйте, man test
щоб отримати більше тестів на експлуатацію, як test -x
тестування виконуваності, test -w
на спрацьованість та ін.
Я виявив, що ви можете використовувати su -s <shellname> <username>
для введення певної оболонки як конкретного користувача. Потім ви можете перевірити дозволи файлів, як зазвичай.
Наприклад:
su -s /bin/bash Debian-exim
touch /etc/exim4/exim4.conf.template
cat
- це, мабуть, не найкращий вибір ... це ви тестуєте великий файл чи двійковий файл ...