CentOS 7 계정 관리 (생성, 삭제, visudo)

visudo capture Image

CentOS 뿐만 아니라 다른 리눅스에서도 마찬가지일 것이라 생각합니다.
이 포스트에서는 리눅스에서의 계정을 생성하고 삭제하는 등의 계정 관리 방법에 대해 기본적인 내용만 다뤄볼 예정입니다.
리눅스를 저도 다루기 시작한게 얼마 되지 않아 헷갈릴 때마다 참고하기 위해 작성하는 것이니 틀린 부분이 있다면 알려주시기 바랍니다.

계정 관리 부분은 버전이 올라가도 크게 변경되는 부분이 없을 것이라 예상되지만, 앞 날은 제가 예측할 수 있는게 아니기 때문에 이 포스트를 작성하는 시점의 OS 버전을 적어두겠습니다.

centos-release-7-6.1810.2.el7.centos.x86_64

리눅스에서 계정을 생성할 때 가장 특이하게 생각한 부분은 계정 생성시에 패스워드 설정이 필수가 아니라는 것입니다.
그럼 계정 관리 방법에 대해 적어보겠습니다.

계정 생성 (adduser)

[root@server ~]# adduser ans123

or

[account@server ~]$ sudo adduser ans123

위와 같이 ‘adduser’를 활용하여 계정을 생성해주게 됩니다. 이 command를 사용하기 위해서는 root 권한이 필요합니다. 이 커맨드에는 여러 옵션들이 있지만 지금까지 사용하는 레퍼런스를 많이 보지 못해 이 포스트에서는 패스하도록 하겠습니다.

계정 삭제 (userdel)

[root@server ~]# userdel -r ans123

or

[account@server ~]$ sudo userdel -r ans123

일반적으로 계정을 삭제할 경우에는 ‘-r’ 옵션을 함께 사용하는 것 같습니다.
‘r’옵션은 해당 계정의 홈 디렉토리와 메일 스풀을 함께 삭제해주는 옵션인데, 아마 그냥 삭제하게되면 계정만 삭제되고 관련된 디렉토리가 삭제가 되지 않는 것 같습니다.
추가적으로 ‘-f’옵션이 보이는데, 강제로 삭제하는 옵션입니다. 만약 해당 계정이 로그인 중일 경우에 삭제가 되지 않는데, 그럴 때 사용하는 것 같습니다. 종종 사용될 것 같아 적어두었습니다.

계정 조회 (cat /etc/passwd)

[account@server ~]$ cat /etc/passwd
...
ans123:x:1001:1002::/home/ans123:/bin/bash

# 위 형식을 해석하면 아래와 같습니다.
# ID : Password : UID : GID : Description : Home Directory : Shell

위와 같이 cat을 사용하여 계정을 조회해야 합니다. 최초에 조회하면 얼마나 나오는지 모르겠지만, 저는 무지하게 나오네요;;
위에도 적어두었지만 각 라인별로 보시면 되고, ‘ID : Password : UID : GID : Description : Home Directory : Shell’ 형태로 되어 있습니다.
특징이라면, Password는 모두 공통적으로 x표시가 되어 있습니다.

계정 패스워드 설정 (passwd)

[root@server ~]# passwd ans123
Changing password for user ans123.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

or

[account@server ~]$ sudo passwd ans123
Changing password for user ans123.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

위에서 적은 것처럼 패스워드를 별도의 command로 설정해줄 수 있습니다.
passwd 뒤에 계정명을 적으면 설정할 수 있게 나오니 두번 패스워드를 입력해주면 됩니다.
이 비밀번호 뿐만 아니라 root권한을 얻기위한 패스워드도 설정이 가능한데, 그 부분은 이전에 다뤘던 포스트를 참고해주시기 바랍니다.

Sudo 권한을 패스워드 없이 사용할 수 있게 설정 (visudo)

[root@server ~]# visudo

or

[root@server ~]# vim /etc/sudoers

위의 Command를 입력하면 꽤 긴 파일이 열리게 됩니다. vi editor로 열린 상태이니 ‘/’를 사용하여 아래 캡쳐와 같은 위치를 찾아줘야 합니다.

Visudo Capture Image

저기 보이는 root 부분 하단에 sudo권한에 패스워드 묻는 과정을 생략할 계정에 대한 설정 한 줄을 추가해줘야 합니다.

...
root    ALL=(ALL)       ALL
ans123  ALL=(ALL)       NOPASSWD:ALL
...

사실 저 위치가 아니라 아무 곳에 추가해줘도 무관합니다.
다만, 차후 관리를 위해 기존에 비슷한 설정이 되어 있는 위치에 같이 설정을 해주는 것이 좋습니다.
그리고 위 방법 뿐 만 아니라 특정 명령어에 대해서만 패스워드를 생략할 수도 있고, 설정해줄 수도 있습니다. 제타위키를 참고하세요.

Leave a Reply