리눅스에서 특정 명령을 실행하거나 , 특정 파일에 접근하기 위해서 때로는 루트(root) 권한이 필요한 경우가 있다.
이러한 경우에 사용하게 되는 su / su- / sudo 명령어들과 각 명령어들의 차이점, 현재 계정을 확인하는 whoami 명령어와 계정 전환 후 다시 이전 계정으로 돌아가게 하는 logout /exit 명령어들에 관한 내용이다.
우선, 일반 사용자(user)가 루트(root)권한을 사용하기 위해서는 su(Switch User) 혹은 sudo(SuperUser DO ) 명령어를 사용하면 된다.
Switch User에서 알 수 있듯이 , 현재 계정을 로그아웃하지 않고 다른 계정으로 전환하는 명령어 이다.
su 명령어를 실행하게 되면 root 사용자의 비밀번호를 물어본다.여기서 '-'의 유무의 차이가 있다.
su 와 su- 는 둘 다 루트(root)계정으로 전환하는 것을 의미하지만 ,
su는 root 계정의 환경 변수를 가져오지 않고, 현제 계정의 환경 변수를 사용하게 되는 차이점이 있다.
su - 하고 로그인을 하게 되면 기본 /root 디렉토리(directory)로 이동하게 된다. (환경 변수를 가져온다는 의미)
현재 계정에서 단순히 root의 권한 만을 빌리는 것이다.
sudo 명령어를 실행하게 되면 root 권한으로 명령어를 실행하게 된다.
즉, 하나의 명령에 대하여 일시적으로 root 권한을 사용하는 것을 말한다.
실행하기 전 , 현재 사용자의 비밀번호를 물어본다.