LinuxForum.Fans
Тема

Как дать права одному пользователю права другого?

Автор: setter 52 сообщений 11990 просмотров
#208015

Как мне дать например пользователю user1 права пользователя user2?
Чтобы user1 имел возможность читать/записывать файлы и папки созданные пользователем user2.

#208017

use acl
man getfacl
man setfacl

#208192

попробуй включить пользователя user1 в группу user2. Если у пользователя user2 значения umask 0002 , то получиться то, что ты хочешь.

#210488
setter написал:
Чтобы user1 имел возможность читать/записывать файлы и папки созданные пользователем user2.

пусть юзер2 установит разрешение права модификации файла. например chmod o+w file.txt

Конечно, можно их и в одну группу заносить. Тогда нужно поставить право модификации для группы. chmod g+w file.txt

anonymous.ru написал:
Если у пользователя user2 значения umask 0002 , то получиться то, что ты хочешь.

тоже вариант...

i2ks написал:
use acl

не кажется-ли вам, что это как из пушки по воробьям? хотя тоже работает (только надо ФС перемонтировать с поддержкой этого вашего ACL. По умолчанию оно отключено)

#225622

Ребят, я ничего понять не могу, какой же мне способ выбрать.
Если acl, то как говорит drBatty, требуется перемонтировать ФС, а это не вариант, не могу я это сделать.
Если при помощи включения в группу, то сложно это все как-то, я даже понятия не имею, как дать права пользователю user1, включу я его в группу groupuser2, ничего ведь не изменится.
Опять же если нужно отдельно устанавливать права модификации на каждую папку или файл, тоже не подходит.

#225625
setter написал:
Если при помощи включения в группу, то сложно это все как-то, я даже понятия не имею, как дать права пользователю user1, включу я его в группу groupuser2, ничего ведь не изменится.

От root'а - внести пользователя user1 в группу groupuser2

text

gpasswd -a user1 groupuser2
setter написал:

Опять же если нужно отдельно устанавливать права модификации на каждую папку или файл, тоже не подходит.

Дать соответствующие права каталогам (создание, удаление, поиск) и файлам (просмотр и редактирование), в том числе вложенным, начиная с текущего:

text

find . -type d -exec chmod 775 {} \;
text

find . -type f -exec chmod 664 {} \;
#225627
Lupo Alberto написал:
Дать соответствующие права каталогам (создание, удаление, поиск) и файлам (просмотр и редактирование), в том числе вложенным, начиная с текущего:

user2 ведь может создавать свои папки и файлы, их нельзя предопределить и назначить им права

#225628
setter написал:
user2 ведь может создавать свои папки и файлы, их нельзя предопределить и назначить им права

В данном случае важнее групповые права файлов.

#225629
Lupo Alberto написал:
В данном случае важнее групповые права файлов.

Не могу понять вашу концепцию, можно подробнее?

#225650
setter написал:
Не могу понять вашу концепцию, можно подробнее?

...или я не правильно понял вашу задачу :o
Как я её понял: есть пользователи user1 и user2. Нужно дать право первому из них иметь возможность редактировать созданные вторым пользователем файлы и каталоги(?).
Если пользователь user1 относится к группе groupuser2, он имеет те же права доступа к каталогам и файлам, что и вся группа, к которой эти каталоги и файлы принадлежат.

#225699
setter написал:
Если acl, то как говорит drBatty, требуется перемонтировать ФС, а это не вариант, не могу я это сделать.

угу. по умолчанию без ACL, потому-что они очень сложны, и если юзеров <100, то и не нужны.

setter написал:
Если при помощи включения в группу, то сложно это все как-то

ну что поделать...

setter написал:
Опять же если нужно отдельно устанавливать права модификации на каждую папку или файл, тоже не подходит.

устанавливайте сразу всё...

Lupo Alberto написал:
Если пользователь user1 относится к группе groupuser2, он имеет те же права доступа к каталогам и файлам, что и вся группа, к которой эти каталоги и файлы принадлежат.

да, только надо поставить umask. Стандартное 0022 не разрешает user1 изменять файлы группы. (ReadOnly для группы, так наверное понятно)

