Почему пользователь становится никем?
У меня проблема с пользователем Linux, я использую команду для добавления пользователя, например:
useradd -u 532 -d /data/test01 -g test test01
но когда я захожу как test01
и беги mkdir x
, это становится как:
никто не проверяет х
Почему пользователь становится nobody
? Как мне это исправить?
3 ответа
Другое возможное объяснение состоит в том, что вы запускаете этот материал в файловой системе, которая назначена одному пользователю.
Случаи для этого могут быть ntfs
или же vfat
,
nfs
монтировать с root_squash
(по умолчанию) может быть другой причиной.
Вы можете использовать команду usermod для изменения различных параметров пользователя, таких как имя пользователя и UID.
Псевдоним пользователя
Возможное объяснение состоит в том, что у вас уже был пользователь, которого никто не звал с UID (ID пользователя) 532. В результате вы создали "псевдоним пользователя".
Вы также можете попытаться указать другой UID для своего пользователя (или позволить системе поднять его). Или вы можете оставить это так. Единственный риск безопасности заключается в том, что если служба или другой пользователь может получить доступ nobody
данные, то он сможет получить доступ к вашим данным.
Отображение идентификатора пользователя NFS
Чтобы пользователи чувствовали, что имеют доступ к своим собственным файлам, UID на сервере NFS должен совпадать с UID на клиентах NFS. Хотя, вы хотите избежать этого для root
по крайней мере.
По умолчанию NFS exportfs выберет UID/GID 65534, который соответствует вашему пользователю nobody
UID. Вам нужно указать серверу NFS не отображать все UID на 65534, или, если это требуемое поведение, вам нужно указать сопоставленный UID по умолчанию.
Для первого случая удалите all_squash
и заменить его на root_squash
, но не забывайте, что любой пользователь без полномочий root с одинаковым UID между сервером NFS и любыми клиентами будет совпадать, поэтому им принадлежат файлы "
Во втором случае сохраните all_squash
но добавь anonuid=532
(вы также можете использовать anongid
для GID (или ID группы)).
Пример:
/ pc001(rw,root_squash)
/home/joe pc002(rw,all_squash,anonuid=532,anongid=100)
Примечание: изменения должны быть сделаны в файле /etc/exports
на сервере NFS.