
Имеем сервер Linux:
- Есть две перегородки; одна установлена на/, а другой установлен на/данные.
- Есть пользователь с именемалиса.
- алисаuid — 1001.
- алисасоздал много личных файлов на/данные. То есть, доступ к файлам может получить только пользователь с uid 1001.
Затем:
- Я полностью переустанавливаю ОС Linux и оставляю раздел данных смонтированным на/данные.
- Я создаю нового пользователя с именемалиса. Однако, uidалисане обязательно будет 1001. Допустим, 1002.
Сейчас:
алисане может получить доступ к своим файлам на/данные, так как ее uid(1002) не равен uid(1001) файлов.
Как на практике решить распространенную проблему?
решение1
Либо создайте пользователя alice
с uid
правами 1001
, либо измените владельца файлов с 1001
на 1002
.
Создайте пользователя с определенными uid
:
useradd alice -u 1001
find
все файлы, владельцем которых является 1001
и chmod
им alice
(это также изменит основную группу gid
для alice
):
find /data -uid 1001 -print0 | xargs -0I{} chown alice: {}
решение2
Пара вариантов. Если у вас нет пользователя на новой системе с uid=1001
, то измените uid Алисы на этот через usermod -u 1001 -g 1001 alice
. Другой вариант — изменить владельца файлов с /data
помощью sudo find /data -uid 1001 -print0 | xargs -0 chown alice:alice
.