/etc/passwd,shadowの役割とは?
- Linuxにおいて、/etc/passwdと/etc/shadowはどのような役割を果たしているのでしょうか?
- 実際のSSHログインにおいて、/etc/passwdと/etc/shadowの使われ方にはどのような違いがあるのでしょうか?
- /etc/passwdと/etc/shadowはログインだけでなく、他の用途でも使われているのでしょうか?
- ベストアンサー
/etc/passwd,shadowの役割
http://www.linux-beginner.com/linux_other6.html のリンクで/etc/passwdと/etc/shadowがなぜ分かれたのか理解しましたが、 実際sshでログインする時って/etc/passwdしか使ってないように見えます。 /etc/shadowはいつ使われますでしょうか。 僕が検証した結果です。 /etc/nsswith.conf shadowを空欄 -> ssh root@xxx -> 可能 /etc/nsswith.conf shadowをfiles -> ssh root@xxx -> 可能 /etc/nsswith.conf shadowをfiles ldap -> ssh ldapuser@xxx -> 可能 /etc/nsswith.conf paawdを空欄 -> ssh root@xxx -> 不可能 /etc/nsswith.conf paawdをfiles -> ssh ldapuser@xxx -> 不可能 /etc/shadowはログインとは関係なく他の用途で使われてるのでしょうか。
- negabaro
- お礼率0% (0/9)
- Linux系OS
- 回答数2
- ありがとう数10
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>実際sshでログインする時って/etc/passwdしか使ってないように見えます。 >/etc/shadowはいつ使われますでしょうか sshでパスワード認証した時…でしょうかね。 pamとか関係すると思いますが。 # ただし、試したことはない。 /etc/nsswith.confのpasswdはユーザの存在確認の際に、 /etc/nsswith.confのshadowはパスワード認証の際に。 sshの認証を公開鍵認証にしていれば、そもそも/etc/shadowとか使いませんし。 # ユーザの存在の確認とホームディレクトリの確認にpasswdのエントリは必要ですけど。 # まぁ、その辺りもpamの設定次第ですかねぇ。
その他の回答 (1)
- chie65535
- ベストアンサー率43% (8514/19355)
>/etc/shadowはいつ使われますでしょうか。 getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdfなどのAPIが使用された時に使用されます。 >僕が検証した結果です。 /etc/nsswith.confを弄っても検証にはなりません。検証方法が間違っています。
関連するQ&A
- /etc/passwd と /etc/shadowをそっくり新サーバーにコピーすればログインできますか?
旧サーバー(Laser5-6.0)から新サーバー(RedHat7.3)に移行を考えています。新サーバーにも旧サーバーと同じアカウントとパスワードでログインできるようにしたいです。旧サーバーの/etc/passwdと/etc/shadowを新サーバーにコピーすれば可能でしょうか。もしだめなら、何かいい方法はありますか。
- ベストアンサー
- その他(OS)
- /etc/passwdのパーミッション不正の回復方法
申し訳ありませんが、超初心者のためにご教授頂けないでしょうか。 <内容> HP-UX11.23にて、rootユーザにてログイン後、 /etc/passwdファイルをviエディタにて直接更新して ログアウトしましたところ、二度とログインできなくなりました。 どうしたらログインできるように回復するのかを ご教授いただきたいです。 telnetのログを見る限り、上記ファイルのパーミッションが Root(グループはother)になっており、 これが原因では?と見ておりますが、何しろ ログインできないのでなんともできずに困っております。 ちなみに、取得済みバックアップは 一切なしです。。。 以上、よろしくお願いいたします。
- 締切済み
- Solaris系OS
- ssh にて Illegal user となってしまう(NIS認証失敗)
NISにてどうしてもわからないことがありましたので 質問させていただきます。 現在NISにてアカウントの共用を行っていますが、 新しく設定したホストへ共用アカウントでssh の ログインを試みたところ、Permission denied となりログインができません。 ホストの/var/log/messageを見たところ、 以下のようなメッセージが出ており、どうやら アカウントが認識されていないようなのです。 sshd[*****]: Illegal user yyyyy from xx.xx.xx.xx 実際は、ypwhich -m にてpasswd.byname が マスターサーバから引けていますし、 問題のアカウントもypcat yyyyy passwd で ちゃんと見ることができています。 /etc/nsswitch.conf の passwd,shadow,group は すべて files nisplus nis の順で記述しています。 これは、何がいけないのでしょうか? ご存知の方がいらっしゃったらぜひご教授ください。 よろしくお願いいたします。
- ベストアンサー
- Linux系OS
- 管理者ユーザを作ったつもりなのですが
管理者グループに、新規testユーザを作成しました。 そのtestユーザでshadowファイルを確認しようとしたところ 権限がないと表示されました。 その理由が分からないのです。 [root@host ~]#useradd -g root test [root@host ~]#su test [test@host root]$ cat /etc/shadow cat: /etc/shadow: 許可がありません [test@host root]$ ls -l /etc/shadow ---------- 1 root root 734 1月 19 17:36 2013 /etc/shadow rootグループにtestユーザを割り当てたので、 testユーザでshadowファイルを見れると思っていのですが見れないのです。 理由がわからないのです。 /etc/shadowファイル所有者がrootだからでしょうか? rootグループにtestを参加させているだけではだめなのでしょうか? ご教授お願いします。
- ベストアンサー
- Linux系OS
- linuxのユーザーアカウントの管理をwindows server で行うことはできますか?
これまで、何度もお世話になっております。 私のところでは windows server を昔から使っていますが、この2,3年linuxの利用が増えてきて、現在では数10台のlinux マシンを使っております。しかし、windows はActive directory でユーザーアカウントは統合的に管理しているのですが、linux は原始的な1台ごとに /etc/passwd, /etc/shadow で管理しております。最近よくlinuxでLDAPサーバーを動かし、ユーザーアカウントの管理を統合するような記事を見かけますが、逆に windows server がある状況で、linux が windows server のユーザーアカウントを利用することは出来ないでしょうか? windows server も一種の LDAPサーバーのように思うのですが。
- ベストアンサー
- Linux系OS
- 特定ホストからのみSSHでのrootログインを許可
2台のサーバ間でrootユーザー所有のファイルの同期を rsyncで行う為、ssh_configでrootログインを許可しています。 ココでセキュリティの関係上、sshでのrootログインを特定の ホストからのみ許可したいと思ってます。 /etc/security/access.confに以下を追記 -:root : ALL EXCEPT 192.168.**.**. /etc/pam.d/sshdに以下を追記 account required pam_access.so /etc/ssh/sshd_config UserPAM yes と言う設定をしましたが、これ以外に有効な方法はありますでしょうか? (この方法だと厳密には、「認証を通さない」設定になるかと思います) ありましたら、教えて頂きたいと思います。
- ベストアンサー
- Linux系OS
- homeディレクトリをバージョン違いのLinuxへ移行するには
お世話になります。 例えば、 Redhat Linux 7.0Jで動いているシステムを Redhat Linux 7.1Jの環境に移行しようとした場合、 /homeディレクトリ、ならびにユーザ情報(パスワードなど)を移行後も同じようにしたいのですが、 どうすれば良いでしょうか? といいますのも、以前、実験的に上記をやってみたことがあるのですが、 /homeと/etc/passwdを移行してみたら、ログインできなくなってしまったという悲しい過去があるのです・・・。 エラーメッセージは詳細におぼえてはいませんが、 たしか、ドットファイルが・・・っていう感じだったと思います。 移行の際、/etc/passwd 、 /etc/shadow などを変更しなくてはいけないのでしょうか? どなたかご教授よろしくお願いします。
- ベストアンサー
- その他(OS)
- chpasswd後の/etc/shadowについて
お世話になります。 chpasswdでメールユーザのパスワード変更をしたあと、/etc/shadowを確認しました。 暗号化されている場合は、通常なら第二フィールドに$1や$6などの表記が付くと思いますが 以下のとおりでした暗号化されているのでしょうか。 実行コマンド echo "info:passwd01" | chpasswd 設定後の/etc/shadow内容 info:Y3uOe313g3JAM:16819:0:99999:7::: OSバージョン Red Hat Enterprise Linux ES release 4 (Nahant Update 5) 以下の様にしてメールユーザのパスワードを一括変更する事を目的としています。 chpasswd < passwdfile
- ベストアンサー
- Linux系OS
- SSHをLDAPで認証
SSHをLDAPを使って認証させたいのですが、上手くいきません・・・ /etc/passwdに登録してあるユーザはログイン可能なのですが、LDAPに登録してあるユーザではログインできません。以下、ログイン不能時のログです。 ※LDAPのログには、何も記述されていないので、そもそもSSHからLDAPサーバにアクセスできていないように思うのです。しかしながら、どうして良いか全く分からないため、皆様の知恵をお借りしたく。 --------log--------- Illegal user test from 127.0.0.1 May 11 10:13:07 Proxy sshd[23596]: PAM unable to dlopen(/lib/security/pam_ldap.so) May 11 10:13:07 Proxy sshd[23596]: PAM [dlerror: /lib/security/pam_ldap.so: undefined symbol: ber_pvt_opt_on] May 11 10:13:07 Proxy sshd[23596]: PAM adding faulty module: /lib/security/pam_ldap.so May 11 10:13:36 Proxy sshd[23596]: Failed password for illegal user test from 127.0.0.1 port 35168 ssh2 --------------------- /etc/pam.d/sshdに関しては、pam_ldapのソース内にあったものをそのまま流用しています。 ■基本情報 OS:Redhat 2.4.21-4.EL openldap-2.3.21 pam_ldap-182 nss_ldap-250 LDAPクライアント、サーバとも同一サーバ。
- ベストアンサー
- Linux系OS
- SSH接続時のスーパーユーザー(su?)について
Linuxは完全な初心者です。 サーバ内のにある、SSHで保護されたデータベースにアクセスしようとしております。 手順として、 (1)SSHでサーバに接続 (2)スーパユーザーになる (3).設定ファイルを編集 /etc/httpd/conf.d/phpmyadmin.conf (4)Allow from (自分の使用しているIP) という一行を追加 (5)Apache(HTTP)の再起動 /etc/rc.d/init.d/httpd reload という事を教えて頂けました。 見よう見まねでなんとかTeraTermでSSH接続するところまで出来ましたが、 (2)のスーパーユーザーになる、という段階で止まっております。 調べたところ【su】【su -】【su - root】あたりのコマンドで、root権限は持てているようなんですが、 (3)のコマンドを打つと【許可がありません】と出てしまいます。 何が間違っているのでしょうか? どなたかご教授頂けましたら幸いです。 宜しくお願いします。
- ベストアンサー
- Linux系OS