강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 기초명령어 강좌 제4편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스 기초명령어 강좌 제4편






--알림--

이 강좌는 리눅스 서버를 관리하고자하시는 분들을 위한 초급 강좌로서 리눅스서버관리에 꼭 필요한 기초 명령어들에 대한 강좌입니다. 모두 6편의 강좌로 구성된 연재강좌입니다.



























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




---- 목    차 ----

1. 서버접속의 몇가지 방법들

2. 로그아웃(logout)하기

3. whoami(자기 정보확인 1)

4. who am I (자기정보 확인 2)

5. id (자기정보 확인 3)

6. groups(그룹정보 확인)

7. finger(계정사용자 정보확인)

8. 홈디렉토리는

9. passwd (패스워드변경)

10. chsh (사용쉘 변경)

11. 리눅스서버의 정확한 시간설정법 : time server설정(rdate)

12. 명령어 히스토리기능

13. man(명령어 매뉴얼 및 도움말 얻기)

14. 쉘프롬프트에 전체경로 표시하기

15. 디렉토리 이동의 간편한 방법들

16. cp (파일이나 디렉토리 복사하기)

17. mkdir(디렉토리 만들기), rmdir (디렉토리 지우기)

18. chown , chgrp (소유권 및 그룹소유권 변경하기)

19. cat(파일 내용 확인)

20. cat응용 (여러개의 파일을 하나로 합치기)

21. head(파일의 앞부분 내용 확인방법)

22. tail (파일의 뒷부분 내용 확인방법)

23. find (특정 파일찾는 여러가지 기법들)

24. 특정 명령어 검색법(which, whatis, whereis)

25. sort (파일내용 정렬하기)

26. file (파일의 종류 확인하기)

27. du (디스크사용량 체크)

28. df (파일시스템 디스크사용량 점검)

29. touch (파일의 시간정보 변경)

30. useradd (사용자의 계정생성)

31. userdel (사용자의 계정삭제)

32. groupadd (그룹의 생성)

33. groupdel  (그룹의 삭제)

34. uptime (시스템 부하율점검)

35. top (시스템의 전체 운용상황 점검)

36. free (메모리 사용현황)

37. w (사용자 로그인정보와 현재 작업내용 확인 )

38. mount (마운트에 관하여)

39. tar (여러 개의 파일을 하나로 묶기)

40. compress, uncompress (압축명령어 compress)

41. gzip, gunzip (압축명령어 gzip)

42. tar와 gzip을 한번에

43. bzip2, bunzip2(압축명령어 bzip2)































30. useradd (사용자의 계정생성)

/etc/passwd 파일의 형식

ID:x:UID:GID:comment:홈디렉토리:쉘종류


서버관리자의 주된 업무중의 한가지가 사용자의 계정관리입니다. 사용자의 계정을 생성해 주거나 불필요하게 된 계정을 삭제하는 등의 일은 다음과 같은 명령어로 할 수 있습니다.

시스템에서 한 사용자를 생성한다는 의미는 수용되는 시스템에서 사용자가 사용할 수 있는 모든 설정들을 해줘야 하며 단순히 ID와 패스워드 생성외에도 다음과 같은 작업을 해야합니다.


① /etc/passwd 파일에 사용자의 계정(ID 및 패스워드)생성


② /etc/group파일에 사용자의 그룹생성


③ /home에 사용자의 홈디렉토리 생성


④ 사용자의 로그인정보 및 환경설정


⑤ 사용자의 디렉토리 및 파일 소유권 변경 및 확인


⑥ DB 사용을 위한 환경설정 및 응용프로그램사용을 위한 환경설정


⑦ 기타 응용 소프트웨어 사용을 위한 설정등


리눅스에서 새로운 사용자의 계정을 생성할 때는 useradd나 adduser라는 명령어를 사용합니다. useradd로 사용자를 생성할때는 다소 복잡한 과장을 거쳐서 작업이 되는데 시스템관리자라면 어떤 작업들이 이루어 지는가를 확실히 알고 있어야 합니다. 우선 useradd로 사용자를 생성해 보도록 합시다.


PIC88.gif


이 작업이 정상적으로 종료가 되면 아무런 메시지없이 쉘프롬프트가 나오며 작업의 결과 /etc/passwd파일에 계정등록과 /home/testuser의 홈디렉토리의 생성됩니다. 다음은 위의 작업결과의 내용을 확인한 것입니다.

 

PIC89.gif

그럼, 어떻게 이런 작업이 시스템 내부적으로 이루어 지는가에 대해서 자세히 알아보도록 하겠습니다.

useradd로 사용자 생성명령을 내리면 /etc/login.defs의 조건이 적용되어 /etc/default/useradd에 있는 기본값으로 사용자가 생성되며 /etc/skel디렉토리에 있는 내용들이 기본설정파일로 사용자의 홈디렉토리로 복사되어 들어가게 된다는 것입니다. 이 사실을 분명히 이해해야 합니다. 따라서 이 파일들의 변경을 통하여 useradd로 생성되는 기본값을 변경할 수도 있습니다. useradd로 생성되는 기본값의 확인은 다음과 같이 합니다.

 PIC8A.gif

GROUP=100 : GID
HOME=/home : 홈디렉토리의 위치
INACTIVE=-1
EXPIRE= : 계정종료 일자지정
SHELL=/bin/bash : 사용할 쉘지정
SKEL=/etc/skel : 복사될 내용지정

위와 같이 "useradd -D"란 명령어를 입력하면 /etc/default/useradd의 내용을 그대로 보여줍니다. 특히 마지막 라인에 있는 "SKEL=/etc/skel"은 사용자의 환경을 위해 /home/ID로 생성된 사용자의 홈디렉토리에 복사되어 집니다. 그 내용은 다음과 같습니다.