#225705
Lupo Alberto написал:
Как я её понял: есть пользователи user1 и user2. Нужно дать право первому из них иметь возможность редактировать созданные вторым пользователем файлы и каталоги(?).

Все верно.
Делал так:
[console]useradd user1
passwd user1
mkdir /home/user1
chown user1:users /home/user1

usermod -a -G user2 user1[/console]

Что-то у пользователя user1 не появилось доступа к файлам пользователя user2
Или я что-то не так делаю.

#225706

Покажите

text

ls -l /home/user1
text

ls -d /home/user1
#225708

[console]$ ls -l /home/user1
и того 32
drwxr-xr-x 2 user1 user1 4096 Янв 30 23:12 Видео
drwxr-xr-x 2 user1 user1 4096 Янв 30 23:12 Документы
drwxr-xr-x 2 user1 user1 4096 Янв 30 23:12 Загрузки
drwxr-xr-x 2 user1 user1 4096 Янв 30 23:12 Изображения
drwxr-xr-x 2 user1 user1 4096 Янв 30 23:12 Музыка
drwxr-xr-x 2 user1 user1 4096 Янв 30 23:12 Общедоступные
drwxr-xr-x 2 user1 user1 4096 Янв 30 23:12 Рабочий стол
drwxr-xr-x 2 user1 user1 4096 Янв 30 23:12 Шаблоны

$ ls -d /home/user1
/home/user1[/console]

p.s. в файле /etc/login.defs UMASK поменял на 0002

#225712
setter написал:
Что-то у пользователя user1 не появилось доступа к файлам пользователя user2

Показанные вами команды точно так и вводились?

setter написал:
$ ls -d /home/user1

Немного ошибся, покажите

text

 ls -ld /home/user1
#225715
setter написал:
p.s. в файле /etc/login.defs UMASK поменял на 0002

этот файл действует только на НОВЫХ юзеров. Старым пропишите в .bash_login/.bashrc команду

text
umask 0002
setter написал:
useradd user1

а это зачем??? есть adduser

setter написал:
chown user1:users /home/user1
setter написал:
usermod -a -G user2 user1

тут вы сделали хозяйской группой группу users
а добавили в группу user2
Хоть думайте, когда команды копипастите. Сейчас проще всего удалить юзеров и группу, и начать по новой.

#225730

Пересоздал пользователей

Lupo Alberto написал:
ls -ld /home/user1

[console]$ ls -ld /home/user1
drwxr-xr-x 21 user1 user1 4096 Янв 31 00:00 /home/user1[/console]

Создал пользователей при помощи adduser
Далее Создал группу
[console]groupadd user2[/console]
Добавил пользователей в эту группу
[console]usermod -a -G user2 user2
usermod -a -G user2 user1[/console]
Но доступа к файлам как нет, так и не было.

/etc/group:


...
user1:x:1003:
user2:x:1002:
user2:x:1004:user2,user1
#225733
setter написал:
user1:x:1003:
user2:x:1002:
user2:x:1004:user2,user1
setter написал:
Но доступа к файлам как нет, так и не было.

неа. Но доступа к файлом раньше не было. А теперь - его нет! wink
кто вас просил создавать группу user2? она и так создалась с юзером. Теперь у вас две группы user2, причём первой нельзя, а второй можно. Называйте группы и хотя-бы group1. А то сами запутались, и всех запутали.
UPD называть группы можно при создании пользователя. По умолчанию в дебе вместе с user1 создаётся группа user1

#225735

Как вариант:
usermod -u `id -u user1` user2
Получится вроде как один пользователь, но с разными логинами и паролями. Оба пользователя будут владельцами файлов друг-друга.
Лучше конечно acl, но в некоторых ситуациях вполне себе метод.

#225742
neol написал:
Как вариант:
usermod -u `id -u user1` user2
Получится вроде как один пользователь, но с разными логинами и паролями. Оба пользователя будут владельцами файлов друг-друга.

я-бы застрелился от такой кривизны...

neol написал:
Лучше конечно acl, но в некоторых ситуациях вполне себе метод.

конечно лучше. Сложно придумать что-то более кривое. :o

Войдите или зарегистрируйтесь, чтобы ответить.