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 노드에 상위 버전을 설치한 후 문제가 해결되었습니다.

관련 정보