logo

  • 홈으로
  • 로그인
  • 회원가입
  • 화면축소
  • 화면확대
2019년 10월 20일
  • 포토누리
  • 제작의뢰
  • 포트폴리오
잡다한몽상백서 메인배너
로그인
조회 수 85673 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

사용자 추가

useradd -d /www/Hosting/test/  test //test라는 계정 생성

passwd test /계정명을 입력

passwd 입력 , 재확인 한번더..

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

사용자 삭제

userdel test

사용자의 패스워드를 입력및 변경하는 명령어이다.
패스워드는 리눅스서버의 일차적인 보안을 위해 반드시 설정해야한다.
많은사용자가 사용하는 서버에서는 가끔식 관리자의 실수로 인하여 패스워드가 설정되어 있지않은 계정이 존재하는 실수를 범할 수도 있다.

 

서버관리자는 계정을 생성한 후에는 반드시 패스워드를 생성해야한다.

아래와 같이 useradd로 bible2라는 계정사용자를 생성한 후에는 passwd라는 명령어로 bible2의 패스워드를 입력한다.

[root@host1 root]#
[root@host1 root]# useradd bible2
[root@host1 root]#
[root@host1 root]#
[root@host1 root]# passwd bible2
Changing password for user bible2.
New password: (새로운 패스워드 입력)
Retype new password: (새로운 패스워드 재입력)
passwd: all authentication tokens updated successfully.
[root@host1 root]#

위의 예와 같이 root는 일반계정사용자의 패스워드를 마음대로 변경할 수 있다.

하지만 일반계정사용자는 자기자신의 패스워드만을 변경할 수가 있으며 자기자신의 패스워드를 변경할 경우에도 기존의 사용중인 패스워드를 입력해야만 변경할 수 있다.


다음의 예는 bible이라는 사용자가 자기의 패스워드를 변경하는 예이다.

[bible2@host1 bible2]$ passwd
Changing password for user bible2.
Changing password for bible2
(current) UNIX password:  (기존의 패스워드입력)
New password: (새로운 패스워드 입력)
Retype new password: (새로운 패스워드 재입력)
passwd: all authentication tokens updated successfully.
[bible2@host1 bible2]$

cd /

cd /etc

vi passwd

키보드 i // insert 시키기위해

작성하고..

:wq // 저장하고 나옴.

 

userdel 명령어는 실행이 완료되어 있는상태입니다.

계정 삭제하실때는 해당 디렉터리는 삭제가 되지 않습니다.

userdel -r shin 이렇게 명령어 넣으시면 해당 사용 디렉터리도 같이 삭제 됩니다.

유저 삭제여부는 cat /etc/passwd | grep shin 으로 검색해 보시면 유저가 없는것을 확인하실수 있을 것입니다.

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

유저계정확인

cat /etc/shadow

 

 

    리눅스의 특징인 Multiaccess 와 Multitasking을 하기 위한 기본 시스템이 다중 사용자의 지원이다. 이런 특징으로 리눅스에서는 우리가 하이텔이나 나우누리 통신을 사용하듯이 login이라는 사용자 검증 절차를 거쳐서 시스템에 들어가게 됩니다. 이런 이유로 시스템을 사용할 때 특히, 시스템의 관리인으로서는 사용자 관리라는 점은 매우 중요한 업무입니다. 만약에 있을 수 있는 아이디 도용이나, 크랙킹에 대한 방지에 기본이 되는 중요한 일입니다.

     

