Невозможно войти в новую учетную запись пользователя
Пытаясь переключить учетные записи на мою вновь созданную учетную запись, я получаю черный экран, а затем я возвращаюсь к основному экрану входа в систему после ввода правильного пароля.
После входа в мою ранее существующую учетную запись я получаю:
"System Program Problem Detected"
Details:
Executable path /usr/bin/Xorg
Package: xserver-xorg-core 2:1.11.4-0ubuntu10.1
Details: Crash
... (tons more, but no way to copy paste or save)
Когда я пытаюсь су
su -l penner
Я получил:
No directory, logging in with HOME=/
Я вручную создал домашний каталог, и эта ошибка исчезла, но все равно не повезло с логином. Кажется, что-то пошло не так с созданием пользователя? Как я могу это исправить?
3 ответа
Если вы создали учетную запись пользователя с useradd
, вы должны настроить все для этого вручную. Вот почему при создании учетных записей пользователей из командной строки рекомендуется использовать adduser
вместо этого в Ubuntu (и Debian, и других системах на основе Debian). Вы можете просто удалить пользователя с userdel
или же deluser
и воссоздать его с adduser
, Иначе...
Исправление местоположения домашнего каталога
Если вы хотите сохранить учетную запись пользователя и устранить проблему, то вам нужно взглянуть на:
- имя домашнего каталога, для которого фактически настроена учетная запись пользователя
- имя каталога, который вы на самом деле создали
Это должно быть точно так же. Сообщение об ошибке, которое вы получаете с su -l penner
говорит вам, что они не одинаковы.
Чтобы проверить домашний каталог, для которого фактически настроена учетная запись пользователя, выполните эту команду (см. man 5 passwd
а также man grep
для дополнительной информации):
grep penner /etc/passwd
Вы должны увидеть такую строку:
penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash
То есть шестой :
поле (после пятого :
) содержит домашний каталог. Если это не /home/penner
, так должно быть. Если каталог, который вы создали для пользователя, не является /home/penner
должно быть тоже. Если два каталога одинаковы, но ни один из них не является /home/penner
, тогда это может теоретически сработать, но вы должны сделать их обоих /home/penner
потому что много программного обеспечения предполагает, что все root
домашние каталоги пользователей /home/username
,
Ты можешь измениться penner
домашний каталог к /home/penner
запустив эту команду:
sudo usermod -d /home/penner penner
- Увидеть
man usermod
для дополнительной информации.
Обеспечение того, что это каталог, и что у пользователя есть доступ
Если (или один раз) имена оба /home/penner
Вы также должны убедиться, что пользователь имеет доступ к своему домашнему каталогу. Бежать:
ls -ld /home/penner
Вы должны увидеть что-то похожее на это (хотя дата и время будут другими):
drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
Если вместо drwxr-xr-x
, у вас есть то, что начинается с -
скорее, чем d
Затем вы создали файл, а не каталог. Удалите файл и создайте там каталог.
Если вместо первого penner
у вас есть что-то еще, тогда пользователь не владеет своим домашним каталогом, поэтому сделайте его своим:
sudo chown penner /home/penner
- Увидеть
man chown
для дополнительной информации.
Если вместо drwxr-xr-x
в следующих трех символах после d
, тогда у пользователя нет полного доступа там. Исправьте это следующим образом:
sudo chmod u+rwx /home/penner
- Увидеть
man chmod
для дополнительной информации.
(penner
способен выполнить эту команду, если они владеют своим домашним каталогом, поэтому, если вы предпочитаете, вы можете запустить это как: sudo -u penner u+rwx /home/penner
)
Обеспечение других пользователей не имеют общего доступа к записи
Если вместо drwxr-xr-x
, имеются w
с вместо -
с последними шестью буквами, то пользователи кроме penner
может иметь доступ к записи penner
домашний каталог. Это опасно (если вы действительно не знаете, что делаете, не хотите этого и не настраиваетесь так, чтобы это не было проблемой). Починить это:
sudo chmod -R go-w /home/penner
Другие значения по умолчанию
Есть некоторые другие изменения, которые вы можете сделать. По умолчанию в Ubuntu (то есть, если вы создаете учетную запись пользователя с adduser
или с помощью графического инструмента, который вы не сделали):
Домашние каталоги имеют права на чтение и запись для всех, а не только для пользователя, которому они принадлежат. Пользователи могут изменить это либо для всего домашнего каталога, либо для любых файлов и подкаталогов в нем. Но если вы хотите этот по умолчанию, и у вас нет второго и третьего
r
а такжеx
вdrwxr-xr-x
, бежать:sudo chmod 755 /home/penner
(
penner
способен выполнить эту команду, если они владеют своим домашним каталогом, поэтому, если вы предпочитаете, вы можете запустить это как:sudo -u penner chmod 755 /home/penner
)Каждый пользователь имеет свою собственную группу с тем же именем, что и пользователь, и это основная группа пользователя. Их домашний каталог принадлежит этой группе. В этом смысл второго
penner
вdrwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
, Можно порвать с этим значением по умолчанию, если вы знаете, что делаете. Но если вы не собираетесь делать что-то по-другому, вы должны убедиться,penner
настроен таким образом, поскольку некоторые возможные первичные идентификационные данные группы для пользователя или владельцев группы в домашнем каталоге пользователя могут привести к проблемам с безопасностью.Бежать
groups penner
, (Увидетьman groups
для получения дополнительной информации.) Вы должны увидеть что-то вроде этого:penner : penner adm dialout cdrom plugdev lpadmin sambashare
Не волнуйтесь, если это не совсем так. Я скоро доберусь до этого. Вместо этого посмотрите на первое слово после
:
, Это имя основной группы пользователей. Предполагая, что вы хотите, чтобы это былоpenner
, убедитесь, что это так. Если это не так, измените его:sudo usermod -g penner penner
Если вы получаете сообщение о том, что группа
penner
не существует, тогда вам придется создать его с помощью этой команды (а затем снова запустить приведенную выше команду):sudo addgroup penner
- Увидеть
man addgroup
для дополнительной информации. (Если вы предпочитаете, вы можете использоватьgroupadd
Команда для создания групп.)
- Увидеть
Когда ты побежал
groups penner
Вы, возможно, получили список групп значительно короче, чем мойpenner : penner adm dialout cdrom plugdev lpadmin sambashare
, Для пользователей настольных компьютеровadm
,dialout
,cdrom
,plugdev
,lpadmin
, а такжеsambashare
предоставить возможности, которые пользователи обычно должны иметь. Поэтому, если у вас нет причин поступать иначе,penner
должен быть в этих группах. Однако это не основные группы, поэтому они установлены по-разному. если быpenner
не входит ни в одну из этих групп, и вы хотитеpenner
чтобы быть во всех них, запустите эту команду:sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
Если вам интересно, вот что означают все эти группы:
adm
пользователи могут просматривать большинство файлов системного журнала в/var/log
,dialout
пользователи могут использовать коммутируемые модемы.plugdev
пользователи могут монтировать и использовать внешние устройства хранения.lpadmin
пользователи могут устанавливать и управлять принтерами.sambashare
пользователи могут обмениваться файлами (через Samba) с другими компьютерами по сети.
(Источник: Привилегии, в вики документации по Ubuntu.)
Создание пользователя администратором
Если не хочешь penner
чтобы быть администратором, вам, вероятно, больше ничего не нужно делать. Вы можете проверить, если penner
является администратором с groups penner
, Если ни admin
ни sudo
в списке, то penner
не является администратором
Если ты хочешь penner
чтобы быть администратором, добавьте penner
какой из этих групп существует. (Вы можете также добавить penner
к обоим, если они оба существуют.) Вы можете сделать это, выполнив эти две команды отдельно - если одна из них удастся, вы сделали penner
администратор:
sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
- Причина существования двух групп заключается в том, что до выпуска Ubuntu 12.04 LTS администраторы находились в
admin
группа. Начиная с Ubuntu 12.04 LTS, администраторы находятся вsudo
группа. Но если ваша система 12.04 LTS обновлена по сравнению с предыдущим выпуском (и это должно применяться к более поздним выпускам Ubuntu, таким как 12.10, когда они выйдут, которые обновлены с Ubuntu 11.10 или более ранней), то для обратной совместимости администраторы являются членами обоихsudo
а такжеadmin
, Как правило, если одна из этих групп не предоставляет административных способностей, ее просто не существует, поэтому выполните обе вышеуказанные команды (отдельно, а не какsudo usermod -a -G admin,sudo penner
) как правило, безопасный и эффективный способpenner
администратор.
В основном это происходит, когда вы создаете пользователя без создания домашнего каталога для пользователя. Это может быть решено с помощью этой команды при создании пользователя
useradd -m the_username
Флаг -m - это то, что создает домашний каталог для пользователя. После создания пользователя проверьте, существует ли домашний каталог для этого пользователя, выполнив
ls /home
Если вы видите там имя пользователя, то последнее, что нужно сделать, это назначить пароль этому пользователю.
passwd the_username
Теперь вы можете войти с этим именем пользователя и паролем
Ctrl+ Alt+ F1 и войти там и запустить
sudo chown -R $USER:$USER $HOME
затем нажмите Ctrl+ Alt+ F7 и попробуйте войти
Это будет работать