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
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 > |