1. 사용자 만들기

    사용자를 만드는 방법에 쓰이는 adduser 와  passwd 명령어의 사용방법에 대해서 간단히 이야기하고자 합니다. 우선은 사용 방법에 대해서 천천히 설명하도록 하겠습니다.

    1.1 사용자를 만드는 방법은 아주 간단합니다. 아래와 같이 adduser를 사용합니다.
     

    [root@enveng /root]#adduser wonshin[wonshin은 사용자명]


    Looking for first available UID... 523 <- 유저아이디 번호가 생깁니다.
    Looking for first available GID... 523 <- 그룹아이디 번호가 생깁니다.
    Adding login : I...done <- login 이 생성됩니다.
    Creating home directory : /home/wonshin...done.
                                         <- wonshin 사용자의 디렉토리가 /home/wonshin에 생깁니다.
    Creating mailbox : /var/spool/mail/wonshin... done
                               <- 메일 스풀이 생성됩니다.[이것이 있어야 메일을 받아요]
    Don't forget to set the password <- 친절하게도 passwd wonshin 이라고 쳐서 패스워드를
                                                        입력하라고 나오는군요.

     

    1.2 이제는 사용자의 패스워드를 지정해야 합니다. 명령어는 passwd를 사용하시면 됩니다.
     

    [root@enveng /root]# passwd wonshin
    New UNIX passward :


    BAD PASSWORD : it is too short <- 보안상 짧게 패스워드를 입력했다고 경고가 나오는군요
                                                       [참고 : 이런 경우에는 다시 입력을 하셔야 합니다.]
     

    Retype new UNIX password :


    passwd : all authentication tokens updated successfully
                  ->성공적으로 패스워드 입력이 되었다고 나오네요.

     

    1.3 중복사용자가 있을 때의 에러 메세지
     

    [root@enveng /root]adduser wonshin


    User wonshin already exists <- 이미 wonshin 이라는 사용자가 있다고 나오지요. 이러한 중복 사용자가 없겠지요?

     

2. /etc/passwd 란?

    앞의 내용처럼 adduser 와 passwd를 사용하시면 그 정보의 내용들이 /etc/passwd 파일에 저장이 되게 됩니다. 만드신 아이디로 login을 할 때 /etc/passwd 에 있는 계정의 검증을 거치게 됩니다.

     

    2.1 /etc/passwd 파일에 자세히 쓰여진 형식을 살펴보면
     

