
Я создал пользователя с неуникальным идентификатором, передающим -o -u 1000 -m
опцию в useradd
команду. Так что теперь у меня есть два пользователя с одинаковым идентификатором, но с разными именами и разными домашними каталогами.
Я подумал, что это может быть решением для создания новой чистой среды (для целей тестирования) и сохранения тех же прав доступа к некоторым каталогам и файлам разработки.
Хотя создание пользователя и вход в его собственную среду рабочего стола прошли успешно, одно приложение, вручную запущенное с терминала, использовало домашний каталог исходного пользователя. Поэтому, начиная idea.sh
какscantligt_2все еще использовал домашний каталог пользователяскудный свет.
как это возможно? почему это приложение все еще использует домашний каталог исходного пользователя, даже если я запустил его как второе использование?
вот содержимое некоторых переменных окружения.
$> echo $HOME
/home/scantlight_2
$> echo $USER
scantlight_2
$> cd ~
$> pwd
/home/scantlight_2
и после всех испытаний,
Безопасно ли удалять пользователя «scantlight_2» с помощью userdel
команды или мне следует сделать это вручную из /etc/shadow
файла, чтобы избежать конфликтов?
EDIT: idea.sh
Это стартовый скрипт IDE "IntelliJ IDEA". Я сделал быструю рекурсию grep
по содержимому каталога bin и не использовал команду getent. Ниже приведена команда, которую я использовал.
grep -r -i "getent|passwd" ./idea_install/bin
Спасибо.
решение1
Большинство программ, которым нужно заботиться об именах пользователей, будут выполнять getent()
поиск, чтобы найти UID и использовать его с тех пор - это потому, что пользователи идентифицируются по uid, номеру. Имя - это не более чем красивая печать и удобство.
Например, запустите id 1000
или getent passwd 1000
, и они отобразят только первую запись для этого uid.
userdel
Использовать или deluser
любую подобную команду для удаления второго пользователя небезопасно .
Это потому, что они, скорее всего, удалятпервыйпользователя с uid 1000, которого они находят.
Вместо этого вам необходимо вручную отредактировать файлы паролей и групп:
vipw
иvipw -s
редактировать/etc/passwd
и/etc/shadow
vigr
иvigr -s
редактировать/etc/group
и/etc/gshadow