Невозможно войти в новую учетную запись пользователя
Пытаясь переключить учетные записи на мою вновь созданную учетную запись, я получаю черный экран, а затем я возвращаюсь к основному экрану входа в систему после ввода правильного пароля.
После входа в мою ранее существующую учетную запись я получаю:
"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 и попробуйте войти
Это будет работать