PIC8B.gif

또한 "useradd -D"의 내용을 변경할 수 있습니다.

PIC8C.gif

이 예는 useradd로 새로 생성되는 사용자의 홈디렉토리의 위치를 변경했으며 사용하게 될 쉘(Shell)을 C쉘로 변경하였습니다. 이후부터 생성되는 사용자의 홈디렉토리는 /user/student/ID가 될 것이며 사용쉘 또한 /bin/csh가 될 것입니다.

참고로 /etc/login.defs의 내용을 살펴보도록 하겠습니다.

MAIL_DIR/var/spool/mail : 메일 스풀디렉토리 지정
PASS_MAX_DAYS 99999 : 패스워드의 변경없이 사용할 수 있는 최대일자.
PASS_MIN_DAYS 0 : 패스워드의 변경없이 사용할 수 있는 최소일자.
PASS_MIN_LEN 5 : 패스워드 최소바이트 수
PASS_WARN_AGE 7 UID_MIN 500 : 새로 생성되는 사용자의 UID 시작번호
UID_MAX 60000 : 최대로 생성될 수 있는 UID개수, 즉 최대수용 사용자수
GID_MIN 500 : 새로 생성되는 그룹의 GID 시작번호
GID_MAX 60000 : 최대로 생성될 수 있는 GID개수.
CREATE_HOME yes : 홈디렉토리를 자동으로 생성할 것인가의 여부

이상으로 사용자의 생성에 대해서 알아보았습니다. 다소 이해가 어렵더라도 확실히 이해하고 넘어가야 할 부분입니다. 서버관리의 시작이 사용자의 계정생성 및 환경설정에서부터 출발한다고 할 수 있다는 측면에서 이에대한 이해 또한 무엇보다 중요하기 때문입니다.



31. userdel (사용자의 계정삭제)

시스템에서 사용자의 계정과 정보를 삭제할 때는 지금까지 작업되어 있는 사용자의 모든정보와 환경들을 모두 삭제해야 한다는 의미인데 이는 단순히 ID와 패스워드 및 홈디렉토리를 삭제한다는 의미를 넘어서 데이터베이스를 사용한 경우에는 이에 대한 정보도 함께 삭제를 해야하며 응용소프트웨어, 예를 들어 삼바같은 소프트웨어를 사용했다면 ID와 패스워드가 생성이 되어 있을 것이므로 이에 대한 정보들도 모두 삭제를 해줘야 합니다.

따라서 시스템에서 새로운사용자 삭제하는 작업은 생성하는 작업보다도 더 신중함을 요하며 효율적인 시스템사용과 관리를 위하여 삭제되는 사용자의 정보를 꼼꼼이 챙겨서 삭제되는 사용자 계정과 관련된 모든 설정(예, mail, domain, application등)을 삭제해 줘야 합니다.

그리고 잊지 말아야 할 것은 삭제를 하기전에 반드시 백업을 받아 두어야 한다는 것입니다. 가입해지를 했던 사용자가 자기의 홈페이지등을 백업해두지 않아서 서버관리자에게 복구를 요청하는 것은 상업적인 목적의 서비스용 서버를 운용해 본 경험이 있으신 분들은 아마도 한번 이상의 경험이 있으리라 생각합니다.

삭제하기 전에 반드시 백업을 염두에 두기 바랍니다. 사용자는 삭제할 때에는 다음과 같은 작업들을 해야합니다.

① /etc/passwd 파일에 사용자의 계정(ID 및 패스워드)삭제


② /etc/group파일에 사용자의 그룹삭제


③ /home에 사용자의 홈디렉토리 삭제


④ /var/spool/mail에서 사용자의 메일삭제


⑤ mysql, mSQL, oracle등 DB등에서 사용자의 ID 및 패스워드 삭제


⑥ 기타 응용 프로그램에서 사용자의 정보 삭제 다음의 예를 보십시오.



PIC8D.gif

/etc/passwd내의 사용자 정보(ID, Password등)가 삭제됩니다.

PIC8E.gif

/etc/passwd내 정보와 /home/testuser이하의 홈디렉토리까지 삭제됩니다.

또한 다음과 같이 스풀디렉토리에 있는 사용자의 메일도 삭제를 해야합니다.

PIC8F.gif


32. groupadd (그룹의 생성)

리눅스는 useradd로 사용자를 생성하면 ID와 같은 group ID를 생성하게 됩니다. /etc/group에는 그룹에 대한 전체적인 정보가 들어있는데 사용자가 생성되면서 ID와 같은 그룹ID가 생성되어 /etc/group파일에 추가등록됩니다.

이와는 달리 그룹ID만을 생성해야 할 필요가 있습니다. 즉 한 회사의 직원들을 과별로 그룹을 만들어 등록하려 할 때는 다음과 같이 그룹ID를 생성할 수 있습니다.

PIC90.gif

이 작업의 결과, 그룹ID를 확인하려면 /etc/group파일을 열어보면 맨 마지막에 다음과 같이 추가되어 있는 것을 볼 수 있습니다.

PIC91.gif

chongmu라는 그룹은 GID 5001로 생성이 되었으며 youngup이라는 그룹은 GID 5002로 생성이 되어있습니다.


33. groupdel  (그룹의 삭제)

groupdel이란 명령어로 다음과 같이 불필요한 그룹을 삭제할 수 있습니다.


PIC92.gif


결과 /etc/group내의 chongmu라는 그룹의 정보가 삭제됩니다. 삭제확인 또한 /etc/group파일 내에서 하실 수가 있습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  92 명