SSHを介してリモートホストから初期化スクリプトを実行することはできません。 [閉じる]

SSHを介してリモートホストから初期化スクリプトを実行することはできません。 [閉じる]

私はCent 5.10ホストにいます。

サービスを開始するためにそのホストでリモートコマンドを実行すると、各サービスは正常に開始されたものとして読み取られます。

kkahn@host: /home/kkahn$ ssh -q -t host.example.com "sudo /etc/init.d/redacted-service start "
Starting service
Service started
Connection to host.example.com closed.

PIDファイルもPIDエントリとして生成されましたが、/var/runプロセスは開始されませんでした!最後にaを使用してコマンドを実行すると、sleep 10リモートホストでプロセスが10秒間実行され、コマンドが終了すると停止します。

答え1

動作していないホストと動作しているホスト(Cent6ホストと比較してCent5ホスト)で出力を確認した後、sudo -i次のことがわかりました。set

[root@cent5-node ~]# set | grep -i sudo
SUDO_COMMAND=/bin/bash
SUDO_GID=100100017
SUDO_UID=100100017
SUDO_USER=kkahn

[root@cent6-node ~]# set | grep -i sudo
SUDO_COMMAND=/bin/bash
SUDO_GID=1001000173
SUDO_UID=1001000173
SUDO_USER=kkahn
[root@testcentsix(testcentsix) ~]# 

私のSUDO_GID合計SUDO_UIDは正しいですcent6-node- そして短縮存在するcent5-node! Cent5ではIDが3削除されました。

これが将来のリリースでパッチされていることがわかりましたsudo

https://gratisoft.us/sudo/changes.html

    * plugins/sudoers/env.c, plugins/sudoers/ldap.c:
    Use MAX_UID_T_LEN + 1 for uid/gid buffers, not MAX_UID_T_LEN to
    prevent potential truncation. Bug #562.
    [29d9fc4e0c4e]

sudoこのCent5ホストで実行されているバージョンは1.7.2p1、Cent6ホストで実行されているバージョンはです1.8.6p3。ソースコードを見ると、1.7.2p1次のことがわかります。

...
char idbuf[MAX_UID_T_LEN];
...

sudoCent5ノードに親バージョンをインストールした後の問題を修正しました。

関連情報