Как мне дать например пользователю user1 права пользователя user2?
Чтобы user1 имел возможность читать/записывать файлы и папки созданные пользователем user2.
Как дать права одному пользователю права другого?
use acl
man getfacl
man setfacl
попробуй включить пользователя user1 в группу user2. Если у пользователя user2 значения umask 0002 , то получиться то, что ты хочешь.
Чтобы user1 имел возможность читать/записывать файлы и папки созданные пользователем user2.
пусть юзер2 установит разрешение права модификации файла. например chmod o+w file.txt
Конечно, можно их и в одну группу заносить. Тогда нужно поставить право модификации для группы. chmod g+w file.txt
Если у пользователя user2 значения umask 0002 , то получиться то, что ты хочешь.
тоже вариант...
use acl
не кажется-ли вам, что это как из пушки по воробьям? хотя тоже работает (только надо ФС перемонтировать с поддержкой этого вашего ACL. По умолчанию оно отключено)
Ребят, я ничего понять не могу, какой же мне способ выбрать.
Если acl, то как говорит drBatty, требуется перемонтировать ФС, а это не вариант, не могу я это сделать.
Если при помощи включения в группу, то сложно это все как-то, я даже понятия не имею, как дать права пользователю user1, включу я его в группу groupuser2, ничего ведь не изменится.
Опять же если нужно отдельно устанавливать права модификации на каждую папку или файл, тоже не подходит.
Если при помощи включения в группу, то сложно это все как-то, я даже понятия не имею, как дать права пользователю user1, включу я его в группу groupuser2, ничего ведь не изменится.
От root'а - внести пользователя user1 в группу groupuser2
gpasswd -a user1 groupuser2
Опять же если нужно отдельно устанавливать права модификации на каждую папку или файл, тоже не подходит.
Дать соответствующие права каталогам (создание, удаление, поиск) и файлам (просмотр и редактирование), в том числе вложенным, начиная с текущего:
find . -type d -exec chmod 775 {} \;
find . -type f -exec chmod 664 {} \;
Дать соответствующие права каталогам (создание, удаление, поиск) и файлам (просмотр и редактирование), в том числе вложенным, начиная с текущего:
user2 ведь может создавать свои папки и файлы, их нельзя предопределить и назначить им права
user2 ведь может создавать свои папки и файлы, их нельзя предопределить и назначить им права
В данном случае важнее групповые права файлов.
В данном случае важнее групповые права файлов.
Не могу понять вашу концепцию, можно подробнее?
Не могу понять вашу концепцию, можно подробнее?
...или я не правильно понял вашу задачу :o
Как я её понял: есть пользователи user1 и user2. Нужно дать право первому из них иметь возможность редактировать созданные вторым пользователем файлы и каталоги(?).
Если пользователь user1 относится к группе groupuser2, он имеет те же права доступа к каталогам и файлам, что и вся группа, к которой эти каталоги и файлы принадлежат.
Если acl, то как говорит drBatty, требуется перемонтировать ФС, а это не вариант, не могу я это сделать.
угу. по умолчанию без ACL, потому-что они очень сложны, и если юзеров <100, то и не нужны.
Если при помощи включения в группу, то сложно это все как-то
ну что поделать...
Опять же если нужно отдельно устанавливать права модификации на каждую папку или файл, тоже не подходит.
устанавливайте сразу всё...
Если пользователь user1 относится к группе groupuser2, он имеет те же права доступа к каталогам и файлам, что и вся группа, к которой эти каталоги и файлы принадлежат.
да, только надо поставить umask. Стандартное 0022 не разрешает user1 изменять файлы группы. (ReadOnly для группы, так наверное понятно)
Как я её понял: есть пользователи user1 и user2. Нужно дать право первому из них иметь возможность редактировать созданные вторым пользователем файлы и каталоги(?).
Все верно.
Делал так:
[console]useradd user1
passwd user1
mkdir /home/user1
chown user1:users /home/user1
usermod -a -G user2 user1[/console]
Что-то у пользователя user1 не появилось доступа к файлам пользователя user2
Или я что-то не так делаю.
Покажите
ls -l /home/user1
ls -d /home/user1
[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
Что-то у пользователя user1 не появилось доступа к файлам пользователя user2
Показанные вами команды точно так и вводились?
$ ls -d /home/user1
Немного ошибся, покажите
ls -ld /home/user1
p.s. в файле /etc/login.defs UMASK поменял на 0002
этот файл действует только на НОВЫХ юзеров. Старым пропишите в .bash_login/.bashrc команду
umask 0002useradd user1
а это зачем??? есть adduser
chown user1:users /home/user1
usermod -a -G user2 user1
тут вы сделали хозяйской группой группу users
а добавили в группу user2
Хоть думайте, когда команды копипастите. Сейчас проще всего удалить юзеров и группу, и начать по новой.
Пересоздал пользователей
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
user1:x:1003:
user2:x:1002:
user2:x:1004:user2,user1
Но доступа к файлам как нет, так и не было.
неа. Но доступа к файлом раньше не было. А теперь - его нет! wink
кто вас просил создавать группу user2? она и так создалась с юзером. Теперь у вас две группы user2, причём первой нельзя, а второй можно. Называйте группы и хотя-бы group1. А то сами запутались, и всех запутали.
UPD называть группы можно при создании пользователя. По умолчанию в дебе вместе с user1 создаётся группа user1
Как вариант:
usermod -u `id -u user1` user2
Получится вроде как один пользователь, но с разными логинами и паролями. Оба пользователя будут владельцами файлов друг-друга.
Лучше конечно acl, но в некоторых ситуациях вполне себе метод.
Как вариант:
usermod -u `id -u user1` user2
Получится вроде как один пользователь, но с разными логинами и паролями. Оба пользователя будут владельцами файлов друг-друга.
я-бы застрелился от такой кривизны...
Лучше конечно acl, но в некоторых ситуациях вполне себе метод.
конечно лучше. Сложно придумать что-то более кривое. :o