Mailinglist Archive: opensuse-de (1402 mails)

< Previous Next >
Fehlerhafte checkproc-Ausgabe in /etc/init.d/sshd?
  • From: Johannes Kastl <ojkastl@xxxxxx>
  • Date: Sun, 29 Apr 2007 17:52:02 +0200
  • Message-id: <f12ev4$5lg$1@xxxxxxxxxxxxx>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mahlzeit,

ich habe auf meiner 9.3 versucht einen zweiten SSH-Server aufzusetzen.
Dabei bin ich darauf gestoßen dass die "rcsshd status"-Abfrage nicht
so funktioniert, wie ich mir das vorstelle. ;-)

Von vorne:

In /etc/init.d/sshd stehen Angaben zu einem pid-File für sshd:

SSHD_PIDFILE=/var/run/sshd.init.pid

Später mal folgt der Aufruf von
=====================================================
    status)
        echo -n "Checking for service sshd "
        ## Check status with checkproc(8), if process is running
        ## checkproc will return with exit status 0.
[...]
        checkproc -p $SSHD_PIDFILE /usr/sbin/sshd

        rc_status -v
=====================================================

So wie ich das verstanden habe sollte also ein zweiter Aufruf von sshd
mit einem anderen pid-File nichts an der Ausgabe von "rcsshd status"
ändern, oder?

ABER:

> SUSE 9.3 :~ # rcsshd stop
> Shutting down SSH daemon                                              done
> SUSE 9.3 :~ # ps aux|grep sshd
> root     20969  0.0  0.0   1892   712 pts/26   R+   17:39   0:00 grep sshd
> SUSE 9.3 :~ # ll /var/run/sshd*
> /bin/ls: /var/run/sshd*: Datei oder Verzeichnis nicht gefunden
> SUSE 9.3 :~ # rcsshd status
> Checking for service sshd                                             unused

Alles klar, kein sshd läuft.

> SUSE 9.3 :~ # rcsshd start
> Starting SSH daemon                                                   done
> SUSE 9.3 :~ # ps aux|grep sshd
> root     21078  7.0  0.2   4696  1872 ?        Ss   17:39   0:00 /usr/sbin/sshd -o PidFile=/var/run/sshd.init.pid
> root     21087  0.0  0.0   1892   712 pts/26   R+   17:39   0:00 grep sshd
> SUSE 9.3 :~ # ll /var/run/sshd*
> -rw-r--r--  1 root root 6 2007-04-29 17:39 /var/run/sshd.init.pid

Soweit alles klar, der sshd läuft, das pid-FILE existiert.

> SUSE 9.3 :~ # /usr/sbin/sshd -p 44444 -o PidFile=/var/run/sshd44444.init.pid
> SUSE 9.3 :~ # ll /var/run/sshd*
> -rw-r--r--  1 root root 6 2007-04-29 17:42 /var/run/sshd44444.init.pid
> -rw-r--r--  1 root root 6 2007-04-29 17:39 /var/run/sshd.init.pid
> SUSE 9.3 :~ # ps aux|grep sshd
> root     21078  0.0  0.2   4696  1872 ?        Ss   17:39   0:00 /usr/sbin/sshd -o PidFile=/var/run/sshd.init.pid
> root     21672  1.4  0.2   4696  1876 ?        Ss   17:42   0:00 /usr/sbin/sshd -p 44444 -o PidFile=/var/run/sshd44444.init.pid
> root     21714  0.0  0.0   1892   712 pts/26   R+   17:42   0:00 grep sshd
> SUSE 9.3 :~ # rcsshd status
> Checking for service sshd 21078                                                          
>                                                                       running

OK, beide sshd laufen.

> SUSE 9.3 :~ # rcsshd stop
> Shutting down SSH daemon                                              done
> SUSE 9.3 :~ # ll /var/run/sshd*
> -rw-r--r--  1 root root 6 2007-04-29 17:42 /var/run/sshd44444.init.pid
> SUSE 9.3 :~ # ps aux|grep sshd
> root     21672  0.1  0.2   4696  1876 ?        Ss   17:42   0:00 /usr/sbin/sshd -p 44444 -o PidFile=/var/run/sshd44444.init.pid
> root     22043  0.0  0.0   1892   724 pts/26   S+   17:44   0:00 grep sshd
> SUSE 9.3 :~ # rcsshd status
>                                                                       running

Und hier geht es schief. Obwohl der reguläre SSHD gestoppt wurde, sein
pid-File gelöscht ist, und er auch nicht mehr läuft, meint er noch zu
laufen. ;-(

Anscheinend macht der Aufruf von
checkproc -p $SSHD_PIDFILE /usr/sbin/sshd

einen Fehler, dem ist es wohl egal welches pid-File.

Hab ich nen Dreher, oder nen Denkfehler, oder soll das gar nicht so
funktionieren wie ich mich das denke?
Ich könnte als Ausweg ja einfach /usr/sbin/sshd nach /usr/sbin/sshd2
hardlinken, die Verweise darauf in /etc/init.d/sshd2 ändern, dann wäre
das geklärt. Nur lässt mich dann der sshd2 nicht ins System mit einem
PAM ERROR. Dazu aber eine andere Mail.

Grüße,
OJ
- --
| Tja, das Schicksal nahm grausam Rache: Die Kiddies von
| heute denken bei Plato nur noch an seine Sohlen.
Plato... das war doch der Hund von Mickey Mouse, oder?
(H.Reddmann und J.Stoerzer in d.t.jokes)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFGNL8hMAex/QZx/TMRAiZAAJ96Q6DKPaN56aeyabdDOEpenC+seACfWCSG
CfO9ru59UgZ5oVsCvnlsy/A=
=CJBf
-----END PGP SIGNATURE-----

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups