いずれかのアカウントのパスワードを入力しようとすると、認証に失敗します。 AWSEC2インスタンスにsshを使用してログインしています。
しばらくして、ユーザー情報を保存しているファイルの権限を確認したところ、何かおかしなことがわかりました。
私はそれが正常だとは思わない:
$ ls -l /etc/passwd /etc/shadow
結果は次のとおりです。
-rw-r--r-- 1 root root 1402 Oct 7 10:58 /etc/passwd
---------- 1 root root 838 Oct 7 10:58 /etc/shadow
ユーザーがファイルを読み書きできないため、これが問題の原因である可能性があります。私の意見では、/etc/shadow
の通常の出力は次のようになります。
-rw-r----- 1 root root 838 Oct 7 10:58 /etc/shadow
これが問題である可能性があり、どうすれば修正できますか?
OS構成:
NAME="Amazon Linux AMI"
VERSION="2015.09"
ID="amzn"
ID_LIKE="rhel Fedora"
VERSION_ID="2015.09"
PRETTY_NAME="Amazon Linux AMI 2015.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:Amazon:linux:2015.09:ga"
HOME_URL="http://aws.Amazon.com/Amazon-linux-AMI/"
Amazon Linux AMI release 2015.09
RHELクローンであるAmazonLinuxは、RPMを使用してインストール済みファイルのアクセス許可を定義します。 rpm -qf /etc/shadow
コマンドを使用して、所有権を判別できます。これは、/etc/shadow
がsetup
パッケージの一部であることを示しています。次に、RPMデータベースを使用して、そのファイルのアクセス許可を照会できます。これを行うrpmdevtoolsパッケージにはrpmls
というプログラムがありますが、正しい構文がわかっている場合は、単純なRPMでそれを行うことができます。
$ rpm -q --qf='[%-11{filemodes:perms} %-8{fileusername} %-8{filegroupname} %{filenames}\n]' setup | grep /etc/shadow
---------- root root /etc/shadow
これは、/ etc/shadowがモード0000であると予想されることを示しています。他のものに変更しようとしないでください。 PAMスタックは、シャドウファイルを完全に読み取ることができます。他に問題があるはずです。
はい、その通りです。/etc/shadow
の権限が間違っているようですが、これは実行しているディストリビューションによって異なります。この点を明確にしてください。次のコマンドで見つけることができます。
# cat /etc/*release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.2
DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
cat: /etc/upstream-release: Is a directory
私のディストリビューション(実際にはLinux Mint 17.2 Rafaela)によると、デフォルトの正しいアクセス許可は次のとおりです。-rw-r----- 640 root shadow /etc/shadow
ルートスーパーパワーで次のコマンドを実行することで、それらを修正することができます。
chmod 640 /etc/shadow
chown root:shadow /etc/shadow
@leseが言うように試してみてください:
chmod 640 /etc/shadow
chown root:shadow /etc/shadow
「操作は許可されていません」と表示された場合は、次を試してください。
lsattr /etc/shadow
そしてそれが----i--------e-
次に実行chattr -i /etc/shadow
そしてchmodをもう一度。
シャドウ設定の問題のようですが、
shadowconfig on
コマンドを試すことができます