본문 바로가기
  • 반가워요 : )
전기기사/리눅스

[리눅스1] 리눅스 그룹, 계정 생성

by 교육의 기울기 2019. 1. 3.
반응형

-계정 구조도




· user  -useradd (계정 add)   


          -usermod (계정 modify) 


          -userdel  (계정delete)


                                                      


· gruop -groupadd


             -groupmod


             -groupdel


계정 생성은 /etc/login.defs 와 /etc/default/useradd 를 거쳐서 각 파일에 여러가지가 설정된다.




· /etc/login.defs : 계정,pw에 대한 기본설정파일




vi /etc/login.defs


15 MAIL_DIR        /var/spool/mail  → 메일함 저장위치.


25 PASS_MAX_DAYS   99999 → 패스워드 최대 사용일수.


26 PASS_MIN_DAYS   0 → 패스워드 최소 사용일수.


27 PASS_MIN_LEN    5 → 패스워드 최소 길이


28 PASS_WARN_AGE   7 → 패스워드 만료 경고일 (99992일에 만료 경고)


33 UID_MIN                   500 → 유저 아이디  사용가능 범위


34 UID_MAX                 60000 → 유저 아이디  사용가능 범위


39 GID_MIN                   500 →그룹 아이디  사용가능 범위  


40 GID_MAX                 60000 → 그룹 아이디  사용가능 범위


54 CREATE_HOME     yes → 홈 디렉토리 생성 여부


62 USERGROUPS_ENAB yes → 계정 삭제시 소속 그룹이 비어있을시 그룹 같이 삭제


65 ENCRYPT_METHOD SHA512  → 암호화 방법 (pw 암호화)




· /etc/default/useradd : useradd 에 들어있는 기본옵션 설정


vi /etc/default/useradd


GROUP=100   (=계정생성이 그룹지정 100→계정명과 동일한 그룹명/uid 와 동일한 gid 의 그룹생성이란 의미)


HOME=/home (= 홈디렉토리가 생성되는 위치 설정)


INACTIVE=-1 (=pass 만료시 처리 방법 '-1' :미지정 )


EXPIRE=         ( pw 만료일 )


SHELL=/bin/bash   ( 기본셸을 무엇으로 하는가)


SKEL=/etc/skel       ( 각 계정 홈디렉토리의 구성해야할것들 = 불러올곳 )


CREATE_MAIL_SPOOL=yes ( 메일저장함의 생성여부 )








① /etc/passwd  : 계정 정보 파일


34 heath:x:500:500:heath:/home/heath:/bin/bash 


   ( =계정명:무의미:UID:GID:계정설명:계정의 홈디렉토리 위치: 셸의 종류 )




② /etc/shadow : pw 정보파일



34heath:$6$5ST6WJX6$svnzIZuLAfGK62Nnk2Te7qf.YvyTV/Bt771PWw4mu.6TQtqygmzhhUKsTw37hGjtnvFiUogseb/GDLz3RPCu.:17733:0:99999:7:::


( = 계정명 : 암호화된 비밀번호 :pw생성일자(1990년 1월1일부터) : pw 최소사용일수 : pw 최대 사용일수 : pw 만료 경고 ):pw만료시처리방법(0=바로만료, 1=하루 연장):passwd만료일:




③ /etc/group : 그룹 정보파일


  58 heath:x:500: (=계정명 : 무의미 : GID : 그룹 구성원(보조그룹) )


④ /home/계정명 : 계정 홈 디렉토리


  

⑤ /var/spool/mail/계정명 : 계정 메일함

















● 그룹 생성, 수정, 삭제




① groupadd a1


② groupadd -g 701 g2  (g2라는 그룹에 701번의 그룹아이디 부여)


③ groupadd g3  ( GID가 702번으로 만들어진다.)


④ groupmod -g 700 a1 ( GID 수정 )


⑤ groupmod -g 701 a1 ( 이미 잇는 GID )


⑥ groupdel g3  ( g3 삭제 )


⑦ /etc/group 에 들어가서 수정, 삭제 가능




-기능 요약


g: 그룹아이디(GID) 변경




● 계정 생성, 수정, 삭제




