OS/LINUX

12. 다중 사용자와 슈퍼유저

by coldplayer83 2026. 4. 23.
728x90
반응형

다중 사용자 : 여러 명이 한 컴퓨터를 같이 사용하는 것

id : 내 정보 보기
who : 현재 시스템에 접속한 사용자 정보 보기
whoami
w : 사용자 정보를 상세하게 보여줌

[root@testap1 ~]# who
app      pts/0        2026-04-23 09:11 (192.168.56.1)
[root@testap1 ~]# whoami
root
[root@testap1 ~]# who -w
app      + pts/0        2026-04-23 09:11 (192.168.56.1)

 

슈퍼유저

super user(root) : 슈퍼 사용자. #과 root로 표시

# 일반유저에서 슈퍼유저로 전환
su - root (root는 생략 가능) / 비밀번호 입력
# 웬만하면 일반유저로 활동하고 필요한 경우에 sudo 명령어 사용하는 것을 추천

# 슈퍼유저에서 빠져나가기
exit

 

# root 사용자 lock 풀기
sudo passwd -u root
# root 사용자 lock 걸기
sudo passwd -l root

 



sudo(SuperUserDO) vs su(Switch User) - root

sudo : 현재 계정에서 단순히 root의 권한만 빌림, 일시적으로 root 권한 사용

sudo 설정값

# .---------------- 사용자 계정
# | 	 .------------- 접속 ip
# | 	 |    .--------- 사용할 계정
# |  	 |    | 	 .------- 실행 명령어
# | 	 |    |  	 |
# | 	 |    |  	 |
root    ALL=(ALL)       ALL

 

위 설정값은 app 계정에게 접속 아이피, 다른 계정에 관계없이 모든 명령어를 실행할 수 있는 권한을 부여. 보안 취약 가능성 있음
sudo 권한 사용시 비밀번호 입력을 생략하려면 NOPASWD: 를 추가

app    ALL=(ALL)    NOPASSWD: ALL

 

그룹에도 sudo 권한을 설정 가능. 일반 사용자 계정과 달리 그룹명 앞에 %를 추가

%wheel    ALL=(ALL)    ALL

 

su - root : root 계정으로 전환

 


 

sudo 명령은 허락된 사용자가 root 계정이나 다른 사용자 계정으로 명령을 실행할 수 있도록 하며, sudo 명령을 사용하기 위해서는 sudo 설정 파일에 등록되어야 함
기본 sudo 파일은 /etc/sudoers

가급적 기본 설정 파일은 참고만하고, 수정하는 것을 권장하지 않음


/etc/sudoers/ 파일은 기본적으로 /etc/sudoers.d 라는 디렉토리를 항상 include 하고 있음

/etc/sudoers)

## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d


원하는 계정의 sudo 설정을 /etc/sudoers.d 안에 특정 파일로 생성하면 자동으로 적용됨

ex) app이라는 계정의 sudo 권한을 app이라는 파일에 저장

[root@testap1 etc]# echo "app   ALL=(ALL)  ALL" > /etc/sudoers.d/app
# 파일을 열어서 수정한다면 visudo로 작성
[root@testap1 etc]# visudo /etc/sudoers.d/app

[root@testap1 etc]# ls -rtl /etc/sudoers.d/app
-rw-r--r-- 1 root root 21  4월 24 10:35 /etc/sudoers.d/app

[app@testap1 ~]$ sudo cat /etc/shadow
[sudo] app의 암호:
root:$6$y/4hGDeDZxBoOXX2$181Se0cG9zBmVPxSDCmHA2TiPBwMZP596Cot9Re460k3Snyn8FYweUwLH0ji6TNk1vJib6JKUS80rJkrmSwKa.::0:99999:7:::
bin:*:19760:0:99999:7:::
daemon:*:19760:0:99999:7:::
adm:*:19760:0:99999:7:::
...
=> root 권한으로 읽을 수 있는 파일 보기 가능

[app@testap1 ~]$ sudo cat /etc/sudoers.d/app
app   ALL=(ALL)  ALL

 

위와 같이 /etc/sudoers 파일을 수정하지 않아도 app계정에 sudo권한을 부여할 수 있음
/etc/sudoers.d/ 디렉토리에 설정 파일을 추가하는 것은 원본 파일을 직접 수정하지 않을 뿐더러, 관리 목적에 따라 파일을 분리해서 사용할 수 있기 때문에 매우 편리함



su vs su -
su : root 계정의 환경변수를 가져오지 않고 현재 계정의 환경 변수 사용
su - : 기본 root 디렉토리로 이동(환경변수를 가져옴)

 



사용자 추가

# 유저 추가
useradd -m 유저명
-m : 사용자의 홈 디렉토리도 함께 생성
-g : 그룹 지정

# 유저 비밀번호 생성(필수)
passwd 유저명

# 원하는 유저계정으로 변경
su - 유저명

 

728x90
반응형

'OS > LINUX' 카테고리의 다른 글

14. 권한  (0) 2026.06.11
13. history 명령어 시간 출력하기  (0) 2026.05.15
11. CRON  (0) 2026.04.23
10. DAEMON, SERVICE  (0) 2026.04.02
9. 백그라운드 실행(nohup, kill)  (0) 2026.04.02

TOP

Designed by 티스토리