리눅스 우분투를 처음 접하면서 처음으로 당황스러웠던 점은 

뭐만하면 퍼미션 디나이가 뜨는 것이었다. 즉 권한이 없다는 말인데 그래서 처음 배운게 sudo명령어를 앞에 붙이는 방법이었다.

 

매번 명령어마다 앞에 sudo를 붙이는게 귀찮아 조금 더 알아보니 su 명령어로 root계정으로 전환하는 방법 이었다.

 

처음에는 su가 superUser의 줄임말인줄 알았다. 

 

그러던중 /etc/profile 에 분명히 alias를 등록해 놓았는데 su로 계정을 전환해도 매번 source /etc/profile을 안하면 alias가 초기화 되있었다.

 

모르고 쓰니 알턱이 없었고 구글링으로 약간의 공부를 한 결과 정말 내가 모르고 썼다는걸 느껴 정리를 해본다.

 

1. su (Swich User)

 우선 su는 그저 root계정으로 전환하는 Super User인줄 알았는데 Swich User 즉 사용자 전환 명령어였다.

파라미터를 안주면 기본으로 root계정으로 전환되었던 것뿐..

 

로그아웃 없이, 다른 사용자로 로그인을 가능하게하는 리눅스 명령어
파라미터가 없으면 "su"는 "su root"와 동일(=root 계정으로 로그인)
로그인 하려는 계정의 패스워드가 필요하다
- 전환 하려는 계정의 환경변수는 가져오지 않는다.

 

저 마지막 줄 때문에 alias를 가져오지 못했던 것이다.

su -  로 계정을 전환하면 해당 계정에 환경변수까지 가져올 수 있다.

 

2. sudo (Substitute User Do)

sudo 명령어는 유닉스  유닉스 계열 운영 체제에서, 다른 사용자의 보안 권한, 보통 슈퍼유저로서 프로그램을 구동할 수 있도록 하는 프로그램이다. 명칭은 본래 슈퍼유저로서의 실행에 사용되던 것에서 “superuser do”에서 유래하였으나, 후에 프로그램의 기능이 확장되며 “substitute user do”(다른 사용자의 권한으로 실행)의 줄임말로 해석되게 되었다. 

위키백과에 정리가 잘되어있어 가져왔다.

 

https://ko.wikipedia.org/wiki/Sudo

 

sudo - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. sudo 명령어는 유닉스 및 유닉스 계열 운영 체제에서, 다른 사용자의 보안 권한, 보통 슈퍼유저로서 프로그램을 구동할 수 있도록 하는 프로그램이다. 명칭은 본래 슈퍼유저로서의 실행에 사용되던 것에서 “superuser do”에서 유래하였으나, 후에 프로그램의 기능이 확장되며 “substitute user do”(다른 사용자의 권한으로 실행)의 줄임말로 해석되게 되었다. 기본적으로 Sudo는 사용자 비밀번호를 요구하지만

ko.wikipedia.org

 

- 로그아웃 없이, 다른 사용자의 권한으로 명령을 실행 가능하게하는 리눅스 명령어

- 파라미터가 없는 "sudo"는 "sudo -u root"와 동일(=root 권한으로 실행)

- 현재 로그인된 계정의 패스워드가 필요

- sudo -l : sudo 사용 시 관련 권한을 확인하는 방법

 

 

출처, 참고 : https://infosecguide.tistory.com/88




+ Recent posts