새로 만든 사용자 계정으로 로그인 할 수 없습니다


25

계정을 새로 만든 계정으로 전환하려고하면 검은 색 화면이 표시되고 올바른 비밀번호를 입력하면 기본 로그인 화면으로 돌아갑니다.

이전의 기존 계정에 로그인하면 다음을 얻습니다.

"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=/

나는 홈 디렉토리를 수동으로 만들었고이 오류는 사라지지만 여전히 로그인에 운이 없다. 사용자 생성에 문제가있는 것 같습니다. 이 문제를 어떻게 해결할 수 있습니까?


사용자 계정은 어떻게 만들었습니까? GUI 또는 명령 줄에서 했습니까? 명령 행에서 수행하는 경우 adduser와 useradd가 작업을 매우 다르게 수행한다는 점을 알고 있어야합니다. 또한 / etc / skel의 파일이 복사되지 않은 것 같습니다. ls -al 당신의 홈 디렉토리와 새로운 사용자 디렉토리에 우리가 무슨 일이 일어나고 있는지 볼 수 있습니까?
SuperMatt

답변:


31

로 사용자 계정을 만든 경우 useradd모든 계정을 수동으로 설정해야합니다. 그렇기 때문에 명령 줄에서 사용자 계정을 만들 때 adduser대신 우분투 (및 데비안 및 기타 데비안 기반 시스템)에서 사용하는 것이 좋습니다. userdel또는로 사용자를 삭제 deluser하고 다시 만들 수 있습니다 adduser. 그렇지 않으면...

홈 디렉토리 위치 수정

사용자 계정을 유지하고 문제를 해결하려면 다음을 확인해야합니다.

  • 사용자 계정이 실제로 구성된 홈 디렉토리의 이름
  • 실제로 만든 디렉토리의 이름

이것들은 정확히 같아야합니다. 오류 메시지 su -l penner는 동일하지 않다는 메시지 입니다.

사용자 계정이 실제로 구성된 홈 디렉토리를 확인하려면이 명령을 실행하십시오 ( 자세한 내용 은 man 5 passwdand 참조 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사용자가 자신의 홈 디렉토리에 액세스 할 수 있는지 확인해야합니다. 운영:

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)

다른 사용자에게 담요 쓰기 권한이 없는지 확인

대신에 마지막 6 글자에 s 대신 s drwxr-xr-x가 있으면 그 외의 사용자 는 홈 디렉토리에 대한 쓰기 권한을 가질 수 있습니다 . 이것은 위험합니다 ( 실제로 자신이하는 일을 알고이 방법을 원하고 문제가되지 않도록 설정하지 않은 경우). 그것을 해결하기 위해:w-pennerpenner

sudo chmod -R go-w /home/penner

다른 기본값

다른 변경 사항이있을 수 있습니다. 기본적으로 우분투에서는 (즉, adduser그래픽 도구를 사용 하거나 사용하지 않은 사용자 계정을 만드는 경우 ) :

  1. 홈 디렉토리에는 자신을 소유 한 사용자뿐만 아니라 모든 사람에 대한 읽기 및 쓰기 권한이 있습니다. 사용자는 전체 홈 디렉토리 나 그 안의 파일 및 서브 디렉토리에 대해이를 변경할 수 있습니다. 그러나이 기본값을 원하고 두 번째와 세 번째 rxin 이 없으면 다음을 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사용자의 홈 디렉토리에있는 그룹 소유자 또는 사용자의 일부 기본 그룹 ID로 인해 보안 문제가 발생할 수 있으므로 이러한 방식으로 설정해야합니다.

    를 실행하십시오 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그룹에 속해야합니다. 그러나 이들은 기본 그룹 이 아니므로 다르게 설정됩니다. penner이 그룹 중 어느 것에도 없다고 가정 하고 모든 그룹에 penner속하려면 다음 명령을 실행하십시오.

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

    관심이 있으시면 다음과 같은 그룹의 의미는 다음과 같습니다.

    (출처 : Privileges , Ubuntu documentation wiki)

사용자를 관리자로 설정

당신이 원하지 않는 경우 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 시스템이 이전 릴리스에서 업그레이드 된 경우 (그리고 이것은 우분투 11.10 이하에서 업그레이드 된 12.10과 같은 이후의 Ubuntu 릴리스에 적용되어야 함) 이전 버전과의 호환성을 위해 관리자는 두 멤버의 구성원입니다. sudo그리고 admin. 일반적으로 이러한 그룹 중 하나가 관리 기능을 제공하지 않으면 단순히 존재하지 않으므로 위의 두 명령을 (별도는 아니지만 sudo usermod -a -G admin,sudo penner) 실행하는 것이 일반적으로 penner관리자 를 만드는 안전하고 효과적인 방법 입니다.

감사! adduser와 같은 것이 좋지만 수동으로 작업을 수행하는 방법을 알고 싶습니다. 매우 철저한 답변! 정말 감사.
penner

sudo chmod u+a /home/pennerUbuntu 16.04 (Xenial)에서 오류가 발생합니다. 가 sudo chmod u+rw /home/penner적절한 대체?
Nickolai Leschov

@NickolaiLeschov 죄송합니다. 오류를 지적 해 주셔서 감사합니다! 명령을 수정했습니다.
Eliah Kagan

이건 그냥 바보입니다, 왜 제거하지 useradd? 임의 깨진 코드 유지
dashesy

1
@dashesy 감사합니다. 사용 useradd하면 Ubuntu에서 다른 시스템에서는 발생하지 않는 문제가 발생 한다는 것을 알지 못했습니다. 내 16.04 시스템에서 /etc/default/useradd(단독 주석 처리되지 않은 행으로) SHELL=/bin/sh이고 useradd (8)은 / 플래그가 제공되지 않으면 16.04 시스템에서는 발생하지 않는 SHELL값이 사용 된다고 말합니다. 우분투 가 망가지지 않았다고 급히 말하는 것은 잘못 입니다. 지금은 확실하지 않습니다. 페도라와 데비안 (그리고 우분투) 사이에 이런 차이가있을만한 이유가있을 수 있지만, 사람들을 오도하지 않도록 내 의견을 삭제했습니다. -s--shelluseradd
Eliah Kagan

0

이것은 주로 사용자의 홈 디렉토리를 작성하지 않고 사용자를 작성할 때 발생합니다. 이것은 사용자를 만들 때이 명령을 사용하여 해결할 수 있습니다

useradd -m the_username

-m 플래그는 사용자의 홈 디렉토리를 작성합니다. 사용자를 작성한 후 다음을 수행하여 해당 사용자의 홈 디렉토리가 있는지 확인하십시오.

ls /home

해당 사용자 이름이 표시되면 마지막으로 할 일은 해당 사용자에게 암호를 할당하는 것입니다

passwd the_username

이제 해당 사용자 이름과 비밀번호로 로그인 할 수 있습니다


-1

Ctrl + Alt + F1을 로그인하고 실행하십시오.

sudo chown -R $ USER : $ USER $ HOME

그런 다음 Ctrl + Alt + F7을 누르고 로그인을 시도하십시오

작동합니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.