Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Как сделать папку, писУемую для двух юзеров?  (Прочитано 758 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Пастор

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Создал группу, в ней два юзера.
Установил папке эту группу, и разрешил ей запись.
Файлы в ней можно создавать лишь владельцем.
Может это битами suid и sgid можно сделать? Или зачем они.
Kubuntu 14.04 amd64

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #1 : 25 Октября 2014, 22:32:09 »
chmod g+x folder

Оффлайн Пастор

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #2 : 25 Октября 2014, 22:38:42 »
Включен запуск для директории
drwxrwxr-x   2 pastor public     408K окт.  25 17:00 avatars/
Kubuntu 14.04 amd64

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #3 : 25 Октября 2014, 22:40:51 »
Доступ на запись разрешен для данной директории для участников public.
Вы как проверяете?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #4 : 25 Октября 2014, 22:41:17 »
sudo setfacl -Rm d:g:group_name:rwX /dir_name
sudo setfacl -Rm g:group_name:rwX /dir_name

https://help.ubuntu.ru/wiki/access_control_list
« Последнее редактирование: 26 Октября 2014, 00:45:01 от ArcFi »

Оффлайн Пастор

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #5 : 25 Октября 2014, 23:46:04 »
Доступ на запись разрешен для данной директории для участников public.
Вы как проверяете?
touch /home/pastor/avatars/test.txt
touch: невозможно выполнить touch для «/home/pastor/avatars/test.txt»: Отказано в доступе

Что-то не то.
Вот в /etc/group есть запись:
public:x:1010:vimer,pastor

Но в id нет группы:
$ id
uid=1000(pastor) gid=1000(pastor) группы=1000(pastor),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),112(lpadmin),123(sambashare),126(vboxusers),127(vboxsf),138(wireshark)

$ id
uid=1002(vimer) gid=1002(vimer) группы=1002(vimer),4(adm),27(sudo),112(lpadmin),123(sambashare)
« Последнее редактирование: 25 Октября 2014, 23:55:47 от Пастор »
Kubuntu 14.04 amd64

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #6 : 25 Октября 2014, 23:54:56 »
Можно вывод:

whoami
groups
cat /etc/group | grep "$(whoami)"
ls -la /home
touch /home/pastor/avatars/test-$(date +"%N").txt

Пользователь решил продолжить мысль 25 Октябрь 2014, 23:59:44:
Цитировать
Но в id нет группы:
$ id
uid=1000(pastor) gid=1000(pastor) группы=1000(pastor),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),112(lpadmin),123(sambashare),126(vboxusers),127(vboxsf),138(wireshark)

мда...

bash
touch /home/pastor/avatars/check.txt
« Последнее редактирование: 26 Октября 2014, 00:01:21 от .ubuntufan »

Оффлайн Пастор

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #7 : 26 Октября 2014, 00:05:50 »
Можно вывод:

whoami
groups
cat /etc/group | grep "$(whoami)"
ls -la /home
touch /home/pastor/avatars/test-$(date +"%N").txt

Пользователь решил продолжить мысль 25 Октябрь 2014, 23:59:44:
Цитировать
Но в id нет группы:
$ id
uid=1000(pastor) gid=1000(pastor) группы=1000(pastor),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),112(lpadmin),123(sambashare),126(vboxusers),127(vboxsf),138(wireshark)

мда...

bash
touch /home/pastor/avatars/check.txt

Ну так, каким юзером то ;)

Их два. Владельцем конечно создаётся.

А вот вывод:
$ whoami
vimer
$ cat /etc/group | grep "$(whoami)"
adm:x:4:vimer,syslog,pastor
cdrom:x:24:vimer
sudo:x:27:vimer,pastor
dip:x:30:vimer
plugdev:x:46:vimer
lpadmin:x:112:vimer,pastor
vimer:x:1000:
sambashare:x:123:vimer,pastor
vboxusers:x:126:vimer
vboxsf:x:127:vimer
wireshark:x:138:vimer
public:x:1010:vimer,pastor
ls -la /home
итого 120K
drwxr-xr-x  4 root    root    4,0K окт.  16 20:50 ./
drwxr-xr-x 26 root    root    4,0K окт.  11 11:05 ../
drwxr-xr-x 79 vimer   vimer   100K окт.  25 18:56 vimer/
lrwxrwxrwx  1 root    root      44 февр. 23  2014 .directory -> /etc/kubuntu-default-settings/directory-home
drwxr-xr-x 37 pastor pastor 4,0K окт.  25 11:29 pastor/
$ touch /home/pastor/avatars/test-$(date +"%N").txt
touch: невозможно выполнить touch для «/home/pastor/avatars/test-415593038.txt»: Отказано в доступе

Видать я в группу не правильно добавлял. Не разобрался.
В /etc/group в группе public они оба есть. Но их id не отображают группу. Наверное в этом дело.

Добавлял так:
# usermod -a -G public vimer
# usermod -a -G public pastor
« Последнее редактирование: 26 Октября 2014, 00:12:57 от Пастор »
Kubuntu 14.04 amd64

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #8 : 26 Октября 2014, 00:12:44 »
В /etc/group в группе public они оба есть. Но их id не отображают группу. Наверное в этом дело.
Именно.
Но этого мало.
Придётся менять umask.
И права на каталог редактировать.
Поэтому проще через ACL.
« Последнее редактирование: 26 Октября 2014, 00:30:38 от ArcFi »

Оффлайн Пастор

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #9 : 26 Октября 2014, 00:13:36 »
В /etc/group в группе public они оба есть. Но их id не отображают группу. Наверное в этом дело.
Именно.
Но этого мало.
Придётся менять umask.
И права на хомяк редактировать.
Простите, не весь вывод был. Сейчас полный, исправил.
Kubuntu 14.04 amd64

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #10 : 26 Октября 2014, 00:19:45 »
su -l vimer
groups
touch /home/pastor/avatars/check.txt

Оффлайн Пастор

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #11 : 26 Октября 2014, 00:35:03 »
su -l vimer
groups
touch /home/pastor/avatars/check.txt
Юзером vimer вхожу в систему.
$ groups
vimer adm cdrom sudo dip plugdev lpadmin sambashare vboxusers vboxsf wireshark
Группы public нет. Не создаёт он в директории юзера pastor/avatars/.

Пользователь решил продолжить мысль 26 Октября 2014, 00:36:47:
В /etc/group в группе public они оба есть. Но их id не отображают группу. Наверное в этом дело.
Именно.
Но этого мало.
Придётся менять umask.
И права на каталог редактировать.
Поэтому проще через ACL.
umask где, кому? ACL это где?
« Последнее редактирование: 26 Октября 2014, 00:36:47 от Пастор »
Kubuntu 14.04 amd64

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #12 : 26 Октября 2014, 01:03:24 »
Если не менять umask, то второй юзер не сможет изменить файлы, записанные первым.

ACL выше.

Оффлайн Пастор

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как сделать папку, писУемую для двух юзеров?
« Ответ #13 : 27 Октября 2014, 18:42:54 »
Уже работает. Ничего не делал, кроме как перегружался.
Выглядит как бред, но это так.
Kubuntu 14.04 amd64

 

Страница сгенерирована за 0.035 секунд. Запросов: 25.