지금 누구로 로그인했는지, 그 계정이 어떤 권한으로 명령을 실행하는지를 확인하는 명령이다.
계정 확인
whoami
id
id user
who
wwhoami는 지금 명령이 실행되는 사용자 이름이다. sudo로 실행하면 root로 나올 수 있다. id는 사용자 번호, 기본 그룹, 속한 그룹을 함께 보여 준다. 인자로 다른 계정 이름을 주면 그 계정을 조회한다.
who는 로그인한 세션의 터미널과 시각이다. w는 거기에 각 세션이 실행 중인 명령까지 붙인다.
sudo
sudo는 허용된 계정이 다른 사용자, 보통 root의 권한으로 명령 하나를 실행하게 한다.
sudo ls /root
sudo -u postgres psql
sudo -l비밀번호를 물으면, 많은 설정에서는 root 비밀번호가 아니라 내 계정의 비밀번호다. `-u`는 그 사용자로 실행한다. `-l`은 지금 계정에 허용된 sudo 명령을 보여 준다.
sudo는 필요한 명령 앞에만 붙인다. `sudo -i`는 대상 계정의 로그인 셸을 연다. 그 셸 안의 명령은 모두 그 권한으로 실행된다. 일이 끝나면 exit로 나온다.
su
su -
su - postgres`su -`는 대상의 로그인 환경으로 들어간다. 홈, PATH, 셸 설정을 그 계정 기준으로 다시 읽는다. 하이픈 없는 `su`는 일부 환경을 지금 셸에서 가져간다. 계정 작업을 할 때는 `su -`가 예측하기 쉽다.
대상 계정에 비밀번호가 없거나 막혀 있으면 su는 실패할 수 있다. 그 계정의 명령 하나만 실행할 수 있으면 sudo -u가 맞다.
root로 연 셸에서 만든 파일의 소유자는 root다. 내 계정으로 다시 편집해야 하면 chown으로 소유자를 되돌린다.
비밀번호와 기록
passwd
groups
last -n 10passwd는 내 로그인 비밀번호를 바꾼다. 현재 비밀번호를 먼저 묻는다. 다른 계정을 바꾸려면 관리자 권한이 필요하다.
groups는 지금 계정이 속한 그룹이다. id의 그룹 목록과 같다. last는 로그인 기록이다. `-n`은 줄 수다. 기록이 없는 시스템은 출력이 짧다.
COMMENTS
댓글 0
이 글에 대한 의견이나 질문을 남겨 주세요.
댓글은 구글이나 카카오로 시작한 뒤에 남길 수 있습니다.
등록된 댓글이 없습니다.