우선 설명의 기반은 CentOS 8 기준으로 진행하였다.
CentOS와 같이 Linux에는 관리자 계정과 일반 계정이 나눠져 운영이 된다.
그러나 일반 계정으로 사용하다 보면 일반 계정에서 Root 권한이 필요한 경우가 있다.
이때 sudo 라는 명령어를 통해서 임시적으로 Root 권한을 가질 수 있다.
그러나 관리자가 해당 일반 계정에 sudo 사용 권한을 주지 않는 경우 사용할 수가 없다.
또한, 아래와 같이 "xxx은(는) sudoers 설정 파일에 없습니다. 이 시도를 보고합니다."라는 오류 메세지도 출력 된다.
$ sudo -i
[sudo] xxx의 암호:
xxx은(는) sudoers 설정 파일에 없습니다. 이 시도를 보고합니다.
그럼 사용을 위해서는 관리자가 sudoers 파일 설정이 필요 하다.
1. 그럼 관리자 권한으로 sudoers을 수정해보도록 하자. 파일 위치는 /etc/sudoers 이다.
$ vi /etc/sudoers
## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
##
## Examples are provided at the bottom of the file for collections
## of related commands, which can then be delegated out to particular
## users or groups.
##
## This file must be edited with the 'visudo' command.
.. 생략 ..
"/etc/sudoers" [readonly] 120L, 4328C
vi 명령어로 열면 해당 파일을 readonly로 만 열리기 때문에 수정 하여 저장을 할 수 없다.
또한, /etc/sudoers 파일을 내에도 "This file must be edited with the 'visudo' command." 와 같이 visudo 명령어를 통해서 수정하기를 권고 하고 있다.
$ visudo -f /etc/sudoers
## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
##
## Examples are provided at the bottom of the file for collections
## of related commands, which can then be delegated out to particular
## users or groups.
##
## This file must be edited with the 'visudo' command.
.. 생략 ..
"/etc/sudoers.tmp" 121L, 4351C
visudo 명령어를 통해서 /etc/sudoers 파일을 오픈하게 되면 Temp 파일로 생기고 해당 파일 수정 완료시 특별히 문제 없이 저장된다.
2. 일반 계정 sudo 권한 부여하기
/etc/sudoers 파일 오픈 후 아래와 같이 일반 계정 입력 후 허용할 권한을 주게 된다.
허용 권한 부분에 대해서는 추후 다시 한번 더 정리하도록 하겠다.
$ visudo -f /etc/sudoers
... 생략 ...
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
xxx ALL=(ALL) ALL
# 파일 수정 후 권한 적용한 계정으로 확인
[xxx@localhost ~]$ sudo -i
[sudo] xxx 암호:
[root@localhost ~]#
권한 설정 완료 후 문제 없이 Root 권한을 획득할 수 있다.
다만, 패스워드 입력을 하는 불편함이 있을 수 있다.
3. 일반 계정 sudo 권한 부여 및 패스워드 확인 없이 부여하기
2번에 내용에서 적용했던 부분 이외 아래와 같이 NOPASSWD 설정을 한다면 아래와 같이 sudo로 권한 변경시 패스워드 입력하는 부분도 제거 할 수 있다.
$ visudo -f /etc/sudoers
... 생략 ...
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
xxx ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
xxx ALL=(ALL) NOPASSWD: ALL
# 파일 수정 후 권한 적용한 계정으로 확인
[xxx@localhost ~]$ sudo -i
[root@localhost ~]#
일반 계정에서 관리자 권한을 획득하는 경우 많은 보안적 이슈등이 발생할 수 있다.
가능하다면, 전체 설정이 아닌 sudo로 사용할 수 있는 명령어들도 정리하여 관리 및 설정을 하도록 하자.
'+ OS > Linux & Unix' 카테고리의 다른 글
[Linux] Chrony??? NTP vs Chrony (0) | 2020.06.18 |
---|---|
[Linux] Linux(리눅스)에서 CPU 정보 확인 방법 (0) | 2020.06.07 |
[Linux] Python(파이썬) pyenv virtualenv Install(설치하기) (0) | 2020.05.11 |
[Linux] rm 사용시 "인수 명단이 너무 김(Argument list too long)" 발생시 해결 방법 (0) | 2020.04.22 |
[Linux & Unix] 아이노드(inode) Full 확인 하기 (0) | 2020.04.22 |
댓글