티스토리 뷰

반응형

리눅스(Linux)에서 특정 명령을 실행하거나 파일에 접근하기 위해서는 루트(root) 권한이 필요합니다. 일반 사용자(유저)가 root 권한을 사용하기 위해서 su, sudo 명령어를 사용합니다. 이 글에서는 두 명령의 차이점과 사용법을 정리합니다.


su (switch user) 명령어

현재 계정을 로그아웃을 하지 않고 다른 계정으로 전환하는 명령어

리눅스 su 명령어 사용법

su

root 사용자로 변경한다.

암호를 물어볼 때 root 암호를 입력해야 한다.


su user01

다른 사용자로 변경한다.


su - user01

다른 사용자로 변경하면서 환경변수까지 적용한다. (su, su - 차이)

(쉘과 홈 디렉토리가 변경된 것을 확인할 수 있다.)


whoami

현재 사용자를 확인한다.


logout (또는 exit)

이전 계정으로 돌아온다.


su -c 'apt-get update'

root 권한으로 하나의 명령만 실행한다. 

(sudo와 비슷하게 사용 가능)



sudo (superuser do) 명령어

현재 계정에서 root 권한을 이용하여 명령어를 실행할 때 사용

리눅스 sudo 명령어 사용법

sudo apt-get update

sudo 다음에 실행할 명령을 입렵하면 root 권한으로 명령어를 실행한다.

실행하기 전 현재 사용자의 비밀번호를 물어본다.

(root 사용자의 암호를 물어보는 su 명령어와 차이가 있다.)


sudo -i 또는 sudo -s

i, s 옵션을 사용하여 sudo 명령도 su처럼 root 계정으로 전환이 가능하다.

(s옵션은 현재 디렉토리를 유지하지만 i옵션 /root 디렉토리로 이동한다.)


/etc/sudoers 파일에 지정된 사용자만 sudo 명령을 사용할 수 있다.

visudo 프로그램을 이용하여 /etc/sudoers 파일을 수정한다.

sudo visudo

리눅스 visudo 명령어 sudo 권한 부여

...

# User privilege specification

root    ALL=(ALL:ALL) ALL

user01  ALL=(ALL:ALL) ALL

...

파일을 위와 같이 수정하면 user01 사용자도 sudo 명령을 쓸 수 있다.

(사용할 수 있는 명령어를 좀 더 세밀하게 지정할 수도 있다.)



반응형
댓글