Tuesday, March 13, 2018

CentOS 6.6 리눅스 기초] 8. 사용자 계정 관리 (1)


리눅스는 개인용 윈도우 운영체제와는 달리 여러 사용자가 접속하여 동시에 서로 다른 작업을 하는 멀티 유저, 멀티 프로세스 모드로 동작하는 서버 운영체제입니다. 리눅스에는 어떻게 접속할까요. 일반 사용자 컴퓨터처럼 서버가 있는 위치로 담당자가 직접 가서 콘솔을 연결하여 작업하는 경우가 있지만 요즘은 장비들이 거의 전산기계실에 있기 때문에 사람들 출입이 예전처럼 빈번하기 않습니다.

관리자 PC나 특정 PC에서만 접속이 가능하게 보안을 걸어 네트워크로 접속을 하죠. 로컬로 접속하든 원격으로 접속하든 어떻게든 접속을 하겠죠. ㅎㅎㅎ.. 그러면 각 사용자들을 구분 지어야 하는데 이때 사용되는 것이 사용자 계정입니다. 그리고 공통된 특성을 가지는 사용자들끼리 묶기 위해 그룹 계정을 사용하는 것입니다.

사용자가 계정을 가지고 접속을 시도하면 시스템은 사용자로부터 받은 계정 정보와 암호가 정확한지 확인하게 되는데 이런 작업을 인증 작업이라 부르죠. 정상적인 인증단계를 거치고 나면 정상적으로 시스템에 로그인이 되고 프로그램 또는 파일을 사용할 수 있게 됩니다. 일반 사용자들이 모든 프로그램과 파일을 사용할 수 있는 것이 아닙니다. 관련된 파일에 대한 권한이 있어야 되는 데 이때 인가 절차를 거치게 됩니다.


용 어
 설 명
 인증 (Authentication)
 시스템 접근 (Access) 시 허용 전 사용자 계정의 정상 유무를 식별
 인가 (Authorization)
 인증된 사용자에게 파일 또는 프로그램 사용에 대한 권한 유무를 판단, 권한에 따라 사용 기능이 제한됨

이 게시물에서는 인증에 관련된 계정 생성, 수정, 삭제에 대해 알아보도록 하겠습니다.



■ /etc/login.defs

이 파일은 새로 생성되는 사용자 계정 패스워드에 관련된 유효기간과  계정 생성 시 UID, GID를 자동으로 할당할 경우 최소, 최대값을 설정하는 파일이다. 기본적으로 일반 계정의 UID와 GID는 500에서 60,000까지 자동으로 만들어지도록 되어 있다. 0부터 500까지는 시스템 계정을 위해 예약되어 있다고 보면 된다.

호기심이 발동하여 6만이 넘어가면 정말 땡!!!하고 끝날까? 궁금해서 간단한 계정 생성 쉘 스크립트를 만들어 돌린 적 있는데 3만 계정을 만드는데 대략 15시간 정도 걸렸다. 계정이 만 개가 넘어가면 매우 느리게 계정이 만들어진다. 이유는 계정에 대한 정보를 저장하는 데이터베이스 파일의 유형이 텍스트 파일이라 그렇지 않을까 하는 생각을 해보았던 과거의 기억이..





■ 그룹 계정 관리 명령

공통된 사용자들을 묶어서 관리하기 위해 그룹 계정을 사용한다. 뭐 학교 다닐 때 1반, 2반, 3반... 직장 다닐 때 경영지원부, 마케팅부, 영업부, 기술부 이렇게 나누듯이... 저는 영업부에 김민철입니다. 계정 만들어 주세요. 그러면 보통 Sales 그룹에 포함시키죠. ㅎㅎㅎ

□ groupadd

이 명령은 그룹 계정을 만들기 위해 사용되는 명령입니다. /etc/group과 /etc/gshadow 파일에 관련되어 있습니다.

1). 명령 형식

groupadd [옵션] <groupname>

2). 옵션

옵 션
 내 용
-g GID
 GID 값을 변경하기 위해 사용하는 옵션이다.
-o
 중복된 GID값을 설정하기 위해 사용한다. 하지만 실무에선 사용하지 않는다.
-n NewGroupname
 그룹 이름을 변경하기 위해 사용하는 옵션이다. 


3). 예제

아래는 group3의 GID 값을 600에서 601로 수정하기 위해 -g 옵션을 사용하는 것을 보여준다.


아래는 group3의 그룹 계정 이름을 sales로 변경하기 위해 -n 옵션을 사용하는 것을 보여준다.


□ groupdel

​이 명령은 그룹 계정을 삭제하기 위해 사용하는 명령이다.

1). 명령 형식

groupdel <groupname>

2). 예제


□ gpasswd

이 명령은 그룹에 대한 암호를 지정 또는 제거하거나 그룹에 멤버를 추가 또는 제거하기 위해 사용하는 명령이다.

1). 명령형식

gpasswd <groupname>
gpasswd ​[옵션] username groupname

2). 옵션

옵 션
 내 용
-r
 그룹 패스워드를 삭제하기 위해 사용하는 옵션이다.
-a user group
 그룹에 멤버를 추가하기 위해 사용하는 옵션이다.
-d user group
 그룹에 멤버를 제거하기 위해 사용하는 옵션이다. 

3). 예제

아래는 gpasswd 명령을 사용하여 group3 그룹에 대한 암호 설정을 보여준다.


아래는 gpasswd 명령을 사용하여 group3 그룹에 user1 사용자를 멤버로 추가, 제거하는 것을 보여준다.


아래는 다시 group3 그룹에 user1 계정을 멤버로 추가한 후 su 명령을 사용하여 user1 계정으로 전환(Switch) 한 후 newgrp 명령으로 주 그룹을 임시적으로 변경한 것을 보여준다.



아래는 user2로 사용자 전환을 하여 newgrp 명령으로 주 그룹을 임시적으로 group3으로 변경하려 하자 user2가 group3의 멤버가 아니기 때문에 암호를 묻는 것을 확인할 수 있다.


-r 옵션을 사용하여 group3에 설정되어 있는 암호를 제거한다.




No comments:

Post a Comment