新しく作成されたユーザーアカウントにログインできません


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をしようとしたとき

su -l penner

私は得る:

No directory, logging in with HOME=/

ホームディレクトリを手動で作成しましたが、このエラーは消えますが、ログインに失敗します。ユーザーの作成で何か問題が発生したようです。どうすれば修正できますか?


ユーザーアカウントをどのように作成しましたか?あなたはGUIから、またはコマンドラインからそれをしましたか?コマンドラインから実行する場合、adduserとuseraddの動作が非常に異なることに注意する必要があります。また、/ etc / skelのファイルはコピーされていないようです。ホームディレクトリと新しいユーザーのディレクトリでls -alを実行して、何が起きているかを確認してください。
スーパーマット

回答:


31

でユーザーアカウントを作成した場合、その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

つまり、6番目に:区切られたフィールド(5番目以降:)にはホームディレクトリが含まれます。そうでない場合は/home/penner、あるはずです。ユーザー用に作成したディレクトリがでない場合もそう/home/pennerである必要があります。2つのディレクトリが同じでもどちらも同じではない場合、/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後に続く3文字にダッシュdがない場合、ユーザーはそこに完全にアクセスできません。次のように修正します。

sudo chmod u+rwx /home/penner
  • 詳細についてはman chmod、を参照してください。

pennerホームディレクトリを所有している場合は、このコマンドを実行できます。したがって、必要に応じて、次のように実行できます。sudo -u penner u+rwx /home/penner

他のユーザーに全面的な書き込みアクセス権がないようにする

代わりの場合はdrwxr-xr-x、そこにあるwの代わりの-最後の6つの文字でsが、その後、ほかのユーザーがpennerへの書き込みアクセスがありpenner、ホームディレクトリのを。これは危険です(自分何をしているかを本当に知っていて、この方法でそれを望み、問題にならないように設定していない限り)。修正するには:

sudo chmod -R go-w /home/penner

その他のデフォルト

他の変更が必要になる場合があります。Ubuntuのデフォルト(つまりadduser、グラフィカルツールを使用して、または作成していないユーザーアカウントを作成した場合):

  1. ホームディレクトリには、所有するユーザーだけでなく、すべてのユーザーに対する読み取りおよび書き込み権限があります。ユーザーは、ホームディレクトリ全体またはその中のファイルとサブディレクトリのいずれかに対して、これを変更できます。ただし、このデフォルトが必要で、2番目と3番目rxin がない場合は、次をdrwxr-xr-x実行します。

    sudo chmod 755 /home/penner
    

    pennerホームディレクトリを所有している場合は、このコマンドを実行できます。したがって、必要に応じて、次のように実行できます。sudo -u penner chmod 755 /home/penner

  2. 各ユーザーには、ユーザーと同じ名前の独自のグループがあり、これがユーザーのプライマリグループです。彼らのホームディレクトリはこのグループが所有しています。すなわち、第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。デスクトップユーザーのために、admdialoutcdromplugdevlpadmin、およびsambashareデスクトップユーザーは、一般的に持っているべきであると能力を提供します。したがって、特に理由がない限りpenner、これらのグループに所属する必要があります。ただし、これらはプライマリグループではないため、設定が異なります。仮には、pennerこれらのグループのいずれかではなく、あなたが望むpennerそれらのすべてであることを、次のコマンドを実行します。

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

    興味のある方のために、これらのグループの意味は次のとおりです。

    (出典:特権、Ubuntuドキュメントwiki内。)

ユーザーを管理者にする

penner管理者になりたくない場合は、おそらく他に何もする必要はありません。でpenner管理者かどうかを確認できgroups pennerます。どちらadminsudoリストされていない場合penner、管理者ではありません。

penner管理者になりたい場合pennerは、これらのグループのいずれかに存在するものを追加します。(penner両方が存在する場合は、両方に追加することもできます。)これらの2つのコマンドを別々に実行することで、どちらかを追加できます。どちらかが成功するとpenner、管理者になります。

sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
  • グループが2つある理由は、Ubuntu 12.04 LTSより前は管理者がadminグループにいたためです。Ubuntu 12.04 LTS以降、管理者はsudoグループに属します。ただし、12.04 LTSシステムが以前のリリースからアップグレードされた場合(およびこれは、Ubuntu 11.10以前からアップグレードされた12.10などの以降のUbuntuリリースに適用されるはずです)、後方互換性のために、管理者は両方のメンバーですsudoおよびadmin。一般に、これらのグループのいずれかが管理能力を付与しない場合、それは単に存在しないため、上記の2つのコマンドを(別々に、としてでsudo usermod -a -G admin,sudo pennerはなく)実行することは、一般的にpenner管理者を作成する安全で効果的な方法です。

ありがとう!adduserのようなものは素晴らしいですが、私も物事を手動で行う方法を知りたいです。非常に徹底的な答え!ほんとうにありがとう。
ペナー

sudo chmod u+a /home/pennerUbuntu 16.04(Xenial)でエラーが発生します。あるsudo chmod u+rw /home/penner適切な代替?
ニコライ・レショフ

@NickolaiLeschovそれについてすみません-エラーを指摘してくれてありがとう!コマンドを修正しました。
エリアケイガン

これはただ馬鹿げている、なぜ削除しないのuseraddですか?ランダムに壊れたコードを保持する
-dashesy

1
@dashesyありがとう-使用するuseraddと、Ubuntuで他のシステムでは発生しない問題が発生することを知りませんでした。私の16.04システムで/etc/default/useraddは、has(その唯一のコメントされていない行として)SHELL=/bin/shおよびuseradd(8)はSHELL-s/ --shellフラグが指定されていない場合にその値が使用されると言っているようですが、私の16.04システムではそうはなりません。Ubuntu useraddが壊れないように急いで言うのは間違っていました。今はよくわかりません。FedoraとDebian(およびUbuntu)のこの違いには十分な理由があるかもしれませんが、人々を誤解させないようにコメントを削除しました。
エリアケイガン

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.