su 명령어
su는 ‘switch user’의 약자로, 현재 사용자의 세션을 다른 사용자로 전환하는 명령어
루트 사용자로 전환
$ su -
특정 사용자로 전환
$ su - cubrid
‘-’ 옵션 사용: ‘-’ 옵션을 사용하면, 환경 변수를 포함한 사용자의 환경을 모두 로드
$ su - cubrid
- 해당 사용자의 홈 디렉터리로 이동됨
- 해당 사용자의 환경변수가 적용됨
- 환경 변수는 ~/.bashrc, ~/.bash_profile, ~/.profile 에서 설정한 변수
‘-’ 옵션 사용 X: -를 사용하지 않으면, 현재 디렉토리를 유지하면서 다른 사용자로 전환
$ su cubrid
- 현재 디렉터리를 유지하면서 사용자만 변경됨
- 환경변수는 변경되지 않음
‘-c’ 옵션: 다른 사용자로 로그인하지 않고, 특정 사용자 권한으로 단일 명령어를 실행
$ su root -c "vi /etc/sudoers"
whoami: 현재 사용자를 확인
$ whoami
logout / exit: 전환 전 사용자로 돌아감
$ exit
- root에서 cubrid로 사용자 전환하고, exit 명령을 사용하면 다시 root로 로그인됨
sudo 명령어
- sudo 명령어를 실행하게 되면 다른 사용자의 권한(일반적으로 root)으로 명령어를 실행하게 됨
- 즉, 하나의 명령에 대하여 일시적으로 다른 사용자의 권한을 사용하는 것을 말함
$ sudo -u root [명령어]
$ sudo [명령어] # -u root와 같음
sudo 사용 X: 예를 들어서 시스템 설정 파일을 편집할 때 루트 권한이 필요한데, sudo 명령어를 사용하지 않고 사용자가 해당 파일에 접근하면 다음과 같이 접근이 거부됨
$ cat /etc/sudoers
sudo 사용: 다음과 같이 sudo 명령어를 입력해야 시스템 설정 파일에 접근할 수 있음
$ sudo cat /etc/sudoers
- sudo 명령은 /etc/sudoers 파일에 권한 지정된 사용자만 사용 가능
권한 설정이 안된 사용자: sudoers 파일에 권한 설정이 되지 않은 사용자가 시스템 설정 파일에 접근하는 경우 다음과 같이 error
sudo 권한 설정: /etc/sudoers 파일에서 다음과 같이 사용자 권한을 지정
$ sudo vi /etc/sudoers
cubrid ALL=(ALL) ALL
/etc/sudoers
sudoers 파일: sudo 명령어를 사용해 특정 사용자나 그룹이 루트 또는 다른 사용자의 권한으로 명령어를 실행할 수 있도록 허용하는 설정 파일
sudoers 파일의 역할
- 권한 부여: 특정 사용자나 그룹에게 루트나 다른 사용자의 권한으로 실행할 수 있는 권한을 부여
- 명령어 제한: 어떤 사용자나 그룹이 특정 명령어만 실행할 수 있도록 제한
- 호스트 제한: 명령어가 실행될 수 있는 호스트(서버)를 지정
사용자 권한 지정 예시
sudo vi /etc/sudoers
root ALL=(ALL:ALL) ALL # (권한 설정할 사용자명) (규칙이 적용되는 호스트)=(사용 가능한 사용자 권한:사용 가능한 그룹 권한) (실행 가능한 명령어)
- 예시는 root 사용자가 어떤 명령어든지, 어떤 사용자 또는 그룹의 권한으로든지, 모든 호스트에서 실행할 수 있도록 허용하는 설정
- 즉, root 사용자가 모든 명령어를 제약 없이 실행할 수 있음
그룹 권한 지정
- % 기호는 그룹을 나타냄
%cubrid ALL=(ALL) ALL
비밀번호 없이 명령어 실행 허용
cubrid ALL=(ALL) NOPASSWD:ALL
특정 명령어 실행 허용
cubrid ALL=(ALL) /usr/bin/yum check-update, /usr/bin/yum update
요약
- su는 다른 사용자 계정으로 전환하거나 루트 계정으로 로그인하기 위한 명령어
- sudo는 다른 사용자의 권한으로 명령어를 실행하기 위한 명령어
- /etc/sudoers 파일은 시스템에서 sudo 명령어를 사용할 수 있는 권한과 범위를 관리하는 설정 파일
'Linux' 카테고리의 다른 글
[Linux] date 명령어 (0) | 2024.09.03 |
---|---|
[Linux] 실행 중인 프로세스 백그라운드로 변경하기 (0) | 2024.09.03 |
[Linux] nohup 명령어 (0) | 2024.09.03 |
[Linux] 리눅스 파일 권한 Permission (1) | 2024.05.02 |
[Linux] 기본 명령어 (0) | 2023.08.27 |