First)) /export/home 만들기




① useradd user1  (user1 계정 생성)


     -/etc/passwd 계정정보파일


     -/etc/shadow 비번정보파일


     -/etc/group     그룹정보파일                     ←←←← 계정을 만듬으로서 확인해야 할것들


     -/home/user1 계정홈디렉토리


     -/var/spool/mail/user1 계정의 메일함






「========================


# useradd user1


# tail /etc/passwd /etc/shadow /etc/group | grep user1


user1:x:501:501::/home/user1:/bin/bash


user1:!!:17734:0:99999:7:::                           


user1:x:501:


 # ll /home /var/spool/mail


/home:


합계 26


drwxr-xr-x. 2 root  root   1024 2018-07-08 16:45 123


-rw-r--r--. 1 root  root      0 2018-07-08 16:52 3


drwxr-xr-x. 3 root  root   1024 2018-07-08 16:43 a


drwx------. 5 heath heath  1024 2018-07-08 15:11 heath


drwx------. 2 root  root  12288 2016-07-04 17:27 lost+found


drwxr-xr-x. 3 root  root   1024 2018-07-08 15:11 test


drwxr-xr-x. 3 root  root   1024 2018-07-08 16:44 test1


drwx------. 4 user1 user1  1024 2018-07-22 15:01 user1


합계 0


-rw-rw----. 1 heath mail 0 2016-07-04 17:46 heath


-rw-rw----. 1 rpc   mail 0 2016-07-04 17:30 rpc


-rw-rw----. 1 user1 mail 0 2018-07-22 15:01 user1


  ========================」




# passwd user1 (user1비번이 설정이 안 되어 있어 !!로 표기되므로 user1 비번변경)


# tail -1 /etc/shadow (변경됫는가 확인)


user1:$6$zaIo/9SW$h6Ua8WEr5U0Ryw6XZQ1GxS4OIHZPCOadDsGAmaY8zbFEfDeEj23oVGyQPQMgk7yyJvxms6DEWYroTI51E8gIx1:17734:0:99999:7::: (암호화 된 것 확인)




② useradd -u 510 user2 ( UID 지정 생성 ) 




③ useradd -g user1 user3 ( user3의 계정을 만들면서 user1의 그룹 사용하게 하는 옵션 )




④ useradd -G heath user4  ( -G 보조 그룹 지정 user4를 heath  )


     id [계정명] : 계정 정보 확인 (uid gid 확인 가능)




# id user4


uid=512(user4) gid=512(user4) groups=512(user4),500(heath)  user4의 보조그룹은 heath


# id heath


uid=500(heath) gid=500(heath) groups=500(heath)




⑤ useradd -c itbank user5 (user 5 의 계정설명을 itbank로 한다)




⑥ useradd -d /export/home/user6 user6 ( user6 디렉토리 경로를 바꾼다)


※ 주의


· useradd -d /export/home user7 (스켈기본정보를 안가져온다 계정을 생성할때 수정된 홈디렉토리에 이름을 안 넣어주면 shell 이 깨진다)


-


login as: user7


user7@192.168.1.191's password:


-bash-4.1$ asdf


 useradd -d /export/home/heath user8 ( 셸은 안깨지고 잘 구동이되나 자신의 홈디렉토리를 설정할때 경로 지정시 가급적 계정이름과 동일한  홈디렉토리명까지 기재해 줄것)




⑦ useradd -s /bin/ksh -d /export/home/user9 user9  ( 기본 셸을 콘셸로 바꾸어줌 )


※ skel : 계정생성시 같이 만들어지는 설정 파일이다. 이안에 디렉토리나 파일을 만들어 두면 계정이 생성될때 마다 같이 생성된다.


















--skel 파일과 user6의 홈디렉토리를 비교해보자---




# ls -al /etc/skel /export/home/user6   (숨김파일이 되어있어 옵션 a를 써주자)


/etc/skel:


합계 40


drwxr-xr-x.   4 root root  4096 2016-07-04 17:38 .


drwxr-xr-x. 119 root root 12288 2018-07-22 15:47 ..


-rw-r--r--.   1 root root    18 2016-05-11 08:21 .bash_logout


