でユーザーアカウントを作成した場合、その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
ディレクトリであり、ユーザーがアクセスできることを確認する
名前が両方とも(または一度)の場合/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
のdrwxr-xr-x後に続く3文字にダッシュdがない場合、ユーザーはそこに完全にアクセスできません。次のように修正します。
sudo chmod u+rwx /home/penner
(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、グラフィカルツールを使用して、または作成していないユーザーアカウントを作成した場合):
ホームディレクトリには、所有するユーザーだけでなく、すべてのユーザーに対する読み取りおよび書き込み権限があります。ユーザーは、ホームディレクトリ全体またはその中のファイルとサブディレクトリのいずれかに対して、これを変更できます。ただし、このデフォルトが必要で、2番目と3番目rとxin がない場合は、次を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
あなたが走ったとき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
興味のある方のために、これらのグループの意味は次のとおりです。
(出典:特権、Ubuntuドキュメントwiki内。)
ユーザーを管理者にする
penner管理者になりたくない場合は、おそらく他に何もする必要はありません。でpenner管理者かどうかを確認できgroups pennerます。どちらadminもsudoリストされていない場合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管理者を作成する安全で効果的な方法です。