Как должны работать права в linux

Тема в разделе "Администрирование серверов", создана пользователем Q_BASIC, 13 дек 2019.

XEvil 4.0 Релиз Состоялся!
Модераторы: mefish
  1. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    493
    Симпатии:
    1.165
    Приветствую,

    Не понимаю как устроены права в linux (debian 9).

    Есть папка /var/www
    Есть пользователь sshsafe
    Есть пользователь ftpuser

    1. Изначально я ставил рекурсивно на папку пользователя и группу www-data, пользователей добавил туда. Но когда я через ssh меняю файл, владелец и группа меняются на sshsafe и ftp пользователь уже не может сохранять файлы.

    2. Гит ставил через sshsafe, но ему же потом гит начал выдавать что не хватает прав свои же настройки записывать.

    3. В CodeIgniter есть файл https://github.com/codeigniter4/CodeIgniter4/blob/develop/admin/setup.sh, который пытается запустить композер и сыпятся ошибки потому что нет прав на chmod. Я должен разрешить пользователям ставить права на выполнение на файлы?

    Как оно должно работать, чтобы 1 раз настроить и всё хорошо работало? Сейчас приходится через рут устанавливать рекурсивно обратно на файлы www-data.

    Как оно должно работать?

    UPD:
    Почитал тут, сделал всё так же - вроде работает.
    https://www.rootfront.com/article/4570101/2012-12-06/obolochki-linux-razbiraem-umask-s-primeram
    https://losst.ru/gruppy-polzovatelej-linux

    Но вот незадача. Переносил с помощью архива папку с другого сервера. На другом сервере через tar создал архив, на этом сервере через tar распаковал. Папка создалась, всё ок

    ls -al выдает:
    drw-rw---- 8 sshsafe www-data 4096 Nov 9 19:38 vendor

    Но я даже открыть не могу эту папку! На cd vendor получаю ответ -bash: cd: vendor: Permission denied Через браузер так же получаю 403 код.
    Что я делаю не так?
     
    Последнее редактирование: 14 дек 2019
  2. starwanderer

    starwanderer

    Регистр.:
    20 ноя 2016
    Сообщения:
    1.438
    Симпатии:
    3.051
    Вы, вероятно, хотите настроить "как на хостингах". Чтобы пользователь мог по FTP положить файлы в каталог web-сервера.
    В данном случае через виртуальные хосты настраивается работа веб сервера не от www-data,
    а от конкретного пользователя, которому принадлежит данный каталог.
    Это также защищает от взлома других пользователей, в случае проблем с безопасностью у кого-то из них.

    И чаще всего, для удобства переносят каталог сайта в домашний каталог пользователя (но необязательно).
    Тогда всё сходится и сервер работает без необходимости смены прав
    и пользователь к своему каталогу нормально ходит по FTP и запирается в нём.
    И не нужно изобретать дополнительного пользователя FTP.
    (Это к теме вашего предыдущего топика про FTP)
    Чтобы проще было понять с примерами - можно поставить ту-же панель Vesta на виртуалку и посмотреть конфиги.
    Копировать их не надо - они там весьма замороченные, но как настроены виртуальные хосты можно посмотреть.
     
    Последнее редактирование: 14 дек 2019
    MrHolmes, Mifrandir и Q_BASIC нравится это.
  3. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    493
    Симпатии:
    1.165
    а можешь ссылку скинуть, что как настраивать для этого?
     
  4. starwanderer

    starwanderer

    Регистр.:
    20 ноя 2016
    Сообщения:
    1.438
    Симпатии:
    3.051
    Собирал сам из разных мест. Чтобы где-то всё было стройно изложено не припомню.
    Вбить в поиск "Запуск виртуальных хостов от разных учетных записей" и полистать.
    Поэтому и отсылаю к Весте как к рабочему варианту.
     
    Последнее редактирование: 14 дек 2019
    Q_BASIC нравится это.