Я использую 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?
Вам понадобятся одинаковые 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
из терминала.
Прежде всего, ваши первые две команды могут быть объединены:
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), если вы ошиблись.