현 블로그는 모바일 환경이 아닌 PC환경에 최적화 되어있습니다.

 Mir의 운영환경


우분투 계정 관리



우분투를 설치후 매번 admin으로 접속하기는 찜찜(?)하니 계정을 추가하여 접속을 해보도록 하자.


우분투에서는 계정을 생성하는 명령어가 두가지가 있다. 바로 adduser와 useradd이다. 

두 명령어 모두 계정을 추가하는 명령어지만 약간의 차이점이 있다. 

adduser의 경우 명령어 실행시 기본 계정정보를 같이 생성해주지만

useradd의 경우 계정만 생성하며 기타 다른 정보를 수동으로 생성 및 설정해주어야 한다. 

하나하나 실행하면서 살펴보도록 하자.


1. adduser [계정이름] - 계정 추가

- 계정생성시 비밀번호 까지 입력받으며 기본정보를 바로 입력 시켜줄수 있다. 홈 디렉토리 또한 자동으로 생성된다.

$   adduser mirUseradd
'miradduser' 사용자를 추가 중...
새 그룹 'miradduser' (1002) 추가 ...
새 사용자 'miradduser' (1002) 을(를) 그룹 'miradduser' (으)로 추가 ...
'/home/miradduser' 홈 디렉터리를 생성하는 중...
'/etc/skel'에서 파일들을 복사하는 중...
새 UNIX 암호 입력: 
새 UNIX 암호 재입력: 
passwd: password updated successfully
Changing the user information for miradduser
Enter the new value, or press ENTER for the default
	Full Name []: Mir
	Room Number []: 2000
	Work Phone []: 0101111111
	Home Phone []: 0102222222
	Other []: test
정보가 올바릅니까? [Y/n] y

이렇게 adduser로 계정을 생성시 우선 암호입력창이 뜨고 후에 부가적인 Commant 입력창이 생성된다.


2. useradd [계정이름] - 계정 추가

- 순수 계정만 생성해주고 기본 셀인 sh가 할당되며 홈 디렉토리와 패스워드는 따로 설정해줘야 한다.

$   useradd mirUseradd

useradd로 계정을 추가시 따로 결과 메세지나 입력메세지가 없다.

이제 이 두가지 계정을 한번 비교해보도록 하자


3. /etc/passwd - 계정 정보 파일

- 사용자 인증에 필요한 계정 정보를 가지고 있다. cat 명령어로 내용을 살펴보자.

$   cat /etc/passwd
[생략]...
mirUseradd:x:1000:1000::/home/mirUseradd:/bin/sh
miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash          

맨 아래줄에 보면 mirUseradd와 miradduser 계정이 추가된것이 보인다.

하나하나 자세히 분석해보자.

miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash

mirUseradd:x:1000:1000::/home/mirUseradd:/bin/sh

- 사용자 계정을 표시한다.


miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash

mirUseradd:x:1000:1000::/home/mirUseradd:/bin/sh

- 비밀번호를 표시한다. (모두 x로 표시되며 자세한 비밀번호는 아래에서 검색해보겠다.)


miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash

mirUseradd:x:1000:1000::/home/mirUseradd:/bin/sh

- 사용자 ID를 표시한다. (0 : 관리자, 1~499 : 시스템 계정, 500~ : 일반 계정)


miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash

mirUseradd:x:1000:1000::/home/mirUseradd:/bin/sh

- 그룹 ID를 표시한다.


miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash

mirUseradd:x:1000:1000:(null):/home/mirUseradd:/bin/sh

- 계정정보(Comment)를 표시한다. 


miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash

mirUseradd:x:1000:1000::/home/mirUseradd:/bin/sh

- 홈 디렉토리를 표시한다.


miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash

mirUseradd:x:1000:1000::/home/mirUseradd:/bin/sh

- 로그인 쉘을 표시한다.

분명 위에서 useradd 명령은 홈 디렉토리를 따로 설정해줘야 된다고 말했지만 계정정보를 보면 홈디렉토리가 보인다.

하지만 실제로 홈 디렉토리를 가볼려고 하면 디렉토리가 없다고 표시된다.

$   cd /home/mirUseradd
-bash: cd: /home/mirUseradd: 그런 파일이나 디렉터리가 없습니다     

즉 설정된 홈디렉토리를 생성시켜주거나 다른 홈디렉토리를 생성하여 설정값을 바꿔줘야 한다.


4. /etc/shadow - 암호 정보 파일

- 사용자 인증에 필요한 암호 정보를 가지고 있다. cat 명령어로 내용을 살펴 보자.

$   cat /etc/shadow
[생략]...
miradduser:$6$..[생략]..vE.:16596:0:99999:7:::
mirUseradd:!:16595:0:99999:7:::

암호정보도 하나하나 분석해보자.

miradduser:$6$..[생략]..vE.:16596:0:99999:7:::

mirUseradd:!:16595:0:99999:7:::

- 사용자 계정을 표시한다.


miradduser:$6$..[생략]..vE.:16596:0:99999:7:::

mirUseradd:!:16595:0:99999:7:::

- 암호화 시킨 패스워드를 표시한다. (useradd명령어로 추가한 계정에는 패스워드가 없어서 !로 표시됨)


miradduser:$6$..[생략]..vE.:16596:0:99999:7:::

mirUseradd:!:16595:0:99999:7:::