wonshin : wOp4kzPmabOJM : 523 : 523 : RHS Linux User : /home/wonshin : /bin/bash
사용자명 : 패스워드 : 유저아이디 : 그룹아이디 : 사용자 정보 :    디렉토리명    : 사용하는 쉘


        2.1.1  사용자 명

        일반적으로 ID 라고 부르는 것으로 사용자의 이름이 됩니다.

        login : 프롬프트에서 타이핑하는 것을 말합니다. 그리고 사용자 각각의 이름으로써
                  중복된 사용자가 나오면 알아서 에러 메시지를 보내주므로 옛날 유닉스같이
                  고민을 할 필요는 없습니다.

        2.1.2  패스워드

        6자 이상의 패스워드를 적어야 한다. 그렇지 않으면 패스워드 검사프로그램에 의해서 거절을 당하게 됩니다. wOp4kzPmabOJM 은 사용자가 정한 패스워드를 암호화하여서 나타난 문자입니다. 앞의 두 자리는 2자리는 2500개의 조합 중에서 무작위로 조합을 정해서 작성하게 되고 그 나머지 뒤에 있는 것은 사용자가 입력한 암호를 암호화한 것이지요. 하지만 이렇게 하여도 암호를 크랙킹 당하는 경우가 있습니다. wOp4kzPmabOJM을 거꾸로 돌려서 암호를 알아내는 것이지요. 만약 사용자가 일정한 단어나 숫자로 암호를 만들면.. 아주 쉽게 암호를 알아낼 수 가 있지요. 그래서 shadow 시스템을 사용하여서 아래와 같이
         

        => /etc/passwd
        wonshin : *: 523 : 523 : RHS
        Linux User : /home/wonshin : /bin/bash

         

        /etc/passwd 파일에는 패스워드 자리에 *를 사용하고 대신에 /etc/shadow 에 wOp4kzPmabOJM을 넣어두는 방식을 사용하기도 합니다.

        참고 : login 과정을 이해할 필요가 있습니다.
        1. 먼저 getty 가 실행이 되어서 login : 이라고 나온다.
        2. 사용자명과 패스워드를 입력하면 그것을 받아서 /etc/passwd 파일과 대조한다.
        3. 맞으면 shall을 실행한다.

        ▶ Tip
        => 패스워드 없이 로긴시키려면 아래와 같이 하면 됩니다.
         

        wonshin::523:523:RHS Linux User:/home/wonshin:/bin/bash


        => 특정한 사용자의 사용을 잠시 막으려면 아래와 같이 패스워드 자리에 '*' 문자를
             하나 추가하세요.
         

        wonshin:wOp4kzPmabOJM*:523:523:RHS Linux User:/home/wonshin :/bin/bash


        나중에 허용하려면 *을 빼 버리시면 됩니다.

        2.1.3  유저 아이디[UID]

        사용자 개개인마다 붙는 고유의 아이디입니다.
        이것을 이용하면 사용자 설정에서 아이디를 사용하는 번거로움을 덜 수 있습니다.

        2.1.4  그룹 아이디[GID]

        유저 아이디와 같은 개념의 방식입니다.

        2.1.5  사용자 정보
         

        [root@enveng /etc]# chfn wonshin
        Changing finger information for wonshin.
        Name [] : 신영진


        Control characters are not allowed.
        <- 허용할 수가 없다는군요. 영어로 쓰면 괜찮습니다.  
         

        Name [] : <- 실제이름
        Office [] : <- 사무실
        Office Phone [] : <- 사무실 전화번호
        Home Phone [] : <- 전화번호

        Finger information changed.


        [root@enveng wonshin]# vi passwd
           <- 즉 한글을 사용하시고 싶으면 한글환경에서 에디터하세요. 한텀같은 것을
                말합니다.
        wonshin:wOp4kzPmabOJM:523:523:RHS Linux User:/home/wonshin :/bin/bash
           <- 여기서 커서를 RHS Linux User 에 R 에 멈추고 나서 x 버튼을 누르면 하나씩
                지워집니다.
        wonshin:wOp4kzPmabOJM:523:523::/home/wonshin :/bin/bash 
           <- 그럼 여기서 RHS Linux User 까지 지우시고 나서 다시 i 버튼을 누르면 맨 끝에
                -insert- 라는 메시지와 함께 입력이 됩니다.
        wonshin:wOp4kzPmabOJM :523:523:신영진:/home/wonshin :/bin/bash 
           <- 원하시는 한글을 쓰세요.
        wonshin:wOp4kzPmabOJM:523:523:신영진,사무실,사무실전화번호,집전화번호:/home/wonshin :/bin/bash
           <- 쉼표하시고 위에 보는 바와 같이 입력하시면 됩니다.
           <- 그리고 나서 Shift+: 를 누르시면 아래에 : 라고 나옵니다. 여기에 wq를 하시고
                나오세요.

        참고로 제가 root 가 아니더라도 자기 자신의 프로필 정도는 고칠 수 있습니다.
         

        [wonshin@enveng]#chfn
        Changing finger information for wonshin.
        Password : <- 패스워드를 입력하세요.
        Name [] : 신영진
        Control characters are not allowed.
                       <- 허용할 수가 없다는군요. 영어로 쓰면 괜찮습니다.
        Name [] : <- 실제이름
        Office [] : <- 사무실
        Office Phone [] : <- 사무실 전화번호
        Home Phone [] : <- 전화번호

        Finger information changed.
        [wonshin@enveng]# 

         

        2.1.6  디렉토리

        이것은 사용자가 접속을 하고 나서 바로 보이는 자신만의 디렉토리를 지정해 주는 것입니다. 원한다면 사용자의 디렉토리를 다시 지정해 줄 수도 있습니다. 보통 RedHat 에서는 /home 으로 되어 있습니다. 먼저 vi 에디터를 이용해서 편집을 하세요.

        [root@enveng /etc]# vi passwd
           <- 만약 /home/wonshin을 /usr1/wonshin으로 바꾸어 주었다고 하면
        wonshin:wOp4kzPmabOJM:523:523:신영진,실험실,211-2345,234-344 :/home/wonshin :/bin/bash
           <- 여기서 커서를 /home/wonshin 에 멈추고 나서 x 버튼을 누르면 하나씩
                지워집니다.
        wonshin:wOp4kzPmabOJM:523:523:신영진,실험실,211-2345,234-344::/bin/bash
           <- 그럼 여기까지 지우시고 나서 다시 i 버튼을 누르면 맨 끝에 -insert- 라는
                메시지와 함께 입력이 됩니다.
        wonshin:wOp4kzPmabOJM:523:523:신영진,실험실,211-2345,234-344 :/usr1/wonshin :/bin/bash
           <- 그리고 나서 Shift+: 를 누르시면 아래에 : 라고 나옵니다. 여기에 wq를 하시고
                나오세요.
         

        [root@envneg /etc]#mkdir /usr1/wonshin
        [root@envneg /etc]#chmod 701 /usr1/wonshin 
        [root@envneg /etc]#chown wonshin /usr1/wonshin
        [root@envneg /etc]#chgrp wonshin /usr1/wonshin
         

        이부분을 해줘야 알ftp로 접속해서 해당 폴더에 파일을 업로드 할 수 있다.

        2.1.7  쉘

        이 명령어 자리에 쉘을 정해주는 것 말고도 다른 명령어를 얼마든지 정해 주실 수가 있습니다. 보통 이 명령어를 쉘만 지정하는 것으로 알고 있는 사용자가 많지만 마치 윈도우 95에서 보듯이 프로그램을 시작할 때 시작 프로그램에 등록하면 프로그램이 시작하자마자 뜨는 것과 같은 효과를 합니다. 여기에다가 쉘 명령어 말고도 다른 명령어를 사용하셔서 login 가 동시에 작동하게 할 수가 있습니다. 사실 말이야 바른 말이지 window 제품을 보면 유닉스를 닮은 것이 참 많지요.

        하지만 보통 쉘을 쓰니까 설명하자면 쉘은 위에서 같이 /bin/bash를 사용하셔도 무방합니다.

        프로그래밍을 할 때나 C 언어에 기초가 있으면 /bin/csh 로 바꾸는 것도 좋지요.
         

        [root@envneg /etc]#chsh wonshin
        Changing shell for wonshin 
        New shell [/bin/csh] : /bin/csh
        Shell changed.


        물론 자신도 바꿀 수 있지요.

         

       2.2 이렇게 사용자에 대한 관리는 /etc/passwd 파일에 저장이 됩니다.

          2.2.1 /etc/passwd를 한번 살펴보면 아래와 같습니다.
           

        [root@envneg /etc]#cat /etc/passwd
        root:yikdldldbUDfMI:0:0:root:/root:/bin/bash
        admin:L0J2d;d;qA:0:0:root:/home/admin:/bin/bash
        bin:*:1:1:bin:/bin:
        daemon:*:2:2:daemon:/sbin:
        adm:*:3:4:adm:/var/adm:
        Ip:*:4:7:Ip:/var/spool/Ipd:
        sync:*:5:0:sync:/sbin:/bin/sync
        shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
        halt:*:7:0:halt:/sbin:/sbin/halt
        mail:*:8:12:mail:/var/spool/mail:
        news:*:9:13:news:/var/spool/news:
        uucp:*:10:14:uucp:/var/spool/uucp:
        operator:*:11:0:operator:/root:
        games:*:12:100:games:/usr/games:
        gopher:*:13:30:gopher:/usr/lib/gopher-data:
        ftp:*:14:50:FTP User:/home/ftp:
        nobody:*:99:99:Nobody:/:
        beginend:leddfdTlw4l:500:500:Seoung-cho An:/home/beginend:/bin/bash
        sun:/0Hxj2dddOfLo:501:501:최고다:/home/sun:/binbash
        smusso33:pGN48585ylc6:504:504:박승국:/home/smusso33:/bin/bash
        soil:bH7D3g0493Y/I:505:505:정영도:/home/soil:/bin/bash
        js9545:7H15868U.T1lM:506:506:이정식:/home/js9545l:/bin/bash
        bsmin:GLn48568aJE:507:507:민병수:/home/bsmin:/bin/bash
        king:jjZxtQO2paXCs:508:508:이정민:/home/king:/bin/bash
        romeo:VFBJW9BCwVqrE:509:509:신설우:/home/romeol:/bin/bash
        mskim:uIJ7oo8ByAJsM:510:510:김만수:/home/mskim:/bin/bash
        zeroscan:uzmqbTtRQKgKg:511:511:김인성:/home/zeroscan:/bin/bash
        paladin:BUFnA7bzS46f2:512:512:Zippo Brand:/home/paladin:/bin/bash
        jhlee:zMRQn0CMy32:513:513:이정훈:/home/jhlee:/bin/bash
        jayou:8rEc99D97NQ:514:514:최범식:/home/jayou:/bin/bash
        profile:LKw6Gq733FM:515:515:이상우:/home/profile:/bin/bash
        jykim:4jVkB13ARCXE:516:516:김재용:/home/jykim:/bin/bash
        mummy:XDVIUZQIna6:517:517:한미라:/home/mummy:/bin/bash
        event:0EWmxowWMOY:518:518:홍은희:/home/event:/bin/bash
        dragon:Eh4Z4mxoRA:519:519:김태열:/home/dragon:/bin/bash
        liebe629:hthdddX5Oc1r2:520:520:류인구:/home/liebe629:/bin/bash
        pschoi:Po6X06C8HaeHw:521:521:최범식:/home/pschoi:/bin/bash
        beb:MaPLT5lhd.UWQ:522:522:변의복:/home/beb:/bin/bash
        wonshin:wOp4kzPmabOJM:523:523:RHS Linux User:/home/wonshin:/bin/bash 

             

        3. 관리하기

          3.1  login 없이 사용자 바꾸기

          su 명령어를 사용하여서 보통 이런 일들을 처리하게 됩니다. 일반적으로 리눅스 사용자들의 일반적인 문제들을 보면... 항상 모든 일을 root 로 처리한다는 것입니다. root 라는 계정은 모든 일을 할 수가 있습니다. 시스템을 향상되고 올바르게 할 수도 있지만 시스템을 완전히 고철로 만드는 역할도 할 수 있습니다. 그렇기 때문에 아무리 관리자라도 별도의 개인 아이디를 사용하고 시스템에 특정한 일을 할 때만 su 명령어를 사용하여서 처리해야 합니다.

          [wonshin@enveng /wonshin]#su <= root 로 계정을 바꾸어 보겠습니다.
          passwd : <= root 의 암호를 입력하세요.
          [root@enveng /wonshin# <= 이제 루트가 된 것입니다.
          [root@enveng /wonshin]# exit <= 이렇게 하면 다시 wonshin 이 됩니다.

          root 가 아닌 다른 사용자로 바꾸려면 su 다음에 이용하고자 하는 사용자 아이디를 입력하면 됩니다. root에서 바꾸면 passwd를 물어보지 않습니다. haremoon 로 계정을 바꾸어 보겠습니다.
           

          [wonshin@enveng/wonshin]#su haremoon
          passwd
          [haremoon@enveng /wonshin]#whoami
          haremoon


          -c 옵션을 이용하면 login 할 필요없이 하고자 하는 일을 처리할 수 있습니다.
           

          [wonshin@enveng/wonshin]#su root -c "rm -f /root/howto.txt"

           

          3.2  sudo

          sudo라는 명령어를 사용하셔도 무방합니다. 이 명령어를 사용하시면 보다 간단하게 여러 가지를 사용할 수가 있다고 합니다. 저는 별로 사용하지 않지만 먼저 설정이 필요합니다.

          [root@enveng /root]#vi /etc/sudoers <= root 여야 합니다.
          wonshin ALL=/sbin/shutdoun, /sbin/adduser <= 항상 패스명을 다 붙이는 것을 잊지 마세요.
           

          [wonshin@enveng/wonshin]#sudo shutdoun

           

        4. 그룹

          그룹을 만드는 이유는 여러 가지입니다. 메일을 보낼 때, 사용자들을 분리할 때, 보안등급을 정할 때 등등 그룹으로 인해서 여러 가지 일들을 한번에 처리할 수도 있고, 관리에 편함을 추구할 수 있는 잇점이 있습니다. 즉, 89학번, 90학번, 91학번 순으로 그룹을 만들어 사용자들으로 그룹에 속하게 만들어서 여러 번 할 일들을 한번에 효율적으로 처리할 수 있습니다.

           

          4.1  그룹 형식

          그룹의 형식은 아래와 같습니다.
           

          group : password : GID : user_list


          그룹명 : 패스워드 : 그룹아이디 : 그룹에 속한 사용자명

          만약 패스워드를 정하였다면 newgrp 이라는 명령어를 사용하여 그 그룹의 권한을 얻을 수 있습니다.
           

          [root@enveng /root]cat /etc/group
          root :: 0 : root
          bin :: 1 : root,bin,daemon
          daemon :: 2 : root,bin,daemon
          sys :: 3 : root,bin,adm
          adm :: 4 : root,adm,daemon
          tty :: 5 :
          disk :: 6 : root
               < 생략 >
          dip :: 40 :
          ftp :: 50 :
          nobody :: 99 :
          users :: 100 : beginend,admin,sun,wonshin,haremoon,smusso33,soil, js9545,bsmin,king,romeo,mskim,zeroscan,paladin,jhlee,jayou,profile,jykim, mummy,event,dragon,delpast,liebe629,pschoi,beb,ssnam,won

           

          Tip

          그리고 또한 root 의 그룹 아이디가 0 이지요? 만약에 시스템 관리자가 여러 명이거나 외부에서 로긴할 수 있는 관리등급을 주고 싶으시면 GID를 root 와 같이 주면 사용자의 패스워드나 보안수준이 비슷해지지요.
           

          [root@enveng /root]cat /etc/passwd
          root:y/iK0GbbUMI:0:0:/root:/root:/bin/bash
          admin:L0J2N3rXihA:0:0:root:/home/admin:/bin/bash


        List of Articles
        번호 제목 글쓴이 날짜 조회 수
        공지 서버체크 똑띠 2015.07.17 164
        공지 서버에 sendmail 설치 4 똑띠 2008.10.06 28640
        공지 리눅스 로그파일 관리 [로그파일 삭제하는 방법] 1 똑띠 2008.02.22 46640
        공지 계정추가 및 dns셋팅 순서 똑띠 2007.02.26 33997
        96 ★시스템 명령어인 netstat 를 사용하는 방법 file 똑띠 2008.02.26 191864
        » 리눅스 사용자 추가 및 삭제 방법 똑띠 2006.11.16 85673
        94 vsftpd 설정하기 똑띠 2008.03.30 65878
        93 httpd.conf 에 대한 설명 똑띠 2008.02.28 41458
        92 리눅스 dns서버 설정 똑띠 2008.07.13 41216
        91 로그에 대한 설명 똑띠 2008.02.28 31339
        90 아파치 error_log 에서 client denied by server configuration 에러가 날때(403 에러남) 똑띠 2008.02.23 27680
        89 리눅스 파일 및 폴더 관리 2 똑띠 2006.11.21 27035
        88 mysql -v // mysql버전확인 똑띠 2006.11.21 26933
        87 네임서버 named.conf 파일과 zone파일 체크 방법 똑띠 2008.08.24 26214
        86 리눅스 계정내에서 특정폴더 용량 확인 하는 방법 똑띠 2008.05.31 25976
        85 리눅스 iptables 중지하고자 할때... 2 똑띠 2007.08.14 25629
        84 Nobody 폴더/파일 삭제 [퍼미션문제] 똑띠 2007.01.24 25301
        83 root 사용자가 일반사용자 계정으로 전환하려면.. 1 똑띠 2006.11.21 24408
        82 [서버보안] portsentry를 이용한 실시간 해킹 방어 5 여초 2007.12.03 24130
        81 서버에 호스팅 계정 생성과 도메인 연결 6 똑띠 2008.06.04 23595
        80 서버의 메모리 현황 체크하기 똑띠 2008.02.28 23082
        Board Pagination ‹ Prev 1 2 3 4 5 Next ›
        / 5

        나눔글꼴 설치 안내


        이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

        이 사이트를 나눔글꼴로 보기 위해서는
        나눔글꼴을 설치해야 합니다.

        설치 취소

        Sketchbook5, 스케치북5

        Sketchbook5, 스케치북5

        Sketchbook5, 스케치북5

        Sketchbook5, 스케치북5

      • Designed by jobdahan.net