Поскольку вы говорите, что это на сервере Ubuntu, я предполагаю, что вы используете интерфейс командной строки (не графический рабочий стол). Чтобы изменить разрешения для одного каталога, но только для ограниченного числа пользователей, вам необходимо изменить группу, к которой принадлежит этот каталог. Каждый файл (и каталог) принадлежит одному пользователю и одной группе. Допустим, группа называется "суперпользователи" (это может быть что угодно).
- Прежде всего, создайте новую группу с помощью команды
addgroup superusers
. Для этого вам нужно быть пользователем root или запустить команду sudo.
- Затем вы изменили бы группу, к которой принадлежит домашний каталог пользователя C (/home/c). Это делается командой
chown -R :superusers
. Флаг -R гарантирует, что каждый файл в каталоге будет принадлежать группе суперпользователей.
- Теперь вам нужно добавить пользователя A и пользователя B в качестве членов этой группы. Это делается путем запуска одной команды для каждого пользователя. Запустите
sudo usermod -G superusers -a B
Естественно, B - это имя пользователя, которого вы хотите добавить в группу. Флаг -a добавляет суперпользователей групп в список групп, членом которых является пользователь B. Это сделано для того, чтобы мы ничего не испортили. Сделайте это еще раз для пользователя А.
Если вы правильно выполнили эти шаги и у вас все время были привилегии root, вы должны получить желаемый эффект. Пользователь A и B должен иметь возможность писать и читать в домашний каталог пользователя C.
В некоторых случаях файлы могут быть доступны для чтения или записи только владельцу. Это слишком много, чтобы объяснять здесь, но вы можете прочитать о "правах доступа к файлам" и команде chmod
если вы хотите продолжить изучение. Хорошее руководство доступно здесь. Это означает, что некоторые отдельные файлы не могут быть прочитаны или записаны группой - только владельцем. Чтобы изменить это, вы должны использовать команду chmod g+rw <file>
или chmod g+rw -R /home/C
чтобы изменить разрешения для каждого файла в домашнем каталоге пользователя C. Это добавляет права на чтение и запись для группа, которой принадлежит файл, в данном случае группа "суперпользователи", согласно шагу 2 в руководстве.
В качестве дополнения скажу, что это не рекомендуемый способ ведения дел. Обычно вы создаете третий каталог и предоставляете всем трем пользователям доступ на чтение и запись к этому каталогу.
Я не знаю, как обеспечить, чтобы каждый файл, созданный в этом каталоге, имел одинаковые права доступа для пользователей и групп. Вы можете добавить разрешения по умолчанию с помощью команды umask
, но это не изменит владельца по умолчанию. Я на самом деле сомневаюсь, что это выполнимо, и на самом деле против стандартов * nix, но было бы здорово, если бы кто-то мог исправить меня в этом.