2014-12-18 7 views
0

우분투에서 upstart에 의해 root로 실행되는 데몬이 있습니다. 데몬에서 로그인 사용자 이름 또는 uid를 알아야합니다.서비스에 현재 사용자 이름을 알리는 방법

whoami와 같은 명령이나 기능을 검색하고 테스트했지만 내가 원하는 결과를 얻지 못했습니다.

아무도 내가 해결책을 알 수 있습니까?

+0

을 실행하지 않아야 신출내기를 해결할 수 있습니다? – frlan

+1

질문이 확실하지 않습니다. 데몬을 실행중인 사용자를 알고 싶습니까? – mikea

+1

당신의 질문은 그렇게 명확하지 않습니다. 당신이 누가 실행중인 데몬인지 알고 싶다면'ps -aux | grep process_name'. – Thushi

답변

1

시작 스크립트가 실행될 때 사용자가 로그인하지 않았습니다.

일반적으로 데몬은 root으로 시작하지만 때로는 소프트웨어가 그런 방식으로 작성 되었기 때문에 또는 시작 스크립트가 이러한 방식으로 설정했기 때문에 전용 사용자 ID를 사용합니다. 예를 들어, 데비안 기반 배포판에서는 웹 서버가 www-data으로 실행되므로 아무나 웹 서버를 해킹하면 시스템에 대한 액세스가 제한 될 수 있습니다. 그러나 이것이 정확히 구성되는 방법은 어떤 데몬과 시작 스크립트 및 구성이 어떤지에 따라 다릅니다.

자신의 데몬이고 사용자 ID를 전환하도록 구성하거나 작성하지 않은 경우에는 root으로 실행됩니다.

데몬이 일종의 서버이고 런타임에 클라이언트가 연결 중임을 알 필요가있는 경우 (실제로 질문을 다시 말하면되지만 클라이언트가 서버에 연결하는 방법의 기능 임) 서버가 시작됩니다.

0

이 같은 작은 스크립트가 문제 루트로

echo "uid is ${UID}" 
echo "username is ${USERNAME}"