• ベストアンサー
  • 困ってます

/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はログインとは関係なく他の用途で使われてるのでしょうか。

共感・応援の気持ちを伝えよう!

  • Linux系OS
  • 回答数2
  • 閲覧数226
  • ありがとう数10

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • Wr5
  • ベストアンサー率53% (2177/4070)

>実際sshでログインする時って/etc/passwdしか使ってないように見えます。 >/etc/shadowはいつ使われますでしょうか sshでパスワード認証した時…でしょうかね。 pamとか関係すると思いますが。 # ただし、試したことはない。 /etc/nsswith.confのpasswdはユーザの存在確認の際に、 /etc/nsswith.confのshadowはパスワード認証の際に。 sshの認証を公開鍵認証にしていれば、そもそも/etc/shadowとか使いませんし。 # ユーザの存在の確認とホームディレクトリの確認にpasswdのエントリは必要ですけど。 # まぁ、その辺りもpamの設定次第ですかねぇ。

共感・感謝の気持ちを伝えよう!

その他の回答 (1)

  • 回答No.2

>/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を新サーバーにコピーすれば可能でしょうか。もしだめなら、何かいい方法はありますか。

  • /etc/passwdのパーミッション不正の回復方法

    申し訳ありませんが、超初心者のためにご教授頂けないでしょうか。 <内容>  HP-UX11.23にて、rootユーザにてログイン後、  /etc/passwdファイルをviエディタにて直接更新して  ログアウトしましたところ、二度とログインできなくなりました。  どうしたらログインできるように回復するのかを  ご教授いただきたいです。  telnetのログを見る限り、上記ファイルのパーミッションが Root(グループはother)になっており、  これが原因では?と見ておりますが、何しろ  ログインできないのでなんともできずに困っております。  ちなみに、取得済みバックアップは  一切なしです。。。 以上、よろしくお願いいたします。

  • 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

  • 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 の順で記述しています。 これは、何がいけないのでしょうか? ご存知の方がいらっしゃったらぜひご教授ください。 よろしくお願いいたします。

  • BINDが起動しない

    CentOS5にて、BINDを設定中ですが、エラーがでて先に進めません。 ご存知の方がいらっしゃいましたら教えてください。 ■エラー内容:「named 設定でエラー」 -------------------- [root@linuxtest ~]# /etc/rc.d/init.d/named start named を起動中: named 設定でエラー: : /etc/named.conf:27: missing ';' before '192.168.1.2' /etc/named.conf:28: missing ';' before '192.168.1.3' /etc/named.conf:29: missing ';' before '}' /etc/named.conf:49: open: /etc/named.rfc1912.zone: file not found [失敗] -------------------- 起動前に行った作業は以下です。 -------------------- [root@linuxtest ~]# vi /var/named/chroot/etc/named.conf [root@linuxtest ~]# vi /var/named/chroot/etc/named.linuxtest.xxx.net.zone [root@linuxtest ~]# vi /var/named/chroot/etc/named.linuxtest.xxx.net.zone.wan [root@linuxtest ~]# dig . ns @198.41.0.4 > /var/named/chroot/var/named/named.ca [root@linuxtest ~]# vi named.root_update [root@linuxtest ~]# chmod 700 named.root_update [root@linuxtest ~]# mv named.root_update /etc/cron.monthly/ [root@linuxtest ~]# vi /var/named/chroot/var/named/linuxtest.xxx.net.db [root@linuxtest ~]# vi /var/named/chroot/var/named/1.168.192.in-addr.arpa.db [root@linuxtest ~]# vi /var/named/chroot/var/named/linuxtest.xxx.net.db.wan -------------------- 宜しくお願いします。

  • 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サーバーのように思うのですが。

  • /etcをlsしたら赤点滅

    linux7ですが、sshでログインしようとしたら拒否されました。直接ログインで /etc を見てみると vfontcap とか rc.local とか数個のファイルやディレクトリが赤く点滅してました。sshでリモートログインできない以外には今のところ異常は見当たらないんですが、なんか怖いです。なぜ赤く点滅してるんですか!?

  • homeディレクトリをバージョン違いのLinuxへ移行するには

    お世話になります。 例えば、 Redhat Linux 7.0Jで動いているシステムを Redhat Linux 7.1Jの環境に移行しようとした場合、 /homeディレクトリ、ならびにユーザ情報(パスワードなど)を移行後も同じようにしたいのですが、 どうすれば良いでしょうか? といいますのも、以前、実験的に上記をやってみたことがあるのですが、 /homeと/etc/passwdを移行してみたら、ログインできなくなってしまったという悲しい過去があるのです・・・。 エラーメッセージは詳細におぼえてはいませんが、 たしか、ドットファイルが・・・っていう感じだったと思います。 移行の際、/etc/passwd 、 /etc/shadow などを変更しなくてはいけないのでしょうか? どなたかご教授よろしくお願いします。

  • /etc/groupがおかしい??

    RedHatLinux9でweb,mail,proxy,ldapのサーバーたててます 本日ユーザーの新規追加をしようと思って webminで一括登録してみたら グループに登録されてるはずのユーザーが全く入っていなかったんです。 ユーザー数が800と多いので単に表示できないだけのWebminのバグかなって思ったんですが /etc/groupを見たら新規ユーザーどころか、既存ユーザーも入っていませんでした。 ただ前に確認したときはいたはずなので、どうして変わってしまったのかわかりません。 LDAPへの登録もなぜかできなくなってしまいました。 Ldap_add :Invalid syntax Additional info : gidNumber : value #0 invalid per syntax Ldif_record( )=21 /etc/groupが問題なのでLDAPは関係ないとは思いますが 最近したことといえばwebminでしたユーザーの追加とLDAPの登録ぐらいなのでこの2つが原因なのかなと思っているんですが。 webminではなくて、標準のGUIのユーザー管理ツールを開こうとすると ユーザーデータベースにアクセスできませんというエラーが出ます。 非常に困ってます。 手作業で800名分もグループへの追加なんてできませんし、、、 よろしくお願いします。 一括登録はwebminのシステムのユーザーとグループのところで Create, modify and delete users from batch fileで create:username:passwd:uid:gid:realname:homedir:shell::::: (アカウントの有効期限とかは必要ないのでそこは空白にしてます)でnewuser.txtというテキストファイルを作り、読み込ませました。 ちなみに/etc/passwdは問題ないんです。 ちゃんとGIDが入ってます。 でも/etc/groupには入ってない なんででしょうか?

  • 特定ホストからのみ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 と言う設定をしましたが、これ以外に有効な方法はありますでしょうか? (この方法だと厳密には、「認証を通さない」設定になるかと思います) ありましたら、教えて頂きたいと思います。