- 1970년 1월 1일 기준으로 패스워드를 수정한 마지막 날짜를 계산하여 표시한다.


miradduser:$6$..[생략]..vE.:16596:0:99999:7:::

mirUseradd:!:16595:0:99999:7:::

- 패스워드를 변경하기위한 최소 사용일수를 표시한다.


miradduser:$6$..[생략]..vE.:16596:0:99999:7:::

mirUseradd:!:16595:0:99999:7:::

- 패스워드를 사용할수 있는 최대 사용일수를 표시한다.


miradduser:$6$..[생략]..vE.:16596:0:99999:7:::

mirUseradd:!:16595:0:99999:7:::

- 패스워드 만기일 전에 경고메세지를 몇일전 부터 알려줄지 표시한다.


miradduser:$6$..[생략]..vE.:16596:0:99999:7:(null)::

mirUseradd:!:16595:0:99999:7:(null)::

- 로그인 차단 일수를 표시한다. (현재는 아무런 정보가 없어서 임의로 null로 표시해주었다.)


miradduser:$6$..[생략]..vE.:16596:0:99999:7::(null):

mirUseradd:!:16595:0:99999:7::(null):

- 얼마간 로그인 차단을 시킬지 표시한다. (현재는 아무런 정보가 없어서 임의로 null로 표시해주었다.)


miradduser:$6$..[생략]..vE.:16596:0:99999:7:::(null)

mirUseradd:!:16595:0:99999:7:::(null)

- 현재는 사용되지 않는 정보이다.



5. usermod [옵션] [계정명]- 계정 수정

- 옵션과 계정명을 받아서 해당 계정을 옵션의 명령에 따라 처리 한다.

-c : [Comment] - 계정 Comment를 수정한다.

-d : [Home Diretory] - 계정 홈 디렉토리를 수정한다.

-e : [Expiredate] - 계정 만기 날짜를 수정한다. 

-L : [Lock User] - 사용자 계정을 잠근다.

-U : [Unlock] - 잠금처리되어 있는 계정을 풀어준다.

-h : [Help] - 명령어 옵션 설명을 표시해준다.


위 옵션이외의 많은 옵션이 있으며 -h를 이용하여 알아보는것도 좋다.


몇몇 명령어를 테스트 해볼겸 useradd로 생성시킨 계정에 Comment를 넣어보자.

$   usermod -c Comment_Test mirUseradd

확인은 /etc/passwd를 살펴보면 된다.

[생략]...
mirUseradd:x:1000:1000:Comment_Test:/home/mirUseradd:/bin/sh
miradduser:x:1002:1002:Mir,2000,0101111111,0102222222,test:/home/miradduser:/bin/bash

새로운 Comment가 추가된것을 확인할수 있다.


6. passwd [계정명] - 계정 암호 수정

- 계정 Password를 수정시 usermod -p를 사용하면 /etc/shadow를 직접 바꾸게 되기때문에 실제로 바꾼 Password로 로그인을 할수가 없다. 그래서 passwd 명령어를 사용하여 수정해주어야 한다.

$   passwd  mirUseradd
새 UNIX 암호 입력: 
새 UNIX 암호 재입력: 
passwd: password updated successfully

새 암호 입력후 확인을 위해 /etc/shadow를 살펴보자

[생략]...
mirUseradd:$6$Vx23FZI.$6pguZVI5T9oO7nVf7N7cURTqrPAvBj4nT.6LEuIY99fZJxvRabKNp3OuK4jc2TYeE/mE6nlKqy0e0ZXiMUhrs.:16596:0:99999:7:::
miradduser:$6$uqJt2OQg$ZZtpcfz7WMdvOx1gmDzlYEuM4l1vKNyF9.SdkqZwsNIw0z8kO50O8nNmB7fj.tOHmXbFdu9Ty0M1hv0brymZR0:16596:0:99999:7:::

위에서 살펴볼때는 아무 설정도 되어 있지 않았지만 현재는 암호화되어 Password가 들어가 있는것이 확인 된다.


7. deluser [계정명] - 계정 삭제

- 계정을 삭제하는 명령어이다. 

기본적으로 계정만 삭제되며 계정에 관련된 폴더, 파일을 삭제할려면 옵션을 주어야 한다.

$   deluser mirUseradd
$   deluser -remove-all-files miradduser

useradd로 추가한 계정은 어차피 계정 정보밖에 없으므로 옵션을 주지 않고 삭제하였고 

adduser로 추가한 계정은 홈디렉토리까지 삭제하기 위해 옵션을 주었다.

만약 옵션을 주지 않고 삭제한경우 홈디렉토리가 그대로 남아있는걸 확인할수 있다.

root@mirwebma001:~# ls /home
miradduser



리눅스 계정관리에 관한 기본적인 명령어를 살펴보았다.

다음번엔 리눅스 계정에 sudo 권한 부여에 대해 알아보겠다.


참고로 useradd로 계정을 생성할경우 다양한 옵션값으로 생성시 모든 정보를 입력할수도 있지만

특별한 경우가 아니면 adduser 명령어로 그냥 자동으로 생성되게 하는게 편한듯 하다.

'Ubuntu' 카테고리의 다른 글

[Ubuntu] 우분투 패키지 관리 - apt (Advanced Package Tool)  (0) 2015.05.25
[Ubuntu] PPA란?  (0) 2015.05.22

+ Recent posts