"id -r" 명령의 올바른 구문

"id -r" 명령의 올바른 구문

또는 .id -r​ ​나는 사람들이 더 책임감을 갖게 하고 이에 따라 스크립트 기능을 사용자 정의할 수 있도록 이 작업을 수행하는 데 관심이 있습니다(예: 스크립트에서 sudo를 실행하고 로그인한 사용자의 홈 디렉토리에서 정보를 가져옵니다).susudo

sudo설정을 알고 있지만 SUDO_USER사용자가 수정할 수 있는 변수이고 가장 최근에 sudo를 발행한 사용자의 사용자 이름만 있으므로 이에 의존하고 싶지 않습니다(예: sudo -i ; sudo -iu randomUser ; echo $SUDO_USER출력) 실제 사용자 대신 "루트").

매뉴얼 페이지나 온라인에서 찾은 어떤 내용도 이 명령의 올바른 사용법을 나타내는 것 같지 않으며 명백한 순열은 작동하지 않습니다.

[root@ditirlns03 ~]# id -r
id: cannot print only names or real IDs in default format
[root@ditirlns03 ~]# id -r jadavis6
id: cannot print only names or real IDs in default format
[root@ditirlns03 ~]# id -r root
id: cannot print only names or real IDs in default format

이 시점에서 나는 내가 원하는 것을 인쇄할지 여부를 여전히 확신하지 못합니다 id -r. 주로 무엇이든 인쇄하도록 하는 방법을 모르기 때문입니다.

답변1

-r다른 옵션과 함께 사용해야 합니다. 예를 들어:

$ id -Gr
1000 4 24 27 30 46 109 124

매뉴얼 페이지를 인용하면 다음과 같습니다.

-r, --real
print the real ID instead of  the  effective  ID,  with -ugG

답변2

이 절차와 문서는 표준 관행과 다릅니다.

그것이 -ugG실제로 의도된 것이라면 -u|g|G[modifier](그리고 명백히 그런 것이라면), 그런 식으로 문서화해야 합니다. 작가는 노력할 가치가 없다고 생각하는 것 같습니다. 그러나 사용자가 동일한 작업을 수행하는 경우(Davis 씨는 상당히 합리적으로 시도했습니다):

-ru, 합리적이고 직관적인 가정은 오류를 반환합니다.

이 팁 정보:

stat -c "%U" $(tty)

쉘에 따라 다르다는 점을 언급하는 것이 도움이 될 수 있습니다.

답변3

  • 사용자 ID 인쇄:id -u
  • 사용자 이름 인쇄:id -u -n

더 기대어 보세요 man id.

관련 정보