> 환경 및 유틸리티 > logname

logname: 실제 로그인 사용자 이름 출력

logname 명령어는 사용자가 시스템에 처음 로그인했을 때 사용한 사용자 이름(login name)을 출력합니다. `whoami`와 달리, `su`나 `sudo`로 권한이 변경된 후에도 원래 로그인한 사용자 이름을 보여줍니다.

개요

`logname` 명령어는 사용자가 시스템에 로그인 세션을 시작할 때 사용한 이름을 표준 출력으로 보여줍니다. 이는 `whoami`와는 미묘하지만 중요한 차이가 있습니다. `whoami`가 현재 명령을 실행하고 있는 '유효한 사용자(effective user)'의 이름을 출력하는 반면, `logname`은 세션의 '실제 로그인 사용자(real login user)' 이름을 출력합니다. 따라서 `sudo`나 `su` 명령으로 다른 사용자의 권한을 얻은 후에도 `logname`은 원래 로그인한 사용자의 이름을 보여줍니다.

주요 특징

logname 명령어의 주요 특징은 다음과 같습니다.

  • 로그인 세션을 시작한 사용자 이름을 출력합니다.
  • `$LOGNAME` 환경 변수의 값을 기반으로 작동합니다.
  • 실제 로그인한 사용자를 확인하는 데 사용됩니다.
  • 옵션이 거의 없는 간단한 명령어입니다.

logname과 whoami의 차이

두 명령어는 모두 사용자 이름을 출력하지만, 권한 변경 상황에서 다른 결과를 보여줍니다.

  • logname: 실제 로그인한 사용자 이름(real user)을 출력합니다. `su`나 `sudo` 사용 후에도 변경되지 않습니다.
  • whoami: 현재 명령을 실행하고 있는 유효한 사용자 이름(effective user)을 출력합니다. `su`나 `sudo` 사용 후에는 `root`와 같이 변경된 사용자 이름을 출력합니다.

주요 옵션

logname 명령어는 매우 단순하여, 주로 `--help`나 `--version` 같은 기본적인 도움말 옵션만 사용됩니다.

1) 도움말

생성된 명령어:

명령어를 조합해 보세요.

설명:

`logname` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

logname 명령어의 다양한 사용 예시를 통해 기능을 익혀보세요.

현재 사용자 이름 확인

logname

현재 로그인된 사용자 이름을 출력합니다.

su 명령 후 사용자 이름 비교

logname
su
whoami
logname

`su` 명령으로 `root` 사용자로 전환한 후, `whoami`와 `logname`의 출력 결과를 비교합니다. `whoami`는 `root`를 출력하지만 `logname`은 원래 로그인한 사용자 이름을 출력합니다.

설치

logname은 `coreutils` 패키지의 일부로, 대부분의 리눅스 배포판에 기본적으로 포함되어 있습니다. 별도의 설치가 필요하지 않습니다.

팁 & 주의사항

logname 명령어 사용 시 유의할 점들을 정리했습니다.

  • 스크립트에서 현재 명령을 실행하는 사용자의 권한을 확인하려면 `whoami`를, 시스템에 접속한 실제 사용자를 기록하려면 `logname`을 사용하는 것이 좋습니다.
  • `logname`은 `w` 명령의 출력 결과와 유사하게, 실제 로그인한 사용자를 추적하는 데 사용될 수 있습니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.


동일 카테고리 명령어