추가 읽기

추가 읽기

Codecademy와 같은 온라인 명령줄 플랫폼에서 다음을 실행하면

for cmd in w who whoami id
do
    echo $cmd
    $cmd
    echo =========================
    echo "             "
done

알겠어요

w                              
00:52:54 up 8 days, 14:10,  0 users,  load average: 3.78, 2.98, 2.69      
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT       
=========================                            

who
=========================                                                 

whoami                          
ccuser                          
=========================                              
  
id
uid=1000(ccuser) gid=1000(ccuser) groups=1000(ccuser)     
=========================                   

whoami무언가만 출력 하도록 주의하세요 id. 내 컴퓨터에서 동일한 작업을 실행하면 모든 명령에 대해 비슷한 결과가 나타납니다.

wCodecademy가 사용자에게 표시하지 않는 이유는 무엇입니까 who? 이들명령의 차이점은 무엇인가요?

답변1

  • id보고서
    • 자체 프로세스의 현재 자격 증명
    • 다음과 같은 사용자의 자격 증명을 지정합니다.시스템 계정 데이터베이스.
  • whoami자체 프로세스의 현재 자격 증명을 보고합니다.
  • whow테이블에서 활성 로그인 세션을 보고합니다 .데이터베이스에 로그인.

BSD doco는 whoami작업의 일부를 수행했다고 명시 id하므로 id더 이상 사용되지 않습니다.

시스템에 활성 로그인 세션 테이블이 있을 필요는 없습니다. Linux 운영 체제 및 BSD에서 부팅 시 테이블이 생성되지 않았거나 이후 삭제된 경우 시스템은 테이블 없이 실행됩니다. 또한 Linux 운영 체제에서는 로그인 및 로그아웃 시 암시적으로 생성되지 않습니다.

또한 권한이 없는 사용자는 테이블을 읽을 필요가 없으며 이 명령 who이나 w명령 모두 이를 오류로 보고하지 않습니다.

추가 읽기

관련 정보