강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
리눅스파워강좌. useradd –D 편
조회 : 5,160  


리눅스파워강좌.  useradd –D

 

 

 

 

 

 

 

-------------------                          ------------------

 

 

1 : useradd의 환경을 설정하는 “useradd -D”개론

2  : useradd의 실행환경 확인하기

3  : “useradd -D” /etc/default/useradd파일의 값을 변경한다.

4  : useradd로 새로생성되는 계정이 기본적으로 사용할 쉘 지정하기

5  : useradd로 새로생성되는 계정이 기본적으로 사용할 그룹 지정하기

6  : useradd로 새로 생성되는 사용자의 사용종료일 지정하기

7  : “useradd -D”로 변경된 값이 실제로 적용되는 예보기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

 

 

 

 

 

 

 

 

1 : useradd의 환경을 설정하는 “useradd -D”개론

 

이 명령어는 useradd 명령어의 일부분입니다.  하지만 필자가 useradd명령어와 "useradd -D"명령어를 굳이 구분하여 별도로 설명을 하는 것은 두명령어의 용도에 분명한 차이가 있기 때문이며, 구분하여 알고 있는 것이 실무적인 관점에서 더 큰 도움이 되기 때문입니다.

useradd -D 명령어는 useradd의 기본환경을 설정하는 명령어입니다.


, useradd로 생성되는 기본 홈디렉토리의 위치를 변경하거나, 기본그룹을 설정하거나, 기본유효일자를 지정하거나, 기본사용쉘을 지정하는 등의 설정을 할 수 있습니다.

, "useradd -D" useradd의 실행으로 설정되는 기본값들을 설정하는 명령어라고 할 수 있습니다.

 

파일의 관점에서 구체적으로 설명하자면, useradd가 실행될 때 홈디렉토리의 위치, 기본사용쉘, 기본그룹지정등의 설정을 하게 되는데 이 설정값이 /etc/default/useradd 라는 파일에 저장이 되어 있습니다. , 결론적으로 "useradd -D"는 이 파일의 값을 변경하여 useradd의 기본설정값이 바뀌도록 합니다.

 

사용형식

      useradd -D [-g 기본그룹] [-b 기본홈디렉토리] [-f default_inactive]
                 [-e  
기본계정종료일] [-s  기본사용쉘]

 

 


2 : useradd의 실행환경 확인하기

 

먼저 아무런 옵션없이 "useradd -D"라고만 하면 현재 설정된 값들을 보여줍니다.  , useradd가 실행되었을 때에 “useradd -D”의 결과로 확인되는 결과에 준하여 생성됩니다.  아래 결과를 보십시요.

 

[root@host3 root]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
[root@host3 root]#

 

이 결과는 /etc/default/useradd의 내용과 동일한 내용입니다. , "useradd -D" /etc/default/useradd"의 설정값을 바꾸는 역할을 합니다.

 

이 결과의 의미를 몇가지 말씀드린다면useradd로 새로운 계정이 생성되면  생성되는 사용자의 홈디렉토리는 /home내에 생성되며, 기본사용쉘은 /bin/bash이며 /etc/skel에 위치한 초기화파일들이 새로 생성되는 사용자의 홈디렉토리에 복사된다는 것등을 의미하고 있습니다.

 

 

 

3 : “useradd -D” /etc/default/useradd파일의 값을 변경한다.

 

"useradd -D" /etc/default/useradd 파일의 값을 변경하므로 먼저 /etc/default/useradd파일의 내용부터 살펴 보겠습니다.  앞서도 말씀드렸지만 "useradd -D"는 이 파일의 내용을 변경하여  useradd의 기본설정값이 바뀌도록 합니다.

 

먼저 /etc/default/useradd파일의 기본 내용입니다.

 

[root@host3 default]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
[root@host3 default]#

 

위에서 홈디렉토리의 기본위치가 /home으로 되어 있습니다.  이를 /usr로 변경하려면 다음과 같이 하면 됩니다.

 

[root@host3 default]# useradd -D -b /usr
[root@host3 default]#

 

변경한 다음 아래와 같이 변경된 내용을 확인한 것입니다.

 

[root@host3 default]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/usr
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
[root@host3 default]#

 

이렇게 변경이 된 후에는 useradd로 새로 생성되는 사용자(ID)들의 홈디렉토리는 /home/ID가 아니라 /usr/ID가 됩니다.  , sspark5라는 계정사용자가 useradd에 의해 생성이 되면(useradd sspark5), sspark5의 홈디렉토리는 /usr/sspark5가 됩니다.

 

 

 

 

4 : useradd로 새로생성되는 계정이 기본적으로 사용할 쉘 지정하기

 

useradd명령어로 새로운 사용자가 생성되면 기본적으로 사용하는 쉘은 /bin/bash입니다. 이는 리눅스 설치초기환경으로서 기본사항입니다.  하지만 useradd로 생성되는 모든 사용자들이 기본으로 사용할 쉘을 다른 쉘로 지정하고자 하신다면 다음과 같이 하면 됩니다. .

 

, useradd로 생성되는 새로운 사용자가 기본적으로 사용할 쉘을 지정하시려면 아래의 예처럼 “useradd -D” -s옵션을 사용하여 지정하시기 바랍니다.

 

[root@host3 default]# useradd -D -s /bin/csh
[root@host3 default]#


, 위의 예는 useradd로 생성되는 새로운 사용자의 기본쉘을 /bin/csh로 지정한 것입니다. 다음은 실행하고 난 후에 변경된 내용을 확인한 것입니다.

 

[root@host3 default]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/usr
INACTIVE=-1
EXPIRE=
SHELL=/bin/csh
SKEL=/etc/skel
[root@host3 default]#

 

