質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

5回答

27699閲覧

linuxのホームディレクトリが見当たらない

faia

総合スコア7

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2016/09/21 10:43

debianで一般ユーザのホームディレクトリが見当たりません。
といっても、/home/にあるのは分かっているんです。fingerでも/etc/passwdでもそこにあると言っています。ログインもできます。でも/home/(ユーザ名)にアクセスしようとしても
「No such file or directory」と出ます。
どうすれば良いのでしょう

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

popobot

2016/09/21 10:58

状況がよくわかりませんが、さっきまであったのになくなったのでしょうか? ユーザを追加したけど、作られなかったということでしょうか? $ ls /homeと実行するとディレクトリはあるのでしょうか?
faia

2016/09/21 11:19

ユーザを追加したけど作られなかったということです。ホームディレクトリがないような扱いになっているんです ls /home/ をしてもなにも表示されません
carimatics

2016/09/21 11:40

手元のDebianでユーザ追加したら問題なくディレクトリが作成されました。 どのようにユーザを追加したのかの情報を載せていただけますか?
faia

2016/09/21 11:44

rootのホームから、 useradd (ユーザ名)、passwd (ユーザ名)でパスワード設定、ログインという流れです。設定をいじくるみたいなことはしていません
carimatics

2016/09/21 11:52

なるほど、ありがとうございます。 ちなみに、もう1度別のユーザを作成した場合でも同様の結果になりますか?
faia

2016/09/21 12:05

useradd test passwd test new password:test retype password:test login login:test password:test みたいな感じでやってみましたが、やはりhomeディレクトリ下になにも追加されませんでした。 そしてもしかしたら重要なことに気付いたのですが、ログインするとき No directory, logging in with HOME=/ という表示がありました。 つまり、 ・home下にディレクトリはない ・環境変数その他何かしらの設定ファイルではホームはhome下にあることになっている ということですかね
faia

2016/09/21 12:29

解決することができました。お付き合い頂き本当にありがとうございました
guest

回答5

0

ユーザ作成時にホームディレクトリを作成していないようです。

ホームディレクトリを作成する場合は以下の手順で。(ユーザ名をhogeとする)
※自分の環境がubuntuなので、debianでは/etc/skelが別のディレクトリ名になっているかもしれません。

sh

1$ sudo mkdir /home/hoge 2$ cp -p /etc/skel/.bash* . 3$ cp -p /etc/skel/.profile . 4$ sudo chown -R hoge:hoge /home/hoge

ユーザ作り直す場合は、以下の手順で。

sh

1$ sudo userdel -r hoge 2$ sudo useradd -m hoge

投稿2016/09/21 12:28

tkmtmkt

総合スコア1800

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

faia

2016/09/21 12:39

問題は解決しました。ありがとうございました ユーザの設定ファイルはそこにあったんですね
guest

0

ベストアンサー

useraddコマンドで-mオプションを付けるとホームディレクトリが作成されます。
オプションを付けないと作られません...
userdelコマンドで一旦ユーザを消したあとに、-mを付けたuseraddをもう一度やれば作られると思います。

もしくはrootユーザで手動で作成して、/etc/skel配下のファイルをコピーすれば同じことができます。

詳しくはmanをみるといいですよ

sh

1$ man useradd

投稿2016/09/21 12:18

編集2016/09/21 12:24
popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

faia

2016/09/21 12:24

お陰様でできました! そうだったんですね、useraddをよく知らずに使ってしまいました。 これで次に進めます。ありがとうございます!
guest

0

とりあえず、そのユーザーでログインして pwd

あと、mount で表示させるとなんかみえてくるかも?
(↑これは可能性が低い気がします)
--- 追加 ---

念のため確認ですが、別のサーバーをみてるってことはないですよね?
--- 追加 ---

//あー、mount の件は忘れてください。

ユーザーを追加したけど、そのユーザーのホームディレクトリが作られていない
という状況にみえますね。とりあえず、/etc/passwd で書かれているように
ディレクトリを作ってオーナーとグループを設定してみるのかなあ。

投稿2016/09/21 10:53

編集2016/09/21 11:26
takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

faia

2016/09/21 11:17

ログインしてpwdだと、 / になります これはルートディレクトリですよね。。。 linuxに触れて日が浅く、mountで表示された情報の意味がよくわからないです。。。(ユーザ名が記述された部分は見当たりませんでした) 別のサーバーは多分見てないです ルートでユーザ作成→それにログインという流れです
faia

2016/09/21 11:54

ディレクトリだけを作ってユーザとして機能するのでしょうか? それとも何かユーザとしての権限を与える処置をするのでしょうか すみません。まだユーザのシステムすらきちんとわかっていないもので。。。
takasima20

2016/09/21 12:11

mkdir でディレクトリを作って chmod でオーナーとグループを設定します。 これでとりあえず、そのユーザーがログインして 運用することはできますが、デフォルトの設定ファイルなどを 用意することにしている場合はそれをコピーすることも。 useradd で調べるといろいろ出てくるのでみてみるといいです。
faia

2016/09/21 12:27

問題自体は解決しました。ありがとうございました useraddでのオプションに対する認識不足でした。。。 ディレクトリに権限を与えれば確かに運用は可能そうですね 勉強になりました
guest

0

cd ~/
を試してみたらどうでしょう。
これでホームディレクトリに移動すると思うので。

投稿2016/09/21 10:49

speed_star777

総合スコア57

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

faia

2016/09/21 11:12

cd ~/のちpwdをしてみました // と出ました しかしlsを実行しても/の状態(初めの状態)でするのと変わりませんでした。。。
guest

0

以下のコマンドで表示されるディレクトリがホームディレクトリです。

$ echo $HOME

投稿2016/09/21 10:48

carimatics

総合スコア740

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

faia

2016/09/21 11:09

やってみました $echo $HOME / これはルートディレクトリですよね でも ls / とやってもユーザ名は出てこないんです
carimatics

2016/09/21 11:26

$HOMEはカレントユーザのホームディレクトリのパスが設定されている環境変数ですので、ホームディレクトリはルートに設定されているということではないのでしょうか。 ユーザのホームディレクトリは変更可能ですので、ユーザ名がそのままディレクトリ名になっているとは限りません。
faia

2016/09/21 11:46

その場合環境変数を設定すればどうにかなるんでしょうか?
carimatics

2016/09/21 11:52

下記のコマンドでホームディレクトリの変更ができるはずです。 $ usermod -d /home/(ユーザ名) (ユーザ名)
faia

2016/09/21 11:58

no changes とでてしまいました 変わりなくホームディレクトリ以下には何もありません。。。
faia

2016/09/21 12:35

上記の通り、-mオプションをつけることで解決しました。ありがとうございました リンク先のadduserでもできました またよろしくお願いします
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問