У меня есть пользователь jenkins в группе jenkins . Я хочу иметь доступ к каталогу /var/www/html/ , поэтому я изменил группу каталогов с root на jenkins .

$ ll /var/www
...
drwxrwx---. 7 root jenkins ... html
...
$ groups
jenkins
$ cd /var/www/html
-bash: cd/var/www/html: Permission denied

Пользователь из /etc/passwd: jenkins: x: 779: 779::/home/usr:/bin/bash

Владелец и группа /var и /var/www являются root . Как я понимаю, мне не следует менять их группу, а только каталог, к которому я хочу получить доступ.

У вас есть идеи, почему это не работает?

РЕДАКТИРОВАТЬ:$ ls -l /var всего 97 ... drwxrwx ---. 8 корень корень ... www ...

Извините за то, что не отображается полный вывод, это из автономного компьютера. Я не знаю, что такое путь к исполняемому файлу, но этот файл - единственный, который выглядит иначе:

lrwxrwxrwx. 1 root root ... mail -> spool/mail

2 ответа2

0

Кажется, проблема с разрешением из родительских папок, если вы хотите прочитать и перейти в каталог, вы должны получить разрешения на чтение и выполнение для папок и родительских папок. Проверьте режим владения и битов следующих папок:

  • / = режим: 755, пользователь: root, группа: root
  • / var = режим: 755, пользователь: root, группа: root
  • / var/ www = режим: 750, пользователь: WebSrvUsr **, группа: WebSrvGrp **
  • / var/ www/ html = mode: 750, пользователь: WebSrvUsr **, группа: jenkins

** WebSrvUsr и WebSrvGrp зависит от дистрибутива

И, наконец, ваш пользователь должен быть членом следующих групп: WebSrvGrp, jenkins.

Если это не работает, вы можете проверить selinux или apparmor (getenforce)

0

Убедитесь, что:

  • a) /var/ имеет разрешение 755 (рекомендуется) или
  • b) Владение /var установлено как root:jenkins (не рекомендуется).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .