Автор Тема: Как задать определенные права на все файлы в папке? [РЕШЕНО]  (Прочитано 12758 раз)

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 441
Задача такая, нужно для папки: /srv/share/1cbases
Задать права таким образом, чтобы для всех пользователей был полный доступ.
Причем, даже, для вновь создаваемых файлов. Желательно и владельца единого сделать!
Я знаю так можно через samba сделать, а мне конкретно для папки, а не для шары.
Люди из под freenx работают!
Т.Е. если в этой папке создается новый файл, то его владельца и разрешения нужно устанавливать независимо от пользователя.
Пока выкрутился так: через cron каждую минуту запускаю chmod 777 -R /srv/share/1cbases Хотелось бы правильно!
« Последнее редактирование: 04.03.2014 16:26:12 от flint1975 »

Оффлайн Tyz

  • Участник
  • *
  • Сообщений: 80
Задача такая, нужно для папки: /srv/share/1cbases
Задать права таким образом, чтобы для всех пользователей был полный доступ.
Причем, даже, для вновь создаваемых файлов. Желательно и владельца единого сделать!
Я знаю так можно через samba сделать, а мне конкретно для папки, а не для шары.
Люди из под freenx работают!
Т.Е. если в этой папке создается новый файл, то его владельца и разрешения нужно устанавливать независимо от пользователя.
Пока выкрутился так: через cron каждую минуту запускаю chmod 777 -R /srv/share/1cbases Хотелось бы правильно!
также было бы интересно узнать этот момент

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
http://ru.wikipedia.org/wiki/Umask

Глобально указать (т.е. все кому ни лень будут создавать каталоги и файлы, и даже сам root!) создавать все каталоги с правами 777 и файлы 666: поправить файл /etc/profile, заменить umask 022 на umask 0.

Для конкретного пользователя: в ~/.bash_profile дописать umask 0.

После изменений перезапустить сеанс.
Сноси Винду, переходи на Линукс ! :)

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 441
Это конечно замечательно, но мне надо применительно к конкретному каталогу!

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Это конечно замечательно, но мне надо применительно к конкретному каталогу!
Никто и не говорил, что все будет легко :-)
Для прочтения: http://forum.ubuntu.ru/index.php?topic=156505.msg1155503#msg1155503

И так. Например, у вас папка, в которую нужно писать файлы всем пользователям: /srv/share. Все пользователи, которым можно писать в папку можно добавить в одну группу, хотя если права будут 777, то можно этого и не делать. Если делать группу, то на папку нужно дать права этой группе и дать соответствующие права на чтение/запись — 777. Далее. В fstab добавить, что типа того:/srv/share /share none bind,rw,umask=0 0 0(добавить опцию grpid, если нужно чтобы группа внутри каталога сохранялась)
Папку /share также присвоить группе (если нужно) и права 777.
Все. mount -a и проверяем, что получилось.
Сноси Винду, переходи на Линукс ! :)

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 441
Спасибо, вот теперь более понятно! Сейчас буду пробовать!

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Спасибо, вот теперь более понятно! Сейчас буду пробовать!
Ещё из этой же темы: http://forum.altlinux.org/index.php/topic,12623.msg187026.html#msg187026
Сноси Винду, переходи на Линукс ! :)

Оффлайн romario

  • Участник
  • *
  • Сообщений: 621
    • ЮНИКС
chmod 1777  /srv/share/1cbases  сделай, и все создаваемые в этой папке файлы будут с доступом 777

Оффлайн chaos_dremel

  • Участник
  • *
  • Сообщений: 519
  • Не будите, да не будимы будете.
Решение Вашей проблемы называется ACL
https://ru.wikipedia.org/wiki/ACL
http://admyn.ru/page.php?id=276
Хаосу, знаете ли, без разницы, как его величают — на то он и Хаос.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
chmod 1777  /srv/share/1cbases  сделай, и все создаваемые в этой папке файлы будут с доступом 777
Ради интереса проверил :-) — не работает. Все те же 755.
Сноси Винду, переходи на Линукс ! :)

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 441
Ну пока у меня не работает ни так, ни так.
Руки пока не доходят внимательно исследовать сей момент, потому как там проблема еще и в 1с под линукс, она создает файлы от своего пользователя, а читаются они обычными пользователями. В профиле 1с-го пользователя создал "umask 000" однако при отключении скрипта в cron периодически, нестабильно появляется ошибка доступа к файлу блокировок, которая лечиться chmod -R 777 /share/1cbasesACL пока не ковырял, возможно это выход!

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 441
Собственно umask так и не заработал, acl - работает!

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 441
В связи с тем, что, ко мне обратился один из пользователей по вопросу данной ветки - я опубликую свой ответ о том как это решено у меня:
Цитировать
Собственно для 1С - решил монтированием собственного ресурса smb в какой-нибудь каталог от имени конткретного пользователя. Т.е.:
1. Создаем скрытый каталог /srv/.1cdata
2. публикуем его как ресурс smb://localhost/1cdata (тут правда немного покрутить опции самбы, дабы связать пользователей самбы и локальных)
3. Монтируем его как cifs  в не скрытый каталог /srv/1cdata от имени конкретного пользователя.
После этого все кто что-то делают в каталоге /srv/1cdata - работают там от имени того, кем подключено к самбе, точнее, кто указан в параметрах самба-шары.
Единственное, поскольку, запуск службы smb происходит позже чем происходит монтирование по fstab, то я монтирую этот каталог скриптом в rc.local
если у кого есть какие комментарии, добро пожаловать!!! Просто планирую это на wiki положить, как один из методов общего доступа.

P.S. У данного метода есть еще один плюс - он работает в гетерогенной среде, т.е. к файловым базам можно одновременно подключаться и от linux пользователей (как локальных, так и сетевых), и от Windows клиентов.
« Последнее редактирование: 12.11.2015 08:33:14 от flint1975 »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 138
    • Домашняя страница
Привязка пользователей через winbind в nss.
Андрей Черепанов (cas@)