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