Показать статистику
0 голосов
от (2.7тыс. баллов)

Я знаю, что есть и другие подобные вопросы, но там ничего не решило мою проблему.

gitlab-runner@my-machine:~$ groups
gitlab-runner my-user

gitlab-runner@my-machine:~$ sudo ls -l /home
total 16
drwxrwsr-x+ 16 my-user my-user 4096 Feb 13 09:22 my-user
# ... other users' homes omitted ...

gitlab-runner@my-machine:~$ sudo ls -l /home/my-user
total 528
drwsrws---+ 4 my-user my-user 4096 Jun  7  2020 my-dir
# ... irrelevant files omitted ...

gitlab-runner@my-machine:~$ sudo ls -l /home/my-user/my-dir
total 48
drwxrwsr-x+ 7 my-user my-user 4096 Aug 12  2021 my-dir
drwxrwsr-x+ 6 my-user my-user 4096 Jun  7  2020 venv

gitlab-runner@my-machine:~$ cd /home/my-user/my-dir
-bash: cd: /home/my-user/my-dir: Permission denied

Пользователь является членом группы, группа имеет права на чтение и выполнение для целевой папки и home, в котором она содержится, но пользователь не может  войти в нее  - cd. Я также пробовал , logout а затем sudo - gitlab-runner еще раз, но это все еще не работает. Почему?

Я не уверен, почему x показывает, и я нигде не могу найти объяснение. Может быть, это актуально, но я не знаю, что это значит и как это изменить, так как sudo chmod g+x это не меняет.

101 просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

Что касается вашей проблемы, почему бы вам не заняться ею понемногу? cdв /home, затем /home/my-userи т. д. Посмотрим, куда он попадет. Кроме того, зачем вы это делаете  sudo - gitlab-runner? У этого пользователя нет пароля, с которым вы можете войти?

от (2.3тыс. баллов)
0

каждого из каталогов отображается знак после поля разрешений, что означает, что дополнительные разрешения устанавливаются с помощью ACL. Они могут переопределить «базовые» разрешения. Проверьте с sudo getfacl pathname для каждого каталога. Что касается s в группе, это означает, что файлы /подкаталоги, созданные в каталоге, будут иметь группу, установленную в группу каталога, независимо от того, кто их создает. Вы можете удалить это с помощью sudo chmod g-s pathname

от (2.7тыс. баллов)
0

я имел в виду su - gitlab-runner, нет sudo.

Оказывается, для этой папки у меня были установлены ACL

У меня сложилось ошибочное впечатление, что разрешения ACL будут связаны с битами разрешений с помощью операции ORed, тогда как вместо этого они полностью переопределяют их. У моего ACL для каталога были rw-разрешения, xбит отсутствовал, поэтому у меня не было разрешений для cd этого пользователя.


...