Назад | Перейти на главную страницу

совместное использование раздела ext3 / ext4 на внешнем диске

есть ли способ совместного использования раздела в формате ext3 / ext4 на внешнем USB-накопителе между разными пользователями (uid) на разных машинах Linux без создания группы для этой цели, установки группового владения разделом в эту группу и добавления каждого соответствующего пользователя группе на каждой машине?

Это означало бы, что мне нужны права root на каждой машине ... которых у меня может не быть в некоторых случаях.

Я использую этот раздел для хранения кода, который разрабатываю для Linux, и хотел бы, чтобы этот вариант был безопасным ... если это возможно.

Я мог бы использовать vfat-раздел, но тогда у меня нет контроля над правами rw + я не могу разрабатывать прямо в каталоге: мне всегда приходилось бы tar.gz каталог, извлекать, работать, tar.gz, копировать на внешний диск. .. и так далее.

Спасибо!

Общий ответ - «нет». uid и gid в файловой системе будут такими, как установлены в момент записи, и если они не совпадают на другой машине, то и привилегии не будут совпадать.

Если вы не хотите совершать небольшую революцию с uids / gids на нескольких машинах, вы можете попробовать использовать acls для установки желаемых разрешений для всех желаемых пользователей на всех машинах. Я подозреваю, что это будет использовать числовые uid внутри, поэтому может случиться так, что предоставление доступа к вашей учетной записи foo на машине A, uid a, предоставит доступ к вашим файлам случайной панели парня на машине B, uid a. Также кажется, что это больше хлопот, чем того стоит.

Я думаю, что более разумным подходом было бы использовать tar для переноса вашего дерева разработки.

У меня также была недоработанная идея носить с собой репозиторий Subversion (с файлами, доступными для записи только root и соответствующими файлами конфигурации доступа), и полагаться на то, что сервер svn присутствует на всех машинах, которые вы собираетесь использовать, но я не думаю, что это чрезмерно разумно.

Я обнаружил, что sys идентификатор общего ресурса группы 3 на Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, FreeBSD, OpenBSD, NetBSD, MacOSX, Solaris.

Ни одно другое имя группы не имеет такой же идентификатор. Четный root группа с идентификатором 0 в некоторых системах на самом деле wheel. И nogroup в Linux обычно 65534 но на BSD есть 32766 ((

Установите бит segid и ACL (включая значение по умолчанию) на sys в каталоге на внешнем хранилище:

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

После добавления user к sys сгруппируйте его, способный читать и писать /mnt/data/dir на любом хосте. Вам больше не нужно sudo привилегии каждый раз к грандиозному доступу.

sys группа и setgid немного работает хорошо, но обходной путь uname маску нужно использовать ACL.

Это лучшее, что ты можешь сделать.

UNIX не предназначен для личного / домашнего использования. Это корпоративная / корпоративная ОС, в которой не определено подключение съемных носителей к разным хостам ((

Смотрите также: