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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Q&A

解決済

2回答

14425閲覧

Linux(CentOS)のhomeディレクトリの権限変更でSSHなどログインできなくなった

haruo

総合スコア11

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

0グッド

0クリップ

投稿2016/03/15 10:44

CentOS6でhomeディレクトリの権限を変更したことにより色々と不具合があり困っています。

■環境
さくらVPS / CentOS6

■原因
homeディレクトリを下記コマンドで変更しました
chown -R ftpuser /home

■症状
・SSHで(権限を変えた)一般ユーザーでのログインができなくなった
・rootから一般ユーザーへの変更時にエラーがでる(エラー内容*1を参考ください)

■エラー内容
1.rootから一般ユーザーへ変更した場合*1
su: warning: cannnot change directory to /home/user: Permission denied
-bash: /home/user/.bash_profile: Permission denied
2.SSHから一般ユーザーでログインできない。

■やってみたこと
1.ユーザーの削除とユーザーの追加(ユーザー名は同じ)
その他、WEBでの情報を参考にやってみましたが解決できないままです。

別ユーザーの新規作成ではあっさり解決するのですが、管理上、(権限を変更した)同一ユーザーでの解決を試みています。

何か解決方法はありますでしょうか?
宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

念の為ですが、差支えなければ以下コマンドの結果も記載いただけますか?

ls -l /home/user ls -laR /home/user

suの際に
「-bash: /home/user/.bash_profile: Permission denied」
が変わらず出るとの事であれば、/home/user配下のパーミッションは一旦全部確認した方が良いかと思います。

投稿2016/03/16 06:47

Tira

総合スコア91

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

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

haruo

2016/03/16 10:25

すいません。コメントを見落としていました。ご回答ありがとうございます。コマンド結果は下記になります。 # ls -l /home/user total 4 drwx------ 5 user user 4096 Mar 15 17:20 Maildir # ls -laR /home/user /home/user: total 24 drwx------ 3 user user 4096 Mar 15 18:38 . drwx------. 11 root root 4096 Mar 15 22:07 .. -rw-r--r-- 1 user user 18 Sep 23 01:40 .bash_logout -rw-r--r-- 1 user user 176 Sep 23 01:40 .bash_profile -rw-r--r-- 1 user user 124 Sep 23 01:40 .bashrc drwx------ 5 user user 4096 Mar 15 17:20 Maildir /home/user/Maildir: total 20 drwx------ 5 user user 4096 Mar 15 17:20 . drwx------ 3 user user 4096 Mar 15 18:38 .. drwx------ 2 user user 4096 Mar 15 17:20 cur drwx------ 2 user user 4096 Mar 15 17:20 new drwx------ 2 user user 4096 Mar 15 17:20 tmp /home/user/Maildir/cur: total 8 drwx------ 2 user user 4096 Mar 15 17:20 . drwx------ 5 user user 4096 Mar 15 17:20 .. /home/user/Maildir/new: total 8 drwx------ 2 user user 4096 Mar 15 17:20 . drwx------ 5 user user 4096 Mar 15 17:20 .. /home/user/Maildir/tmp: total 8 drwx------ 2 user user 4096 Mar 15 17:20 . drwx------ 5 user user 4096 Mar 15 17:20 ..
sharow

2016/03/16 10:41

こっちにすいません。/home自体が700になってますね。もしや # chmod 755 /home で直りますか。
haruo

2016/03/16 10:50

> sharowさん あー、直りました!SSHでもログインOKです。 > Tiraさん ありがとうございます。解決のきっかけになりました。
Tira

2016/03/16 11:00

結果見る前に、sharowさんが確認して答えてくれていましたね。 今回の様に再帰的にパーミッションをいじった際は親フォルダから一度、全部見直す様にされると良いと思いますよ。 解決されたとの事で良かったです。
guest

0

ベストアンサー

元に戻すこととだけに言及します。

まず/homeはrootに戻してあげてください。そのうえで、あなたのユーザー(仮にuserとする)のホームディレクトリ以下をuserに返してあげましょう。以下をroot権限で行えばuserに関しては元に戻ると思います。

chown root /home chown -R user /home/user

追記:
root権限で以下のコマンドの実行結果を質問文に追記していただけると何かわかるかもしれません。

id <user> stat -c "uid=%u acl=%a" /home/<user>

投稿2016/03/15 11:25

編集2016/03/15 15:32
sharow

総合スコア1149

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

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

haruo

2016/03/15 12:15

ご回答ありがとうございます。 試してみたところ、エラー内容*1は変わらずでています。私自身、根本的な問題が特定できていないのが問題なのかと感じています。
otn

2016/03/15 13:37

> 試してみたところ、エラー内容*1は変わらずでています。 それはおかしいですね。 試行錯誤で何かやって、それを質問文に書いていないのでは?
haruo

2016/03/15 14:19 編集

試行錯誤といっても該当ユーザーの権限関連を触った程度です。結局はユーザー削除→新規作成をその度に行っているのでデフォルトに戻っていると思います。 それとも戻っていないのかもしれないし、エラー内容*1の原因と解決策が分からないんですよね。
otn

2016/03/15 15:19

> 試行錯誤といっても該当ユーザーの権限関連を触った程度です。 それが原因でしょうね。
sharow

2016/03/15 15:38

回答に追記しました(コメント欄ではスタイルが効かないため)。 > ユーザー削除→新規作成をその度に行っているのでデフォルトに戻っていると思います 名前が同じだけで、uidが同じになることは普通はありません。似た状況になっているだけで「戻って」はいないと思います。
haruo

2016/03/16 05:24

> sharowさん ありがとうございます。やってみたところ下記のようになりました。 # id user uid=507(user) gid=507(user) groups=507(user),10(wheel) #stat -c "uid=%u acl=%a" /home/user uid=507 acl=700
sharow

2016/03/16 06:02

ありがとうございます。ファイルシステムのACL的には何度ガン見しても問題が無いように見えます。あと可能性としてあるのはSELinuxですが、私はSELinuxは未経験なので助言できません。 # stat -c "suid=%C" /home # stat -c "suid=%C" /home/user でSELinuxのセキュリティコンテキストを表示できるようです。が、結果を見ても私にはググって出てくる情報と同じことしか言えませんで、CentOSのSELinuxについてご自身で少し調べてみていただけますか。あるいはここにSELinuxに詳しい方がいれば助言をいただけるかもしれません。 https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_SELinux-SELinux_Contexts_Labeling_Files.html
haruo

2016/03/16 06:15

> sharowさん ご確認ありがとうございます! SELinuxに関して後程調べて試してみます。
sharow

2016/03/16 06:51

一時的にSELinuxをOFFにすることができるようなので、OFFにしてsuでログインできたならばSELinuxが原因、そうでないなら別の原因、という切り分けができます。
haruo

2016/03/16 07:34

SELinuxは無効になっているようです。 # getenforce Disabled
sharow

2016/03/16 08:46

そうでしたか。うーん、ちょっと別の原因は思いつきません。あとはアクセス拒否されたときのログ(/var/log/everything.logとか)を見るくらいでしょうか。 何か思いついたら追記します…。
haruo

2016/03/16 10:15

> sharowさん 通常のログや認証関連など見てみましたが気になるところはありませんでした。時間的に猶予がなくなってきましたので、OS再インストールしてやり直したいと思います。 色々とご提案くださりありがとうございました。
haruo

2016/03/16 10:57

> こっちにすいません。/home自体が700になってますね。もしや > # chmod 755 /home > で直りますか。 こちらのご回答をいただいたsharowさんにベストアンサーとさせていただきます。 きっかけをくださったTiraさんもありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問