-rw-r--r--.   1 root root   176 2016-05-11 08:21 .bash_profile


-rw-r--r--.   1 root root   124 2016-05-11 08:21 .bashrc


drwxr-xr-x.   2 root root  4096 2010-11-12 10:04 .gnome2


-rw-r--r--.   1 root root   171 2016-05-11 08:36 .kshrc


drwxr-xr-x.   4 root root  409VI /6 2016-07-04 17:29 .mozilla


/export/home/user6:


합계 32


drwx------. 4 user6 user6 4096 2018-07-22 15:42 .


drwxr-xr-x. 5 root  root  4096 2018-07-22 15:47 ..


-rw-r--r--. 1 user6 user6   18 2016-05-11 08:21 .bash_logout


-rw-r--r--. 1 user6 user6  176 2016-05-11 08:21 .bash_profile


-rw-r--r--. 1 user6 user6  124 2016-05-11 08:21 .bashrc


drwxr-xr-x. 2 user6 user6 4096 2010-11-12 10:04 .gnome2


-rw-r--r--. 1 user6 user6  171 2016-05-11 08:36 .kshrc


drwxr-xr-x. 4 user6 user6 4096 2016-07-04 17:29 .mozilla


둘이 같은걸로 보아 잘 가져온것을 알수있다.


cp -r /etc/skel /skeltest  ( skel 파일을 skeltest로 복사해주자.)




useradd -m -k /skeltest user10        ( skeltest 에서 정보를 가져옴) **스켈지정은 일반사용자와 달리 특별한 사용자를 만들고자 할 때 사용된다. )






-기능요약-


u UID 변경


g 그룹 같이 사용하게 하기.


G 보조그룹 지정해주기


c 계정설명 해주기


d 홈디렉토리 경로 정해주기


s 기본셸바꾸기


mk 특정 스켈에서 계정정보 가져옴








●계정수정




① usermod -u 610 user1 


② usermod -g heath user1


③ usermod -G a1 user1


④ usermod -c student user1


⑤ usermod -s /bin/ksh user1


⑥ usermod -d /export/home/user1 user1


               mv /home/user1 /export/home/user1


⑦ usermod -d /home/user1 -m user1                 6번과 7번이 같은 효과




●계정삭제




useradd del1


useradd del2


① userdel del1     (=계정정지 ( 홈 디렉토리, 메일함 디렉토리에 남아잇다.=경로는 남아잇다 )


② userdel -r del2 (=계정 영구삭제)


/etc/








● useradd 없이 계정생성하기




① /etc/passwd


②/etc/shadow


③/etc/group


④/home/계정명


⑤/var/spool/mail/계정명   1~5번 까지 직접 수정하면 계정만들수 있음. 


⑥/etc/user/default/useradd  기본설정 변경가능


















==================================================================




-실전문제-


1. /etc/skel 디렉토리를 /testskel 라는 이름으로 복사하고


 /testskel 안에 test라는 디렉토리를 생성하세요


2. useradd 명령 한번만으로 다음 조건으로 계정을 생성하세요


계정명 : test12


UID : 600


계정설명 : heathtest


홈 디렉토리 경로 : /export/home


쉘 지정 : 콘쉘


skel : /testskel 


3. 기본 계정 생성 홈 디렉토리를 /export/home으로 


 기본 계정 생성 쉘을 콘쉘로 지정한 뒤 user1 이라는 계정을 만드세요


 (useradd 옵션 사용하지 말 것)


4. 기본 계정 생성 홈 디렉토리를 /home으로 


 기본 계정 생성 쉘을 배쉬쉘로 지정한 뒤 user2 이라는 계정을 만드세요


 (계정 생성 시 public_html 디렉토리가 홈디렉토리에 자동생성이 되도록 하세요)


    (hint => skel)


5. /export/home/user3 라는 디렉토리를 생성하세요




6. /export/home/user3 디렉토리를 삭제하지 말고


 홈 디렉토리가 /export/home/user3 인 계정 user3를 만드세요


 (user3 계정으로 접속 시, 쉘이 정상적으로 동작하도록 하세요)


반응형

댓글