Как сделать файлы общедоступными в системе Linux (когда безопасность относительно не важна)?

Я использую Ubuntu 9.10 на стационарном ПК. У меня есть дополнительный жесткий диск на 1 ТБ с одним большим логическим разделом (в настоящее время отформатированный как ext4). Он монтируется как / usr3 с параметрами пользователя, exec в /etc/fstab.

Я делаю эксперименты по высокоскоростной визуализации. Ну, только 260 кадров в секунду, но это все равно создает много отдельных файлов, так как каждый кадр сохраняется как один png-файл. Стационарный не используется никем, кроме меня, поэтому модель безопасности по умолчанию, представленная ubuntu, не нужна.

Каков наилучший способ сделать все содержимое / usr3 общедоступным во всех системах. В случае, если мне нужно переместить жесткий диск на другую машину с Ubuntu 9.x или 10.x?

При захвате изображения с помощью FireWire-камеры я использую самодельную утилиту для захвата (на основе консоли) в режиме sudo. Это создает все файлы с правами root в качестве владельца и группы.

Я вошел в систему как пользователь otb и обычно я делаю следующее, когда мне нужно сделать файлы общедоступными для otb:

sudo chown otb -R *
sudo chgrp otb -R *
sudo chmod a=rwx -R *

Это занимает некоторое время, так как диск теперь содержит отдельные ~ 200000 файлов.

После этого, как поведет себя linux, если я переместу жесткий диск в другую систему, где также доступен пользователь otb ? Будут ли файлы по-прежнему доступны без использования sudo?

2
задан 6 February 2011 в 21:35

2 ответа

Вам понадобятся одинаковые uid и gid для пользователя otb (или любого другого имени пользователя), чтобы иметь возможность доступа к файлам без sudo в другой системе.

UID (идентификатор пользователя) и GID (идентификатор группы) являются уникальными системами счисления, назначенными пользователям и группам. Для обычных пользователей они начинаются с 1001 года.

Самый простой способ обеспечить одинаковые разрешения: в файле /etc/passwd для любой записи пользователя, UID & amp; GID - третье и четвертое поле соответственно. Во второй системе вы можете создать пользователя с помощью команды из терминала, используя useradd -u UID -g GID username, где UID и GID - это одинаковые UID и GID пользователя otb в первой системе. Перед выполнением команды убедитесь, что тот же UID уже не используется.

Я попытался из GUI System -> Administration -> Users and Groups и не смог найти способ его синхронизировать.

Сохраняя один и тот же файл /etc/passwd в разных системах или используя такие решения, как NIS, LDAP сделает это намного более плавным, если у вас будет больше систем.

Подробнее см. man useradd, man usermod и, если вам нужно удалить каких-либо пользователей, man userdel из терминала.

0
ответ дан 6 February 2011 в 21:35

Прежде всего, ваши первые две команды могут быть объединены:

sudo chown otb:otb -R *

Однако не уверен, что это будет работать быстрее.

Во-вторых, поскольку вам не важна безопасность на этом диске, вы должны смонтировать диск, указав umask, который делает все файлы 777 такими, как они написаны:

user,exec,umask=000

необходимость выполнения вашей третьей команды вообще.

Кроме того, поскольку кажется, что опция umask может быть недоступна для всех типов файловых систем, есть другой способ установить права доступа к файлам по умолчанию для файлов, создаваемых в sudo. Это достигается путем редактирования /etc/sudoers.

Из man sudoers, опция «umask_override» появляется, чтобы разрешить это.

umask_override: Если установлено, sudo установит umask, как указано sudoers без изменений. Это позволяет указать более разрешающий umask в sudoers, чем собственный umask, и соответствует историческому поведению. Если umask_override не установлен, sudo установит umask как объединение umask пользователя и того, что указано в sudoers. Этот флаг по умолчанию отключен.

Я никогда не использовал эту опцию, поэтому продолжайте осторожно. Редактирование / etc / sudoers может быть опасным и потребовать перестройки системы (или вмешательства с CD), если вы ошиблись.

0
ответ дан 6 February 2011 в 21:35

Другие вопросы по тегам:

Похожие вопросы: