1

Я в немного странной ситуации. Недавно я работал над переключением с Debian на Arch, и у меня есть домашний раздел, который указывает на один и тот же раздел (разные имена пользователей, так что это не проблема).

То, что я хочу сделать, это одно из двух:

  1. Настройте пользователя на Arch с тем же именем пользователя и группой, что и в Debian, и все будет работать! ИЛИ ЖЕ
  2. Переместите файлы, которыми я бы хотел поделиться между домашними папками, в их собственный раздел и смонтируйте их с помощью fstab.

Во втором случае у меня есть около 150 ГБ файлов, которые нужно будет перенести в их собственный раздел, и у меня есть около 15 ГБ свободного места на моем домашнем разделе. Поэтому я хотел бы создать раздел ext4 размером 10 ГБ, переместить файлы размером 10 ГБ, снова развернуть раздел, снова переместить файлы и т.д., Пока все файлы не будут перемещены в свой собственный раздел.

Я могу сделать это вручную, но было бы легче, если бы я мог сказать «Переместить 10ГБ файлов отсюда туда, а затем изменить его размер и повторять, пока у меня не будет файлов».

Это вообще возможно?

2 ответа2

3

Файлы данных и конфигурации в каталогах /home / должны быть независимыми от распространения, так как они связаны с приложениями, а не с ОС. Некоторые дистрибутивы могут настраивать свои версии приложений, например, для использования разных имен папок в /home/rob , но вам не нужно делать больше, чем просто переименовывать папку или символическую ссылку, чтобы она соответствовала ожиданиям приложения.

Поэтому создание пользователя на arch, который имеет готовый доступ к файлам и каталогам, уже присутствующим в домашних каталогах debian, не должно быть большой проблемой.

Первое, что вам нужно сделать, - это определить UID пользователя debian и убедиться, что это одинаково для arch. UID - это "реальный" идентификатор пользователя, а тот, с которым вы входите в систему, представляет собой просто человеческое представление uid. Допустим, ваш архивный пользователь 'rob', а домашний директор rob - /home/rob:

 $ ls -alnd /home/rob
 drwxr-xr-x 94 1000 1000 12288 Jul  3 21:36 /home/rob

UID и GID (идентификатор группы) являются третьим и четвертым столбцами. Таким образом, эта папка принадлежит uid 1000 и gid 1000. На стороне Debian это будет соответствовать имени пользователя и имени группы, с которыми вы знакомы в passwd:

$ grep 1000 /etc/passwd
rob:x:1000:1000:,,,,:/home/rob:/bin/bash
$ grep 1000 /etc/group
rob:x:1000:

Таким образом, вы можете видеть, что имя группы также «грабить» в этом случае. Это вариант распространения - некоторые по умолчанию создают пользователей с основной группой с тем же именем, а некоторые создают группу users (часто с gid 100) и делают ее основной. С точки зрения сортировки это не имеет большого значения, особенно если вы являетесь единственным пользователем.

Я не могу вспомнить, что делает arch, но я собираюсь предположить, что она создает группу users с gid 100.

Поэтому нам просто нужно создать нового пользовательского rob , указать его в папке и убедиться, что он настроен с правильным uid:

$ adduser --home /home/rob --uid 1000 --no-create-home --gid 100 rob

Или, если вы хотите сначала создать группу для робота, сделайте это:

$ adduser --group --gid 1000 rob

затем

$ adduser --home /home/rob --uid 1000 --no-create-home --gid 1000 rob

Теперь установите пароль для учетной записи грабителя

$ passwd rob

И войти, и он должен иметь доступ так же, как это было на Arch.

1

Вариант № 1 имеет хорошие шансы на работу. Вам просто нужно, чтобы UID и GID совпадали. Используйте groupadd -g и useradd -u чтобы добавить их в базу данных пользователей с вручную выбранным uid и gid, совпадающими с теми, которые вы найдете в Debian с id -a

find /home -printf 'user %u %U\ngroup %g %G\n' | sort -u

Надеемся, что список содержит только uids и gids для ваших непривилегированных учетных записей, а сообщения из другой системы сообщаются либо с именами corrent, либо в виде чисел без имени. Если один и тот же uid или gid появляется дважды в списке с двумя разными именами, все становится сложнее.

Для тех, о которых сообщается без имен, используйте groupadd -g gid group и useradd -u uid -g gid username для создания записей в базе данных пользователей, дающих им их имена. Затем запустите passwd username чтобы установить пароль для пользователя, которого вы создали.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .