사용자 계정 구분
사용자 계정 구분 | 설명 | UID |
---|---|---|
일반 사용자 계정 | - 일반 사용자 계정 - 자신의 홈 디렉터리 외에는 제한된 권한을 가짐 |
기본적으로 1000부터 시작 사용자 생성시 임의 지정 가능 |
root(관리자 계정) | - 슈퍼유저 또는 관리자 계정 - 시스템 사용에 관한 모든 절대적인 권한을 가지고 있음 |
0 |
시스템 계정 | - 특정 프로그램 실행을 위해 사용 - 보안 목적으로 사용함 - 로그인에 사용되는 계정은 시스템 계정이 될 수 없음 |
-사용자 계정별로 혹은 권한별로 사용할 수 있는 실행 명령이 다르다.
su 명령
명령어 설명
-사용자를 전환시키는 명령
-기본적으로는 해당 사용자의 비밀번호를 알아야 실행이 가능하다.
-단, 관리자 계정(root)으로 명령어 실행시에는 타깃 사용자의 비밀번호를 몰라도 실행시킬 수 있다.
기본 사용법
1
2
3
4
su # root 계정으로 사용자 전환 (사용자만 전환)
su -l # root 계정으로 사용자 전환 (사용자 전환, 사용자 환경 및 작업 디렉터리 변경)
su <username> # username 계정으로 사용자 전환 (사용자만 전환)
su -l <username> # username 계정으로 사용자 전환 (사용자 전환, 사용자 환경 및 작업 디렉터리 변경)
옵션
옵션 | full name | 설명 |
---|---|---|
-l | –login | 지정된 사용자의 로그인 셸을 시작시킴 사용자 및 사용자 환경과 작업 디렉터리를 변경한다. bash-profile 실행됨 |
옵션없음 | 사용자만 변경하며, 원래 사용자의 환경과 작업 디렉터리가 유지된다. bashrc 실행됨 |
|
-c | –command | 1개의 셀 명령을 root 계정으로 실행 root 암호를 알아야 함 여러 단어로 구성된 경우 따옴표로 묶기 |
예시
1
2
3
4
5
# root 계정으로 사용자 전환
su
# <username> 계정으로 사용자 전환, 사용자 환경 및 작업 디렉터리 변경
su -l <username>
1
2
3
4
5
6
7
8
9
10
11
# command 옵션
## 일반 사용자일 경우
ls -l /root
>> ls: cannot open directory '/root': Permission denied # 허가 거부
## su -c 명령 사용
su -c 'ls -l /root'
>> drwxr-xr-x 28 root root 4096 Jun 3 17:46 anaconda3
>> -rw-r--r-- 1 root root 4336730777 Sep 30 2022 cuda_11.8.0_520.61.05_linux.run
>> drwxr-xr-x 4 root root 4096 Jun 25 15:18 de
sudo 명령
명령어 설명
-root 또는 다른 사용자가 되어 명령을 실행하기 위한 명령이다.
-su 명령과 달리 본인의 암호만 필요하여, root 혹은 다른 사용자의 비밀번호를 몰라도 된다.
-단, 관리자가 /etc/sudoers
파일에 권한 설정을 해둬야 한다 : “누가” “어디서” “어떤 명령을” 수행할 수 있는지 .
기본 사용법
1
2
3
4
sudo [-u username] command
sudo -u <username> command # username 사용자가 되어 명령을 실행
sudo command # root 사용자가 되어 명령을 실행
옵션
옵션 | full name | 설명 |
---|---|---|
-u | –user | 지정 사용자가 되어 명령을 실행 |
-b | –background | 명령어를 백그라운드로 실행 |
… | … | 등등 많은 옵션이 있음 |
sudores 파일
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "@include" directives:
@includedir /etc/sudoers.d