기본 사용쉘이 /bin/bash에서 /bin/csh로 변경된 것을 확인하기 바랍니다. 이후부터는 useradd로 새롭게 생성되는 모든 계정들의 기본사용쉘은 /bin/csh가 됩니다.

 

 

 

5 : useradd로 새로생성되는 계정이 기본적으로 사용할 그룹 지정하기

리눅스에서 새로 생성되는 사용자들은 기본적으로 GID 100 users라는 그룹에 자동소속됩니다. 하지만, “useradd -D” -g옵션을 사용하여 GID를 지정하면 useradd로 생성되는 새로운 계정들의 소속될 초기그룹(initial group)을 변경하게 됩니다.

 

[root@host3 default]# useradd -D -g 500    
[root@host3 default]#

 

다음은 변경된 내용을 확인한 것입니다. 주의하실 것은 위에서 지정한 500이라는 GID는 반드시 존재하는 GID여야합니다.

 

위의 변경된 결과를 확인하기 위하여 아래와 같이 /etc/default/useradd파일을 확인하셔도 되지만 “useradd -D”로 확인하셔도 변경된 결과를 동일하게 확인할 수 있습니다.

 

[root@host3 default]# cat /etc/default/useradd
# useradd defaults file
GROUP=500
HOME=/usr
INACTIVE=-1
EXPIRE=
SHELL=/bin/csh
SKEL=/etc/skel
[root@host3 default]#

 

위의 결과에서 기본그룹의 GROUP값이 100에서 500으로 변경된 것을 볼 수 있습니다.

 

 

 

6 : useradd로 새로 생성되는 사용자의 사용종료일 지정하기

다음은 계정사용 종료일을 지정하는 예 입니다.  아래와 같이 "useradd -D"명령어에 -e옵션을 사용하여 "YYYY-MM-DD"형식으로 날짜를 입력하면 useradd로 새로 생성되는 사용자의 계정 사용종료일을 지정할 수 있습니다.

 

[root@host3 default]# useradd -D -e 2007-12-30
[root@host3 default]#

 

, 위의 명령 이후 부터는 useradd로 새로 생성되는 사용자들은 모두 2007 12 30일까지만 계정을 사용할 수 있습니다.  다음은 위의 결과를 확인한 것입니다.

 

[root@host3 default]# cat /etc/default/useradd
# useradd defaults file
GROUP=500
HOME=/usr
INACTIVE=-1
EXPIRE=2007-12-30
SHELL=/bin/csh
SKEL=/etc/skel
[root@host3 default]#

 

위의 결과를 보면 EXPIRE값이 "2007-12-30"으로 변경되어 있음을 알 수 있습니다.  이후로 생성되는 모든 계정들은 계정 사용종료일이 2007 12 30일까지로 설정됩니다.  참고로 “useradd -D”의 결과로도 동일한 값을 확인할 수 있습니다.

 

 

 

7 : “useradd -D”로 변경된 값이 실제로 적용되는 예보기

 

이번에는 지금까지 설정했던(useradd -D) 값들이 적용되는 것을 확인하기 위하여 useradd의 예를 보도록 하겠습니다.  , 이번 예는 지금까지의 설정(usreadd -D로 설정하였던 값)을 그대로 사용하는 것이므로 앞의 예와 함께 보셔야합니다. 다음과 같이 sspark5라는 계정을 useradd로 만들어 보겠습니다.

 

[root@host3 default]# useradd sspark5
[root@host3 default]#


sspark5
/etc/passwd내에 설정된 값입니다.  여기서 확인할 수 있는 바와 같이 UID GID, 홈디렉토리의 위치가 "/usr/sspark5"로 설정되었으며, 기본사용쉘이 "/bin/csh"라는 것을 알 수 있습니다.

 

[root@host3 default]# grep sspark5 /etc/passwd
sspark5:x:602:602::/usr/sspark5:/bin/csh
[root@host3 default]#


다음은 /etc/shadow 의 내용입니다.

 

[root@host3 default]# grep sspark5 /etc/shadow
sspark5:!!:12314:0:99999:7::12782:
[root@host3 default]#

 

sspark5 /etc/group파일에 설정된 내용입니다.

 

[root@host3 default]# grep sspark5 /etc/group
sspark5:x:602:
[root@host3 default]#


다음은 sspark5의 홈디렉토리인 /usr/sspark5를 확인한 것입니다.

 

[root@host3 default]# ls -al /usr/sspark5    
합계 32
drwx------    3 sspark5  sspark5      4096  9
19 14:34 .
drwxr-xr-x   16 root     root         4096  9
19 14:34 ..
-rw-r--r--    1 sspark5  sspark5        24  9
19 14:34 .bash_logout
-rw-r--r--    1 sspark5  sspark5       191  9
19 14:34 .bash_profile
-rw-r--r--    1 sspark5  sspark5       124  9
19 14:34 .bashrc
-rw-r--r--    1 sspark5  sspark5       854  9
19 14:34 .emacs
-rw-r--r--    1 sspark5  sspark5       120  9
19 14:34 .gtkrc
drwxr-xr-x    3 sspark5  sspark5      4096  9
19 14:34 .kde
[root@host3 default]#

 

이상과 같이 "useradd -D"는 계정생성명령어인 useradd의 기본설정값을 변경하는 명령어입니다. useradd 명령어와는 별도로 꼭 기억해 두기 바랍니다.

 

서두에서도 말씀드렸다시피 “useradd -D” useradd 명령어의 일부분입니다. 하지만 이 두가지는 반드시 구분하여 공부하시기 바랍니다.

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1359


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수