[Linux] User Management

Will·2025년 12월 9일

Linux

목록 보기
2/2
post-thumbnail

리눅스 사용 주체

1. 시스템(System account)

  • 백그라운드에서 시스템 실행하기 위한 계정
  • Home Directory 없음
  • ex) DB, 웹서버 등

2. 일반유저(Regular Users)

  • 고유의 파일/디렉토리 접근 권한 가짐
  • 관리자 권한의 작업은 실행 X

3. 슈퍼유저(superuser, rootuser)

  • 전체 시스템에 대한 접근 권한 가짐
  • 소프트웨어 설치, 유저 생성/삭제/권한 변경 등 가능

sudo(supersuer do)

다른 사용자나 '최고 관리자(Superuser)'의 권한으로 특정 명령어를 실행할 수 있게 해주는 명령어로서, 일시적으로 관리자 권한, 또는 특정 유저의 권한으로 명령어를 실행할 수 있다. 단순히 sudo 라고 입력하는 것은 sudo -root 같다

sudo 사용 시엔는 사용하고자 하는 계정의 패스워드를 입력해야 한다.
이때 별도의 confirmation을 진행하지 않기 때문에, 파일 삭제/이동 위한 명령어를 강제로 실행시키기 위한 사용을 지양해야 한다.

위 캡쳐에서 비밀번호를 물어보지 않은 것은, 앞서 sudo 명령어를 실행하며 패스워드를 입력하였고, 로그인된 해당 세션이 유지되고 있기 때문이다.
대부분의 Linux 배포판에서 sudo의 기본 세션 유지 시간은 5분이다.

cache 시간을 변경하려면?

이 세션 유지 시간을 변경하려면 /etc/sudoers 파일의 수정이 필요하다.

이때 관리자 권한이 필요하며, 다음과 같이 vim 에디터로 파일을 열어서
Defaults timestamp_timeout=[시간]과 같이 설정을 입력해주면된다.


이 값을 0으로 설정하면? 매번 비밀번호를 입력하도록 설정할 수 있다. 해당 옵션을 0으로 설정한 뒤, 타임 스탬프를 출력하도록 bash 쉘을 수정하여 sudo 명령어를 사용해보면

다음과 같이 1분이 채 지나지 않았는데도 연속하여 계정의 비밀번호를 요구하는 것을 확인할 수 있다.

sudo 인증에 성공했을 때 시스템이 기록해 둔 타임스탬프 파일을 삭제하여(방금 vim으로 수정한 설정 파일 아님 주의) 설정을 완전 초기화하기위해서는 sudo -K를 사용하면 된다.
소문자로 sudo -k를 입력해도 동일한 효과를 얻을 수 있지만, 이 경우 파일 삭제 없이 단순 만료 처리만 하기 때문에 대문자 K 옵션이 더 강력하다고 할 수 있다.

su(switch user)

추가로, su 명령어도 있다.
su는 현재 사용자를 로그아웃하지 않은 상태에서 다른 사용자의 계정으로 전환할 때 사용한다.
이 계정의 전환은 exit 또는 로그아웃 전까지 세션 내내 유지된다.

su -

su
root 계정으로 전환하지만, 기존 사용자 계정의 환경 변수를 그대로 가져와 사용한다.

su -[계정이름]
root 계정, 또는 입력한 계정으로 전환하며, 해당 계정의 환경 변수를 모두 적용하고 홈 디렉터리(ex) /root)로 이동한다.
즉, 입력한 계정으로 로그인한 것과 동일하다고 할 수 있다.

profile
Täglicher Fortschritt

0개의 댓글