Не удается войти в новую учетную запись пользователя

20

Попытка переключить учетные записи на мою недавно созданную учетную запись, я получаю черный экран, а затем он возвращает меня на главный экран входа в систему после ввода правильного пароля.

При входе в мою ранее существующую учетную запись я получаю:

"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

su -l penner

Я получаю:

No directory, logging in with HOME=/

Я вручную создал домашний каталог, и эта ошибка исчезла, но все еще не повезло с логином. Кажется, что что-то пошло не так с созданием пользователя? Как я могу исправить это?

    
задан penner 05.07.2012 в 10:38
источник

2 ответа

22

Если вы создали учетную запись пользователя с 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

Обеспечение того, что это каталог, и что пользователь имеет доступ

Если (или один раз) имена являются как /home/penner , вы также должны убедиться, что пользователь имеет доступ к своему собственному домашнему каталогу. Run:

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

Если вместо drwxr-xr-x появляются тире в следующих трех символах после d , тогда у пользователя нет полного доступа. Исправьте это следующим образом:

sudo chmod u+rwx /home/penner

( penner может выполнять эту команду, если у них есть свой домашний каталог, поэтому, если вы предпочитаете, вы можете запустить это как: sudo -u penner u+rwx /home/penner )

Предоставление другим пользователям доступа к записи без записи

Если вместо drwxr-xr-x есть w s вместо - s в последних шести письмах, то пользователи, кроме penner , могут иметь доступ на запись в домашний каталог penner . Это опасно (если вы действительно не знаете, что делаете, и хотите, чтобы это было так, и установили, чтобы это не было проблемой). Чтобы исправить это:

sudo chmod -R go-w /home/penner

Другие значения по умолчанию

Есть и другие изменения, которые вы можете сделать. По умолчанию в Ubuntu (то есть, если вы создаете учетную запись пользователя с adduser или с графическим инструментом, которого вы не сделали):

  1. Домашние каталоги имеют права на чтение и запись для всех, а не только для пользователя, который их владеет. Пользователи могут изменять это либо для всего домашнего каталога, либо для любых файлов и подкаталогов внутри него. Но если вы действительно хотите это значение по умолчанию, и у вас нет второго и третьего r и x в drwxr-xr-x , запустите:

    sudo chmod 755 /home/penner
    

    ( penner может выполнять эту команду, если у них есть свой домашний каталог, поэтому, если вы предпочитаете, вы можете запустить это как: sudo -u penner chmod 755 /home/penner )

  2. Каждый пользователь имеет свою собственную группу с тем же именем, что и пользователь, и это основная группа пользователя. Их домашний каталог принадлежит этой группе. Это значение второго 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 для создания групп.)
  3. Когда вы запустили groups penner , вы, возможно, получили список групп, значительно меньших моего penner : penner adm dialout cdrom plugdev lpadmin sambashare . Для пользователей настольных компьютеров adm , dialout , cdrom , plugdev , lpadmin и sambashare предоставляют возможности, которые обычно должны иметь пользователи настольных компьютеров. Поэтому, если у вас нет причин для этого, penner должно быть в этих группах. Это not первичные группы, поэтому они установлены по-разному. Предположим, что penner не входит ни в одну из этих групп, и вы хотите, чтобы penner находилось во всех них, выполните следующую команду:

    sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
    

    В случае, если вам интересно, вот что означают все эти группы:

    (Источник: Привилегии , в документации по документации 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 администратор.
ответ дан Eliah Kagan 05.07.2012 в 11:48
источник
-1

ctrl + alt + f1 и войдите туда и запустите

sudo chown -R $ USER: $ USER $ HOME

затем нажмите ctrl + alt + f7 и попробуйте войти в систему

Он будет работать

    
ответ дан Shameer Theen H 04.06.2013 в 09:18