** CentOS 최초설치시, 자동실행되는 서비스는 빨간색으로 표시하였습니다 **

NetworkManager 

-> 자동으로 최상의 유효한 연결들을 스위칭.

NetworkManagerDispatcher 
-> NetworkManager데몬이 네트워크 상태를 변경할 때 
   자동으로 스크립트들을 실행하여 처리하는 데몬.

acpid 
-> Advanced Configuration and Power Interface 의 약자로 커널로부터 ACPI(전력 관리 규약)이벤트를 받아서 
처리.

anacron 
-> 제 시간에 실행하지 못하고 남겨진 cron작업을 실행하는 데몬

apmd 
-> 배터리 상태를 모니터링 & 로그기록을 남기며 부족하면 종료시키는 기능을 가진 데몬 
    한마디로 노트북 종류에서의 전원 관련 데몬. 
    배터리를 사용하는 시스템이 아니라면 disable.

atd 
-> at 명령어를 통해 예약 작업관리를 할 수 있도록 하는 데몬.( cron  )

auditd 
-> 커널에 의해 생성된 검사레코드를 저장. SELinux가 이벤트들을 기록하기 위해 audit 데몬을 사용. 
    SELinux나 기타 로깅 서비스가 활성화 되어 있다면 enable을 권장.

autofs 
-> USB와 같은 이동식 파일시스템을 자동으로 마운트하는 데몬.

avahi-daemon & avahi-dnsconfd 
-> 'zeroconf' 수행. 
   (사람의 설정 없이 자동으로 네트워크 구성이 완료되어 인터넷 접속을 가능하게 하는 기법) 
   로컬 네트워크에서 DNS서버 없이 장치와 서비스를 탐지하는데 유용함. 
   호환되는 장치나 서비스가 없으면 불필요한 데몬.

bluetooth 
-> 블루투스와 관련된 검색, 인증, HID(키보드, 마우스와 같은 장비를 지원하기 위한 기능)등을 서비스. 
    블루투스를 사용하지 않는다면 disable

conman 
-> 콘솔 관리 지원 서비스. 다수의 콘솔 장치와 동시 접속자에 대한 서비스 기능을 지님. 
     로컬 시리얼 장치들과 리모트 터미널 서버들을 지원. 
     여러대의 서버를 운영한다면 enable을 권장.

cpuspeed 
-> 동적으로 CPU속도(or 주파수)를 전원절약 및 최적의 시스템을 위해 합리적으로 조절하는 데몬.

crond 
-> 예약을 통해 자동으로 작업을 실행 하도록 하는 데몬. 

cups & cups-config-daemon 
-> Common UNIX Printing System의 약자로서 프린트(문서출력) 관련 데몬. 
     프린트 서비스를 이용하지 않으면 disable.

dhcdbd 
-> DHCP Client D-Bus Daemon. 
   컴퓨터의 네트워킹 장비를 제어하기 위해, dhclient에게 D-Bus 인터페이스를 제공하고 NetworkManager 데몬이 
dhclient를 쿼리 및 제어. 
    D-Bus는  message bus system. 쉽게 말해 서로 다른 응용프로그램 간의 대화의 수단. 
    NetworkManager나 DHCP 데몬을 사용하고 있는 경우 enable을 권장. 
   다른 네트워크 사이의 스위칭이 필요한경우 enable 을 권장. 
   수동 IP나 DHCP를 사용하지 않는다면 disable.

dhcpd 
->  DHCP (Dynamic Host Control Protocol) Daemon. 
     동적 IP주소 할당 서버를 구동하지 않는다면 disable.

diskdump 
-> 기존의 시스템이 충돌했을때 dump파일을 저장하고 diskdump 모듈을 초기화.

dund 
-> 블루투스 관련 데몬으로서 dund는 Dial-Up-Networking Daemon의 약자이다. 
    블루투스 기능을 사용하지 않으면 disable.

firstboot 
-> 초기 설정 유틸리티 스크립트이다. 
    설치진행 후에 처음으로 부팅시 시스템에 의해 실행된다. 
    /etc/sysconfig/firstboot 가 새로 생성되고. 
    firstboot 데몬이 부팅할 때 마다 /etc/sysconfig/firstboot 파일을 확인하고. 
    존재하지 않고, 변경되지 않는한 firstboot데몬은 실행되지 않는다. 
    disable 권장.

gpm 
-> 텍스트 콘솔상에서 마우스포인터를 지원해주는 데몬. 따라서 런레벨 3에서만 enable을 권장. 
   ( 런레벨 5(그래픽환경)에서는 disable 권장 )

haldaemon 
-> 하드웨어 모니터링 시스템 데몬.  방대한 종류의 하드웨어와 마운트 가능한 미디어를 자동으로 인식. 
    새 하드웨어나 교체된 하드웨어의 정보를 수집한다. 

hidd 
-> 블루투스 관련 서비스로서 키보드나 마우스등의 입력장치 지원을 제공. 
     블루투스 기능을 사용하지 않는다면 disable.

hplip & hpiod & hpssd 
-> 리눅스에서 HP 계열의 프린터를 지원해주는 데몬. 
    호환되는 장치가 없다면 disable.

httpd 
-> HTTP 웹 서버 데몬. 
    웹 서버를 구동하지 않는다면 disable로 설정.

ibmasm 
->"IBM Advanced System Management" 
    IBM 시스템 관리 드라이버들을 설정하는데 필요한 툴을 포함하는 데몬.

ip6tables 
-> IPv6 통신을 위한 방화벽 서비스. IPv6를 사용하지 않으면 disable로 설정해도 됨.

iptables 
-> 리눅스 소프트웨어의 표준 방화벽 서비스. 
   인터넷에 연결되는 모든 시스템에 enable 설정을 권장.

irda 
-> 적외선 장치들간의 통신을 지원해주는 서비스. 사용하지 않는다면 disable 설정.

irqbalance 
-> 듀얼 코어 이상의 CPU에서의 수행능력을 증가시켜주는 데몬. 
   싱글코어 CPU에서는 enable를 해도 영향이 없음.

isdn 
-> ISDN 연결용 하드웨어 지원 및 서비스. 
     ISDN modem을 사용하지 않으면 disable.

kudzu 
-> 하드웨어 교체 여부를 검사해서 임의로 구성해주는 서비스. 
   필요에 따라 enable 또는 disable.

lisa 
-> LAN Information Server 데몬. 
     호스트 정보를 KDE LAN Browser로 보내고 LAN Browser는 
     네트워크상의 사용가능한 공유정보를 그래픽환경으로 접근할 수 있게 한다. 
     윈도우의 네크워크 환경과 같은 기능을 제공하는 데몬. 
     Samba와 NFS 사용자들에게는 그다지 필요없는 기능. 
     disable 권장.

lm_sensors 
-> 마더보드 센서 값이나 노트북 또는 고급서버들의 특정 하드웨어를 모니터링 해주는 서비스. 
   실시간으로 PC Health 등과 같은 정보를 볼 수 있게 한다.

mcstrans 
-> SELinux를 이용할때 올바른 문맥의 정보를 볼 수 있게 하는데 필요한 서비스. 
   SELinux를 사용하지 않는다면 disable.

mdmonitor 
-> RAID나 LVM 정보를 모니터링 하는데 유용한 데몬. 중요한 서비스는 아니다.

mdmpd 
-> 다중 경로 장치를 모니터링하고 관리하기 위한 서비스.

messagebus 
-> 리눅스를 위한 IPC(Interprocess Communication) 서비스. 
   이 서비스는 D-Bus와 중요한 구성 요소들과 통신하므로 
   enable을 권장.

microcode_ctl 
-> Intel IA32 processor 를 위한 마이크로코드(펌웨어와 비슷) 유틸리티. 
    IA32는 Intel Architecture 32bit의 약자이며 
    IA32 processor는 32bit 체계의 CPU. 
    즉, 인텔 계열의 3bit CPU를 위한 마이크로코드 유틸리티.

mysqld 
-> MySQL 데이터베이스 관련 서비스.

named 
-> DNS(Domain Name Server)관련 서비스. 
     DNS서버를 구동한다면 enable.

netdump 
->커널 충돌 발생시 oops 메세지와 물리적 메모리 덤프를 
    netdump-server가 구동되고 있는 서버 장비로 보내는 서비스. 
    GDB(GNU Project Debugger)와 커널 이미지를 사용해 
    위에서 발생한 문제를 디버그하는데 사용될 수 있다.

netfs 
->부팅시에 NFS, Samba 등 과 관련한 공유된 네트워크 파일 공간을 자동으로 마운트 시키는데 사용되는 서비스. 
  공유 관련 서비스를 사용하지 않는다면 disable.

netplugd 
-> 네트워크 인터페이스를 모니터링하고 상태 변경시 각종 명령들을 수행을 하는 서비스. 
   필요없다면 disable.

network 
-> 부팅시에 모든 네트워크 인터페이스를 시작하도록  설정하는 데몬. 
     인터넷에 연결하는 시스템은 반드시 enable.

nfs & nfslock 
-> Unix/Linux/BSD 계열의 운영체제들 사이에서 네트워크 파일을 공유할때 쓰이는 서비스. 
   NFS 공유를 사용하지 않는다면 disable.

nscd 
-> 이름 서비스 요청을 위한 캐쉬를 제공해준다. 
    프로그램을 실행하기 위해 암호와 그룹 등을 조사하고 그 결과를 다음 쿼리를 위해 저장한다. 
    NIS와 LDAP와 같은 서비스 요청에서 속도 향상을 가져 올 수 있다.

pand 
-> 블루투스관련 데몬으로 이더넷 네트워크상의 연결을 허용시키는 역할을 함. 
     블루투스 기능을 사용하지 않는다면 disable.

pcscd 
-> 스마트카드와 스마트카드 리더를 지원하는 서비스. 
     스마트 카드를 쓰지 않는다면 disable.

portmap 
-> portmapper 데몬으로서  RPC(remote procedure call) 연결을 관리한다. 
     ( NFS and NIS 관련 )

psacct 
-> Process Accounting의 약자로서 
     모든 사용자들이 수행하는 명령어 및 동적 프로세스의 기록을 남기고 
     그것들을 추적할 수 있게 하는 데몬.      

rdisc 
-> Router Discovery 데몬. 
     클라이언트 측면에서의 ICMP router discover 프로토콜 서비스를 수행한다. 
     부팅시에 디폴트 라우트를 포함한 라우팅 테이블을 위치시키기 위해 요청된다.

readahead_early & readahead_later 
-> 시동시 속도를 향상시키기 위해 응용프로그램을 메모리에 할당하는 서비스. 
   빠른 부팅을 위한다면 enable.  

restorecond 
-> SELinux에서의 모니터링과 올바른 파일 문맥을 복원해주는 서비스. 
   SELinux를 사용하지 않는다면 disable.

rpcgssd & rpcidmapd & rpcsvcgssd 
-> NFS v4를 위한 서비스. NFS v4를 필요로하지 않거나 사용하지 않는다면 disable.

saslauthd 
->  SASL 라이브러리를 대표하여 인증 요청들을 조정하는 데몬. 
     슈퍼유저권한의 모든 코드 요청을 하나의 프로세스로 떼어놓고 
     그것을 이용해 클라이언트에게 대리 인증을 제공하는데 쓰인다. 
       *SASL(Simple Authentication and Security Layer) :: 
        인터넷 프로토콜들의 인증과 데이터 보안을 위한 프레임워크. 
sendmail 
-> 메일 서버 데몬. 
   sendmail로 메일 서버를 사용하지 않는다면 disable.

smartd 
-> SMART (Self-Monitoring, Analysis and Reporting Technology)의 약자. 
      디스크 모니링을 하고 disk failer또는 하드디스크의 문제를 예측하는 서비스이다.

smb 
-> Samba 서비스. 리눅스와 윈도우즈 간의 파일 공유에 필요한 데몬. 
    Samba 서비스를 이용하지 않는다면 disable.

snmpd 
-> SNMP(Simple Network Management Protocol) 데몬. 
     시스템의 네트워킹 상태를 모니터링하고 관리하는 데몬. 
     SNMP 요청 패킷에 응답하는 역할을 함. 
     네트워크 모니터링 툴을 사용하지 않으면 disable.

snmptrapd 
-> SNMP(Simple Network Management Protocol) TRAP 데몬 
    SNMP의 응용 데몬이며 SNMP TRAP message를 받고 기록한다 
     Trap message : 특정 상황을 서버로 보고하기 위한 메세지. 
     SNMP 서비스를 사용하지 않으면 disable.

spamassassin 
-> 텍스트 분석을 사용하여 스팸인지를 확인하는 메일 필터 서비스. 
     메일 서비스를 사용하지 않는다면 disable.

squid 
-> 프록시 서버 데몬. 
    프로시 서버를 구동하지 않는다면 disable.

sshd 
-> 다른 시스템에서 원격 텍스트 환경으로 서버를 접속할 수 있게하는 데몬. 
     telnet과 비슷하지만 암호화의 장점을 지님. 
     원격 접속을 사용하지 않는다면 disable.

syslog 
-> 여러가지 데몬들로부터 생성된 시스템 이벤트 기록을 로그파일에 저장하는데 사용하는 데몬.

vncserver 
-> 원격 접속으로 그래픽 환경의 관리를 할 수 있게 하는 데몬. 
     원격 접속을 사용하지 않는다면 disable.

winbind 
-> Samba의 한부분을 차지하는 데몬이며, 윈도우 도메인 유저를  
    유닉스기반의 유닉스 유저처럼 사용하는 것을 가능하게 한다. 
     Samba 서비스를 이용하지 않는다면 disable.

xinted 
-> Extended Internet services daemon의 약자. 
    네트워크와 연관된 데몬들을 요구에 의해 실행 하는 슈퍼데몬.

ypbind 
-> NIS/yp 클라이언트를 실행하고 정보를 묶어서 NIS 도메인으로 보내는 서비스. 
     yp는 yellow page의 약자로 
    전화번호부의 노란페이지와 같은 개념의 
    인터넷의 사이트 목록을 분야별로 정리해 놓은 자료들의 NIS디렉토리이다. 
    NIS 를 사용하지 않으면 disable.

yum-updatesd 

-> 소프트웨어 업데이트를 체크하고 메일 또는 syslog 메세지로 통지하거나 
     자동으로 업데이트를 설치하는 서비스.

'Linux' 카테고리의 다른 글

CentOS 설치  (0) 2010.05.26
기본 명령어 part Ⅱ , 권한  (0) 2009.06.14
기본 명령어 part I  (0) 2009.06.14
그룹 관리  (0) 2009.06.14
사용자 계정 생성 방법  (0) 2009.06.14

'Linux' 카테고리의 다른 글

리눅스 서비스 정보  (0) 2010.05.26
기본 명령어 part Ⅱ , 권한  (0) 2009.06.14
기본 명령어 part I  (0) 2009.06.14
그룹 관리  (0) 2009.06.14
사용자 계정 생성 방법  (0) 2009.06.14

흠... 권한에 대해서 좀 끄적여보려구요...

 

그에 앞서 ... 리눅스에 로그인 후 괜히 한번 쳐보고 시작한다는 ls 에 대해서 알아봅시다... ㅡㅡ;

 

[neckbs@ant ~]$ ls -l
합계 182124
drwxrwxr-x  6 neckbs neckbs      4096  3월 24  2007 Backup
-rw-rw-r--  1 ajax   ajax     7106560  4월 16  2007 Complete.tar
drwxr-xr-x  2 neckbs neckbs      4096  3월 22  2006 Desktop
-rw-r--r--  1 neckbs neckbs  22225238 12월 15  2006 OCU 몸캠사진.zip
-rw-r--r--  1 neckbs neckbs 156874626 10월 10 17:41 Starcraft.zip
drwxrwxr-x  2 neckbs neckbs      4096  7월 18  2006 book
drwxrwxr-x  2 neckbs neckbs      4096  1월 21  2007 c++
drwxrwxr-x  2 root   root        4096  9월  5 19:57 capture
-rwxrwxr-x  1 neckbs neckbs      7358  1월  8  2007 client
drwxrwxr-x  2 neckbs neckbs      4096  9월 18  2006 java
-rw-rw-r--  1 neckbs neckbs      3041 10월 25  2006 neckcli.c
-rw-rw-r--  1 neckbs neckbs      7245 10월 25  2006 neckser.c
drwxrwxr-x  2 neckbs neckbs      4096  2월 27  2007 network
drwxr-xr-x 15 neckbs neckbs      4096  9월 17 05:19 public_html
-rwxrwxr-x  1 neckbs neckbs     10476  1월  8  2007 server
drwxrwxr-x  3 neckbs neckbs      4096  8월 25 22:12 socket
drwxrwxr-x  3 neckbs neckbs      4096  9월  5 19:53 system
drwxrwxr-x  3 neckbs neckbs      4096 10월 10 06:32 test

ㅡㅡ 헐... 저의 홈에서 ls -l 을 한 결과입니다... 뭐 이리 많아?? 뭐 아무튼 저기에서 자세히 알아볼것은

 

drwxrwxrwx 이 부분이죠.... ㅎ

 

 

1. ls 명령어

 

drwxrwxr-x      3         neckbs     neckbs      4096           9월  5 19:53        system

 [권한설명]    [링크수]  [소유자명]   [그룹명]    [파일크기]     [마지막 변경시간]  [파일명]

 

입니다... ㅡㅡㅋ

 

하나씩 보자면...

 

링크수는 링크수를 말합니다...   링크에 관한것도 나름 기니까 다음이시간에 ... ㅋ

 

뭐 그 외에는 특별히 설명할 부분이 없군요 소유자명과 그룹명은 해당 파일을 소유한 사용자와 그룹을 보여주는 부분입니다.

 

 

2. 권한에 대해서...

 

권한 부분이 어떻게 구성되는지 부터 알아봅시다..

 

-   r w x   r w x   r w x  이렇게 10개의 알파벳으로 구성이 됩니다... 혹은 - 이거 요... ㅋ

 

맨 앞에 - 는 이 파일의 유형, 성격을 나타냅니다..

 

l 이면 소프트링크 파일 d 라면 디렉토리 - 라면 그냥 파일 b 는 블록 디바이스, c 는 문자 디바이스 라는 뜻입니다.. 그외엔 없죠... 아마도.. ㅋ

 

그 이후에 9개의  r w x 세트는 하나씩

 

r w x    r w x    r w x

사용자    그룹   다른사람

 

이라는 뜻입니다.. (R)ead, (W)rite, e(X)ecute 라는 걸로... 사용자의 읽기 쓰기 실행 권한 , 그룹 , 그외에 기타등등의 권한을 보여줍니다

 

예를 들면

 

-  r w x  r - x  r - - 라는 권한이 있다면

 

일반파일이고 사용자는 읽기 쓰기 실행 모두 가능하며 그룹은 읽기 실행은 가능하지만 쓰기가 안됨. 그리고 그 외 사람들은 읽기만 가능이라는 뜻입니다.

 

특별히 어렵지 않죠.. 권한은.. ㅋ

 

 

3. chmod

 

chmod 라는 명령어로 이 권한을 바꿀 수 있습니다. 단! 그 파일을 바꿀 권한이 될 경우죠... 그 파일의 소유자이거나 루트.. 뭐 그런식으로요

 

자 처음에 파일을 하나 임의로 제가 만들었습니다. 파일이름은 testmod 권한은 user는 rw group은 rw other는 r 이군요...

[neckbs@ant ~]$ ls -l testmod                
-rw-rw-r-- 1 neckbs neckbs 0 10월 19 15:37 testmod

 

밑의 명령어의 설명은 (U)ser+x(실행권한) (G)roup-w(쓰기권한), (Other)+x(실행권한) 이란 뜻입니다.. +는 더한다.. -는 뺀다는 뜻이죠 ㅎ
[neckbs@ant ~]$
chmod u+x,g-w,o+x testmod

[neckbs@ant ~]$ ls -l testmod
-rwxr--r-x 1 neckbs neckbs 0 10월 19 15:37 testmod

 

위의 명령어에는 여러가지를 한번에 바꾸었지만 밑에서는 한번만 사용도 해봅시다.. (O)ther-x(실행권한)을 삭제하겠단 뜻입니다
[neckbs@ant ~]$ chmod o-x testmod
[neckbs@ant ~]$ ls -l testmod
-rwxr--r-- 1 neckbs neckbs 0 10월 19 15:37 testmod

 

여기서 a-w 는 (A)ll 이죠.. 모두 user,group,other 모두에게 같이 설정하겠다는 뜻입니다.. 결과 모두에게 w 권한이 사라집니다.
[neckbs@ant ~]$ chmod a-w testmod
[neckbs@ant ~]$ ls -l testmod
-r-xr--r-- 1 neckbs neckbs 0 10월 19 15:37 testmod

이런 방법이 있구요

 

그리고 또 숫자를 이용한 방법이 있습니다.. ㅋ

 

r 은 4

w 는 2

x 는 1 입니다.... ㅋ 이걸로 더하고 빼서 만드는거죠

 

만약에

 

rwx 라는 권한은 r+w+x=7  7 입니다.

 

r-x 라는 권한은 r+x=5 죠... ㅋ 뭐 이런식으로...

 

-wx 는 w+x=3 이구요... 이런식으로 권한을 줍니다.. 그러니까

 

위의 예저 3개 753 을 이용해서 설정을 하면 rwx r-x -wx 가 나옵니다

 

[neckbs@ant ~]$ chmod 753 testmod
[neckbs@ant ~]$ ls -l testmod
-rwxr-x-wx 1 neckbs neckbs 0 10월 19 15:37 testmod

결과에서 보듯이 753 에서 7 5 3 각각이 순서대로 user group other 을 가리킵니다.

 

[neckbs@ant ~]$ chmod 740 testmod
[neckbs@ant ~]$ ls -l testmod
-rwxr----- 1 neckbs neckbs 0 10월 19 15:37 testmod

 

여기에선 0 을 사용해 봤는데 0이면 아무것도 없죠 ㅎ 이런식으로 사용합니다...

 

 

처음에는 익숙해지면 숫자를 이용하는 방법이 더 쓰기 편합니다.... ㅋ 뭐 저는 그랬어요

 

하지만 오래 사용을 하다보니.. 기존의 파일에서 변화를 조금 주고 싶다면 위의 + - 방식을 사용하면 편하구요

 

파일의 권한을 일괄적으로 설정한다거나 뭐 그럴땐 숫자가 편해요... 항상 똑같이 바꿔주거든요

 

어떤 느낌이냐면... 흠... + - 는 상대적, 숫자는 절대적 이라는 느낌이죠... ㅋㅋㅋ

 

 

4. 그 외의 권한...

 

SetUID, SetGID, sTicky bit 라는 것들도 있습니다.. 그 외에... ㅋㅋ

 

[neckbs@ant ~]$ chmod 7777 testmod
[neckbs@ant ~]$ ls -l testmod
-rwsrwsrwt 1 neckbs neckbs 0 10월 19 15:37 testmod

자 위를 보시면 7777 이 있는데 이건 777 앞에 7 하나가 더 붙은겁니다.

 

 보시면 조금 다른게 user group other 의 실행권한 자리에 x 가 아닌 s, s, t 가 붙어있죠...

 

이건 뭐냐면 ㅎ  길게 안하고 이건 간단히 하죠 ㅎㅎ

 

SetUID 란 user 자리에 붙은 저 s 를 말하는거구요.. 이 파일을 실행하는 누구든지 그 해당 파일의 사용자의 권한을 가지게 됩니다..

 

단지 실행하는 동안만이죠 ㅎㅎ 보안상의 문제가 생길수도 있지만 꼭 필요한 경우도 있습니다 ㅎ

 

SetGID 란 group 자리에 붙은 저 s 를 말합니다. 이 파일을 실행하는 동안은 누구든지 해당 그룹의 권한을 가지게 됩니다. ㅋ

 

간단하죠 ㅋㅋㅋ 너무 어렵진 않아요 ㅋ

 

 

자.. 그럼 이걸 어디에 쓰느냐....

 

[neckbs@ant ~]$ ls -l /usr/bin/passwd
-r-s--x--x 1 root root 21944  2월 12  2006 /usr/bin/passwd

 

이걸 보시면 passwㅇ 파일에 s 가 붙었군요 위치로 보아 SetUID (아.. 읽을땐 셋유저아이디 라고 하나? ㅋ 전 그렇게 한답니다)

 

저희가 평소에 passwd 를 이용해서 자기의 비번을 바꿀 수있죠.. 자.. 생각해보면 ㅋ 비밀번호를 바꾸는 권한은 오직 root 뿐입니다..

 

그 와중에 자기가 자기 비밀번호를 바꾸는건 저 SetUID 때문이죠 passwd 를 실행하는 동안 자신은 root 가 되어서 자기의 비번을 바꿀 수있습니다

 

 

그리고 t 는 뭐냐... 이건 스티키 비트라고 하는건데

 

모든 사용자가 파일을 쓸 수있지만 자기가 쓴 파일이외에는 삭제가 불가능합니다. 물론 이건 디렉토리에 걸어두죠 ㅋ

 

그 해당 디렉토리에 걸어두면 개개인의 사용자가 파일은 올리지만, 자기것이 아니면 지울 수 없다는것이죠.. 물론 받을 수는 있습니다 ㅋ

 

자 .. 이건 어디에 쓰느냐.. FTP 서버에서 주로 쓰죠... 공용 디렉토리를 만들고 사용자들이 막 올리고 다운받고 다만 .. 다른사람이 올린 파일은

 

자기가 삭제할 수 없다... 유용한 부분입니다 ㅎㅎ

 

아.. 그리고 이것들의 설정방법은 SetUID 4 , SetGID 2, sTicky bit 1 입니다.. 숫자로 해도 되구요 ㅋㅋ

 

u+s 뭐 이런걸로도 가능합니다..

 

 

5. 권한에 대한....

 

권한은 항상 신경을 써야합니다....

 

파일을 설정하다가 실수로 권한 하나 잘못설정해도 보안에 구멍이 나는거구요...

 

자신의 중요한 정보같은것이 빼어나갈 수 있습니다.. 조심해야죠 ㅋㅋ

 

셋유저아이디, 셋그룹아이디는 조심합시다 ㅋㅋ 요즘엔 거의 힘들다고는 그러지만

 

예전에 해커스랩(ㅎㅎ)에서 잠시 놀때는 이걸로 뚫는 문제가 하나인가 있었던걸로 기억하네요 ㅋㅋㅋ 조심하세요!!!

'Linux' 카테고리의 다른 글

리눅스 서비스 정보  (0) 2010.05.26
CentOS 설치  (0) 2010.05.26
기본 명령어 part I  (0) 2009.06.14
그룹 관리  (0) 2009.06.14
사용자 계정 생성 방법  (0) 2009.06.14

간단한 명령어 몇개 알고 가죠....ㅋ

 

첫번째는.. ifconfig

 

[root@ant/root]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:C0:26:5A:F8:4E
          inet addr:203.241.228.73  Bcast:203.241.228.255  Mask:255.255.255.0
          inet6 addr: fe80::2c0:26ff:fe5a:f84e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:37654855 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5745120 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3013172373 (2.8 GiB)  TX bytes:644157493 (614.3 MiB)
          Interrupt:185 Base address:0xa000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:10061 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10061 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:422592 (412.6 KiB)  TX bytes:422592 (412.6 KiB)

ifconfig 라는 명령어로 ip 설정 사항 과 netmask, mac address 등을 알 수 있습니다.

 

eth0 은 첫번째 이더넷 카드 (랜카드)

lo 는 로컬이라는 뜻입니다...

 

흠 자세한 내용은 저도 잘 모르지만

 

eth0      Link encap:Ethernet  HWaddr 00:C0:26:5A:F8:4E (맥 어드레스)
          inet addr:203.241.228.73(아이피 주소)  Bcast:203.241.228.255(브로드 캐스트)  Mask:255.255.255.0(넷 마스크)

뭐 이정도랑 밑에는 옵션 정도예요 up 은 사용 가능상태이다 뭐 등등 그런거죠... ㅋㅋㅋ

 

사용법은 어렵진 않지만 우선 이렇게 정보를 알아내는 것만 알아도 오케이..

 

 

자.. 두번째...

 

[root@ant/root]# route
Kernel IP routing table
Destination     Gateway         Genmask           Flags  Metric Ref    Use  Iface
203.241.228.0   *                   255.255.255.0   U       0        0        0    eth0
169.254.0.0       *                  255.255.0.0       U       0        0        0    eth0
default         route228.inje.a  0.0.0.0              UG     0        0        0    eth0

route 라는 명령어 입니다.

 

routing table 을 보여줍니다. 이 명령어로 설정도 가능하죠... 하지만 여기선 알아보는 것만 ㅋㅋㅋ

 

사용법이 궁금하시면 man 페이지를 이용하도록 합시다 ㅋㅋㅋㅋㅋ

 

 

세번째는 hostname

 

[root@ant/root]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=ant

이 파일을 바꾸어도 HOSTNAME=ant 라는 부분이죠... 바뀌어집니다... ㅋ

 

그리고

 

[root@ant/root]# hostname
ant

라고 하면 그냥 호스트네임을 말해줍니다.

 

그리고

 

[root@ant/root]# hostname XXX


라고 하면 호스트 네임이 XXX 로 바뀝니다... ㅋ 설정은 재부팅이 일어난 이후에 다시 적용됩니다.


'Linux' 카테고리의 다른 글

CentOS 설치  (0) 2010.05.26
기본 명령어 part Ⅱ , 권한  (0) 2009.06.14
그룹 관리  (0) 2009.06.14
사용자 계정 생성 방법  (0) 2009.06.14
리눅스 부트로더 (GRUB)  (0) 2009.06.14

그룹을 만들고 삭제하는 방법에 대해서 알아보아요... ㅋ

 

이번건... 간단하군요... ㅡㅡ;;;

 

 

1. 그룹(Group) 이란??

 

여러 사용자를 동일한 작업권한을 가질 수 있는 하나의 그룹으로 묶는 것입니다.

 

어떤 디렉토리나 파일을 사용자 하나 하나를 다른 권한을 각각 부여할 수는 없습니다. 그래서

 

그룹으로 묶어서 권한을 설정하게 되면 그 그룹의 사용자들은 그 권한을 이용해서 작업을 할 수 있습니다.

 

그리고.. 뭐 묶어서 관리하기도 편하구요.. 관리자 입장에서 ㅎ

 

 

2. 그룹 생성

 

groupadd 라는 명령어를 사용합니다...

 

[root@ant/root]# groupadd
Usage: groupadd [options] group

Options:
  -f, --force           force exit with success status if the specified
                                group already exists
  -r,                   create system account
  -g, --gid GID         use GID for the new group
  -h, --help                    display this help message and exit
  -K, --key KEY=VALUE           overrides /etc/login.defs defaults
  -o, --non-unique              allow create group with duplicate
                                (non-unique) GID
[root@ant/root]#

자 이게... 옵션이죠... 뭐 다 필요한건 아닌거 같고.... 사용법만 알아봅시다..

 

[root@ant/root]# groupadd testgroup                       // 그룹을 추가하는 명령어로 testgroup 라는 그룹을 생성합니다.

[root@ant/root]# cat /etc/group | grep testgroup     // /etc/group(그룹에 대한정보를 가진 파일)에 testgroup 라는 이름을 찾습니다.
testgroup:x:524:

위와 같은 명령어면 그룹이 생성되죠... 간단합니다.

 

옵션을 하나 하나 살펴볼 필요는 사실 없을 것 같네요.... 대부분 사용도지 않는 옵션들이고..(저한테는... 쿨럭...)

 

-g 옵션을 이용해서 그룹 id 를 원하는걸로 지정할 수는 있지만...

 

그다지 효율성이 좋다고는 뭐라고 할 수없군요..

 

[root@ant/root]# groupadd -g 600 testgroup2


[root@ant/root]# cat /etc/group | grep testgroup
testgroup:x:524:
testgroup2:x:600:

위의 내용은 설명이 없어도... 머... ㅎ 넘어가겠습니다...

 

 

3. 그룹삭제

 

groupdel 이라는 명령어를 사용합니다. 혹은.... /etc/group 라는 파일을 편집해서 해당하는 그룹을 삭제해 주시면 됩니다. ㅋ

 

[root@ant/root]# cat /etc/group | grep testgroup
testgroup:x:524:
testgroup2:x:600:


[root@ant/root]# groupdel testgroup                       // 그룹 삭제 명령어를 이용해서 testgroup 라는 그룹을 삭제합니다.


[root@ant/root]# cat /etc/group | grep testgroup
testgroup2:x:600:

 

4. 후기....

 

아... 정말 쓰고보니... 그닥 내용이 없다는... 그냥 글 잘 쓰는 사람은 몇줄이면 되겠군요.. 간단히... ㅡㅡ;;;;

 

뭐 암튼 하고 싶은 말은 그룹관리는 중요하다는 것이죠... ;;;; 중요합니다... ㅋ 진짜루요.. ㅋ


'Linux' 카테고리의 다른 글

기본 명령어 part Ⅱ , 권한  (0) 2009.06.14
기본 명령어 part I  (0) 2009.06.14
사용자 계정 생성 방법  (0) 2009.06.14
리눅스 부트로더 (GRUB)  (0) 2009.06.14
PHP 설치!!!...... APM(3/3)  (0) 2009.06.14

사용자 계정을 만드는 방법에 대해서 알아보자.. ㅋ

 

당연히 사용자 계정을 만들 수 있는 권한이라면 root 가 가지고 있고, 다른 권한으로는

 

계정을 새로 만들 수 없다.

 

1. 계정 만들기 명령

 

명령어는 useradd 이다.

 

adduser 라는 파일로도 링크가 되어 있다.

 

개인적으로 계정 삭제는 userdel 이고 기억하기 쉽게 하려고 저는 useradd, userdel 이런식으로

 

항상 사용합니다. (기억할 필요까진 없죠.. 필요하면 찾아보면 되니까.. 하지만 좀 기본적인거라 ㅋ)

 

[root@ant/root]# useradd
Usage: useradd [options] LOGIN

Options:
  -b, --base-dir BASE_DIR       base directory for the new user account
                                             home directory
  -c, --comment COMMENT      set the GECOS field for the new user account
  -d, --home-dir HOME_DIR      home directory for the new user account
  -D, --defaults                        print or save modified default useradd
                                             configuration
  -e, --expiredate EXPIRE_DATE   set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE              set password inactive after expiration
                                                to INACTIVE
  -g, --gid GROUP                    force use GROUP for the new user account
  -G, --groups GROUPS            list of supplementary groups for the new
                                              user account
  -h, --help                              display this help message and exit
  -k, --skel SKEL_DIR                specify an alternative skel directory
  -K, --key KEY=VALUE              overrides /etc/login.defs defaults
  -m, --create-home                   create home directory for the new user
                                               account
  -l,                                          do not add user to lastlog database file
  -M,                                        do not create user's home directory(overrides /etc/login.defs)
  -r,                                          create system account
  -o, --non-unique                     allow create user with duplicate
                                                (non-unique) UID
  -p, --password PASSWORD      use encrypted password for the new user
                                                account
  -s, --shell SHELL                     the login shell for the new user account
  -u, --uid UID                            force use the UID for the new user account
[root@ant/root]#

좀 무식하지만 그다지 길지 않아서(?) 그냥 그대로 붙여넣었는데, 하나씩 알아보도록 하자..

 

 

2. useradd 사용방법

 

사용하는 방법을 우선 알아봅시다. 간단합니다.. ;;;;

 

[root@ant/root]# useradd testuser      // testuser 라는 사용자를 생성하는 명령


[root@ant/root]# cat /etc/passwd | grep testuser      // 사용자 정보가 기록되는 /etc/passwd
testuser:x:524:524::/home/testuser:/bin/bash            // 파일 내에서 testuser 정보를 찾음

[root@ant/root]#

위처럼 그냥 생성하는 방법은 간단하죠 ..

 

자 그럼 옵션을 필요한 부분에 있어서 대붑분 사용한 예를 알아봅시다..

 

[root@ant/home]# useradd -m -d /home/testuser2 -u 600 -g neckbs -s /bin/bash -c test_user_2 testuser2

[root@ant/root]# cat /etc/passwd | grep testuser

testuser:x:524:524::/home/testuser:/bin/bash
testuser2:x:600:501:test_user_2:/home/testuser2:/bin/bash


[root@ant/root]#

옵션에 대해서 하나씩 알아봅시다

 

-m   설정한 디렉토리를 (Make)만드는 옵션입니다. 주의할 점은 /A/B/C 라고 만들때, B 가 만들어져 있지 않다면 계정생성이 실패합니다. 주의하세요

 

-M   설정한 디렉토리를 만들지 않습니다!!!!! -m 과 -M 조심하세요.. 분명히 다른겁니다...

 

-d /home/testuser2   홈 Directory(디렉토리) 설정부분입니다. 자기가 원하는 위치에 지정을 합니다.

 

-u 600   User id 를 설정하는 부분입니다. userid는 일반적으로 500번 이상을 이용합니다.

 

-g neckbs   neckbs 라는 Group(그룹)에 소속된 계정으로 만듭니다. 그룹설정 해두시는 부분이 편합니다.

 

-s /bin/bash   Shell 을 설정하는 부분입니다... 리눅스는 대부분? bash 쓰죠.. 이 부분에서 공백같은 부분 조심하세요 중간에 공백을 주거나 하게 되면 문제가 생기기도 합니다.

 

-c test_user_2   사용자의 Comment(설명)을 설정합니다. test_user_2 라고 유저 설명을 합니다.

 

 

3. /etc/passwd

 

[root@ant/root]# cat /etc/passwd | grep testuser

testuser:x:524:524::/home/testuser:/bin/bash
testuser2:x:600:501:test_user_2:/home/testuser2:/bin/bash

 

자 이제 passwd 파일에 대해서 조금 알아봅시다.

 

이 파일에는 사용자의 정보가 모두 기록됩니다. 자 하나하나 설명해볼게요...

 

passwd 파일은 모두 7개의 필드로 이루어집니다.

 

testuser2   :       x      :   600     :     501    : test_user_2 : /home/testuser2 : /bin/bash

사용자계정 : 비밀번호 : User Id : Group Id :   Comment   :  Home Directory  : Shell

 

이렇게 나누어 집니다. gid(Group Id) 501 번은 만들때 설정한 neckbs 라는 그룹이 501번입니다.

 

그 외에는 만들면서 설정했던 모든 부분들입니다.

 

비밀번호 x 부분은.. 흠 여기서 설명하진 않고, /etc/shadow 파일안에 암호화되어 있다고만 할게요.

 

 

4. 사용자 계정 삭제

 

userdel 을 사용합니다. 이건 간단하죠 ㅋ

 

[root@ant/home]# userdel testuser


[root@ant/home]# cat /etc/passwd | grep testuser
testuser2:x:600:501:test_user_2:/home/testuser2:/bin/bash


[root@ant/home]#

이렇게 삭제하면 되죠.. 하지만 이렇게 하면 문제점(?) 이라기 보다는... 남는게 있죠

 

사용자가 사용하던 자신의 홈 디렉토리는 삭제되지 않습니다.

 

[root@ant/home]# ls
20012818  chaniya2  iguseh  kim     lizinka  test      testuser2  tresblue  white
ajax      glass82   java    kim109  neckbs   testuser  thewhite   unix      zpfanta

그래서... 이걸 다 삭제하려면 옵션만 하나 붙여주면 되는데요

 

[root@ant/home]# userdel -r testuser2
[root@ant/home]# ls
20012818  chaniya2  iguseh  kim     lizinka  test      thewhite  unix   zpfanta
ajax      glass82   java    kim109  neckbs   testuser  tresblue  white
[root@ant/home]# cat /etc/passwd | grep testuser
[root@ant/home]#

자 이렇게 하면 testuser2 라는 사용자는 홈디렉토리 마저도 사라진거죠.. 흔적없이...

 

 

5. 사용자 계정 추가에 관한 기타 잡다한... 혹은 중요한..

 

사용자 계정을 마구잡이로 사용자를 추가하다보면

 

관리하기가 참 힘들죠..

 

학교 서버를 운영함에 있어서, 관리자 그룹, 교수님 그룹, 대학원생 그룹, 나만의 그룹(?) 등등

 

으로 나누면 더 관리하기 좋겠죠. 그리고 홈 디렉토리도 어느정도 위치를 정하면 좋습니다.

 

/home/admin/XXX , /home/profes/XXX, /home/grad/XXX, 등등..

 

이런식으로 하면 더 관리하기가 쉽겠죠

 

그냥 사용자를 추가하게 되면 이런 것들 없이 추가되는 순서대로 마구잡이로 디렉토리도 /home 안에 계정명으로 생성이 되어버립니다.

 

골치아픕니다.. 사용자가 많아지다 보면.. ㅡㅡㅋ 처음부터 관리합시다...

 

그리고 사용자 계정 추가는 자주 일어나지 않기 떄문에(자주 일어날지도 모르지만..)

 

어디에 어떻게 추가할지를 메모하거나 해두면 더 좋습니다. gid 가 몇번인지 혹은 그룹이름이 뭔지

 

가끔하다보면 잊어먹거든요.. ;;;;;

 

그리고 useradd 를 사용함에 있어서 기본적인 디폴트 값도 넣을 수 있지만...

 

이부분은 ... 글쎼요.. 어느정도 귀차니즘이 발동해서 하는 부분일지도 모른다는 생각이 드는군요...

 

사용해서 나쁠 부분은 없지만 사용자 계정추가는 자주 일어나는 일도 아니고

 

하나 하나 한다고 문제 될것이 없겠죠... 할 수 있다면 옵션 몇개 안되는거 다 지정해줍시다.. 확실히!!

 

'Linux' 카테고리의 다른 글

기본 명령어 part I  (0) 2009.06.14
그룹 관리  (0) 2009.06.14
리눅스 부트로더 (GRUB)  (0) 2009.06.14
PHP 설치!!!...... APM(3/3)  (0) 2009.06.14
Mysql 설치.... APM(2/3)  (0) 2009.06.14

자... 이제 GRUB 에 대해서 알아보아요... ㅋ

 

부트로더(bootloader) 라는건 시스템에 설치되어서 운영체제로 부팅이 가능하도록 해주는 프로그램으로 하드디스크의 첫 번째 섹터인 마스터 부트 섹터(Master Boot Sector, MBR)에 위치합니다.

 

리눅스에서는 예전엔 LILO 를 많이 썼던것 같은데 언젠가 부터 GRUB로 다 바뀌었죠... ㅎ

 

이제 GRUB 에 대해서 알아봅시다... ㅋㅋ

 

 

1. GRUB 의 설치

 

GRUB 설치.. 에 대해서는 ㅎㅎ 저는 개인적으로 이런 부분에 대해서는 RPM 설치를 권해드리고 싶군요... ㅋㅋ

 

더군다나 다시 설치를 할 일이 그다지 없다고 생각합니다.. ;;

 

버전업이 되어서 더 좋아질... 내용이 있는지도 모르겠고... 특별히 문제가 생기지 않는다면

 

그냥 설정 파일을 자기에게 맞는 방법으로 바꾸는 방법을 추천하고 싶네요 ㅋ

 

직접 해보지 않았지만 RPM 패키지는 yum 이 자동으로 업댓 시켜서 그런지 모르겠지만

 

크게 버전업 되진 않았군요 우선 RPM 설치에 대해서 알아봅시다....

 

yum search 명령으로 grub 라는 이름을 가진 패키지를 검색해본 결과

 

[root@ant/root]# yum search grub
Loading "installonlyn" plugin
Searching Packages:
Setting up repositories
core                                                                 [1/3]
extras                                                               [2/3]
updates                                                              [3/3]
Reading repository metadata in from local files

 

.........

 

grub.i386                                0.97-5                 installed
Matched from:
grub
GRUB - 중요 통합 부트 로더.(Grand Unified Boot Loader)
GRUB (Grand Unified Boot Loader)은 대부분의 공개 운영 체제 - Linux, FreeBSD,
NetBSD, GNU Mach 등 과 대부분의 상용 운영 체제로 부팅할 수 있는 능력을 갖춘
실험적인 부트 로더입니다.
http://www.gnu.org/software/grub/


audit-libs-python.i386                   1.1.5-1                installed
Matched from:
http://people.redhat.com/sgrubb/audit/
[root@ant/root]# rpm -qa | grep grub                     // grub 라는 이름을 가진 패키지를 찾는 명령
grub-0.97-5
[root@ant/root]#

위와 같은 결과를 보여주네요.. 현재 버전과 같은 버전이 설치되어 있군요..

 

덤으로 이젠 한글로.. 설명까지 나오는군요!!! 예전엔 안그랬던거 같은데 ㅋㅋㅋㅋㅋㅋ

 

머 아무튼 저렇습니다

 

업그레이드를 원한다면 yum upgrade grub.i386 이라는 명령을 사용하면 될 것 같구요

 

새로 설치를 원하신다면 이전 버전의 grub 를 지워봅시다

 

[root@ant/root]# rpm -qa | grep grub             // 이라는 명령으로 현재 컴에 설치된 패키지를 찾고

grub-0.97-5

 

위와 같은 패키지가 설치되어 있는걸 확인하면 삭제하고 새로 설치하면 됩니다

 

[root@ant/root]# rpm -e grub

 

이렇게 되면 삭제가 되죠 그리고 다시 설치하면 됩니다..

 

[root@ant/root]# yum install grub.i386

 

위의 부분은 직접 해본건 아니지만 뭐 문제 없겠죠 ㅎㅎ

 

설치는 이렇게 하면 될겁니다.

 

이제는 소스설치에 대해서 알아봅시다...

 

우선 소스 코드를 다운 받으세요 잘보고 받으세요 바이너리 일수도 있거든요 pc 라고 붙은게

 

바이너리 파일인것 같군요 그냥 파일이름이 grub-0.97.tar.gz 인것이 소스파일입니다.

 

자 이제 .. 어디냐고 하면 주소가

 

http://www.gnu.org/software/grub/

 

헉.... 여기 들어가 봤더니... grub 2 가 나왔더군요.... ㅡㅡ;;;;;;

 

리눅스 부트로더인 GRUB 이 GRUB2로 발전되면서 이전 GRUB은 GRUB Legacy라는 이름으로 더이상 릴리즈나 버그 수정을 하지 않도록 결정되었다.

 

라는 내용을 발견할 수 있군요 다음에는 grub2 에 대해서도 알아보겠습니다.

 

ㅡㅡㅋㅋ

 

우선 하던거 마저 하죠 서버 사용하시는 분들은 부트로더를 안바꾸는 경우(설치를 새로 안하거나 ..)

 

하는 경우도 많기 때문에 우선 이 내용 갑시다 그대로 ㅋㅋㅋ

 

소스 설치에 대해선 나중에 또 이야기 하기로 하고 너무 길어지니까 글이 설치 바로 합시다 ㅋㅋ

 

[root@ant/root/grub]# ls
grub-0.97  grub-0.97.tar.gz  grub-1.95.tar.gz
[root@ant/root/grub]# rm -rf grub-0.97
[root@ant/root/grub]# ls
grub-0.97.tar.gz  grub-1.95.tar.gz
[root@ant/root/grub]# tar xzf grub-0.97.tar.gz
[root@ant/root/grub]# cd grub-0.97/
[root@ant/root/grub/grub-0.97]# ls
AUTHORS    INSTALL      NEWS    acinclude.m4  config.h.in   depcomp     lib            stage1
BUGS       MAINTENANCE  README  aclocal.m4    config.sub    docs        missing        stage2
COPYING    Makefile.am  THANKS  compile       configure     grub        mkinstalldirs  util
ChangeLog  Makefile.in  TODO    config.guess  configure.ac  install-sh  netboot
[root@ant/root/grub/grub-0.97]#

자 여기까지는 다운받은 파일을 압축푸는 모습이구요 이제부터 설정 및 설치요

 

[root@ant/root/grub/grub-0.97]# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes

........

 

config.status: creating util/grub-set-default
config.status: creating config.h
config.status: executing depfiles commands
[root@ant/root/grub/grub-0.97]#

[root@ant/root/grub/grub-0.97]# make
make  all-recursive
make[1]: Entering directory `/root/grub/grub-0.97'
Making all in netboot
make[2]: Entering directory `/root/grub/grub-0.97/netboot'
make[2]: `all'를 위해 할 일이 없습니다
make[2]: Leaving directory `/root/grub/grub-0.97/netboot'
Making all in stage2

......

 

make[2]: `all-am'를 위해 할 일이 없습니다
make[2]: Leaving directory `/root/grub/grub-0.97'
make[1]: Leaving directory `/root/grub/grub-0.97'
[root@ant/root/grub/grub-0.97]#


[root@ant/root/grub/grub-0.97]# make install

[root@ant/root/grub/grub-0.97]# grub-install /dev/hda 이렇게요

 

이렇게 하면 설치가 될겁니다

 

[root@ant/root/grub/grub-0.97]# grub-install /dev/hda 에서 hda 는 mbr 을가지는 첫번째 하드디스크의 디바이스 이름입니다. sda 가 될 수도 있고, 잘 설정하셔야 됩니다.

 

make 까지는 했는데 make install 이후는 못해봤군요 하지만 문제없을겁니다 하고 나면 설치가 될겁니다 ㅎ

 

그리고 소스 설치를 하면 설정파일이 생성이 되지 않는데 이 부분은

 

[root@ant/root/grub/grub-0.97]# touch /boot/grub/grub.conf

[root@ant/root/grub/grub-0.97]# ln -s /boot/grub/grub.conf /boot/grub/menu.lst

 

이렇게 설정을 해두시면 됩니다.

 

 

 

2. grub 설정 파일


 

설정파일의 위치는 /boot/grub/grub.conf 입니다.

 

파일의 내용을 보자면

 

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,0)
#          kernel /boot/vmlinuz-version ro root=/dev/sda1
#          initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.17-1.2157_FC5)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.17-1.2157_FC5 ro root=LABEL=/1 rhgb quiet
        initrd /boot/initrd-2.6.17-1.2157_FC5.img
title Fedora Core (2.6.17-1.2139_FC5)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.17-1.2139_FC5 ro root=LABEL=/1 rhgb quiet
        initrd /boot/initrd-2.6.17-1.2139_FC5.img

지금 제 서버(내꺼 아닌데... ㅡㅡ) 암튼 이 서버에는 이렇게 되어 있군요

 

하나 하나 뜯어 보자면

 

1. default=0

 

기본적인 부트 엔트리 값입니다. 내용중에 title Fedora Core (2.6.17-1.21XX_FC5) 머 이런 내용이 있죠

 

이런 title 값들 중에서 어떤것이 기본값인가 하는 것입니다. 저는 0 으로 되어 있으니 제일 위에꺼구요

 

이 default 값이 1이라면 밑에 title 이 되겠죠

 

2. timeout=5

 

부트화면에서 얼만큼 대기하면서 키보드 입력을 받을 것인가 하는 것입니다

 

여기서 5는 5초!! 5초가 지나면 위에서 default 로 설정되어 있는 설정으로 부팅이 됩니다

 

3. splashimage=(hd0,0)/boot/grub/splash.xpm.gz

 

흠.. 이 부분은 넘어갑시다.. grub 배경이미지 경로입니다. 이걸로 부트 배경이 임수정 사진이 될수도 있는거죠.. ㅋㅋ

 

4. hiddenmenu

 

이 옵션은 처음에 바로 부팅가능한 리스트를 보여주는게 아니라 부팅 옵션을 숨기는 설정입니다..

 

머... 크게 중요하지 않아요... 패스

 

5. fallback=1

 

여기서는 사용되지 않았지만, 이 설정은 default 가 부팅에 실패했을 경우

 

그 다음에 사용될 부팅 엔트리 번호입니다. 설정해 두면 좋겠죠

 

6. 부트 엔트리 설정부분

 

title Fedora Core (2.6.17-1.2157_FC5)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.17-1.2157_FC5 ro root=LABEL=/1 rhgb quiet
        initrd /boot/initrd-2.6.17-1.2157_FC5.img

자 하나씩 알아 봅시다...

 

6-1. title Fedora Core (2.6.17-1.2157_FC5)

 

그냥 부팅시에 보여질 이름 부분입니다. title 뒤로 이름이 보이게 되죠 ㅎㅎ

 

6-2. root (hd0,0)

 

하드디스크의 디바이스 명과 /boot/grub 를 포함하는 디바이스 명을 설정하는 것입니다.

 

root(hd0,0) 이라고 함은 하드디스크의 첫번째 파티션 /dev/hda1 이 grub의 파티션 이라는 말입니다.

 

root(hd0,1) 이라고 함은 하드디스크의 /dev/hda2 파티션이 grub의 파티션 이라는 말입니다.

 

root(hd1,1) 이라고 함은 두번쨰 하드(프라이머리 하드 말구, 슬래이브를 말하는거겠죠) /dev/hdb2 이 grub의 파티션 이라는 말입니다.

 

6-3.  kernel /boot/vmlinuz-2.6.17-1.2157_FC5 ro root=LABEL=/1 rhgb quiet

 

커널위치 설정입니다... 뭐.. ㅎㅎ 다른말 필요없고 ro 는 read-only

 

root=LABEL=/1 이건 root 의 파티션 이름인데 /dev/hda1 도 가능하지만 여기선 별명 비슷하게

 

LABEL=/1 이라고 되어 있군요 <-- 이부분은 혹시나 기회가 되면 다음에 하죠 ㅋㅋㅋ

 

rhgb 는 Redhat Graphical Boot 라는 뜻으로... 예쁘게 보여주겠다 그거죠 ㅋㅋㅋ

 

quiet 는 커널 메세지를 출력해서 보여주지 않는 설정입니다. 글 많이 뜨면 보기 싫죠 ㅎㅎㅎㅎ

 

6-4. initrd /boot/initrd-2.6.17-1.2157_FC5.img
 

initrd 이미지 경로를 설정해 주는 부분입니다. ㅋ 이부분은 머 간단하죠 ㅋㅋㅋ

 

 

3. 부트로더 명령라인 직접 입력하기

 

가끔 뭐 실수를 하게 되어서 부팅은 안되고

 

    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]

grub>

 

이런 화면을 보게 되는 경우가 가끔 있죠... 여기서 부팅을 하게 하는 방법입니다.

 

위에서 부팅 엔트리 설정하는 부분을 직접 적어주면 되는 부분이죠 일일이 어떻게 파일이름이랑 다 기억하냐.. 버전에 보면 숫자도 한두개도 아니고 하는 부분도 있지만... 못할것도 없죠... 적어두던지 혹은 자기가 설치한 리눅스 배포판의 처음 커널버전 정도는 찾아보면 나올거예요 그걸로 하는거죠

 

    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83

grub> kernel /boot/vmlinuz-2.6.17-1.2157_FC5 ro root=LABEL=/1 

   [Linux-bzImage, setup=0x1e00, size=0x1a4fa3]

grub> initrd /boot/initrd-2.6.17-1.2157_FC5.img
   [Linux-initrd @ 0x2e7000, 0x1080ad bytes]

grub> boot

 

여기서 엔터키 누르면 부팅이 됩니다. ㅎㅎ  저 같은 경우는 멀티 부팅을 자주 하다보니

 

이런 장면을 자주(?) 보게 되었는데 참고해 두세요 이거 나온다고 무조건 포멧하면 머리 아프죠 ㅋㅋ

 

새로 까는것도 귀찮구요 우선 부팅 해두고 고치면 됩니다 .. ㅋㅋㅋ

'Linux' 카테고리의 다른 글

그룹 관리  (0) 2009.06.14
사용자 계정 생성 방법  (0) 2009.06.14
PHP 설치!!!...... APM(3/3)  (0) 2009.06.14
Mysql 설치.... APM(2/3)  (0) 2009.06.14
Apache 설치...APM(1/3)  (0) 2009.06.14
http://php.net 에서 소스 파일은 다운 받습니다..

지금 제가 이 글을 쓰는 시점에서 최신 버전은 5.2.0 입니다...


제가 이놈을 apache 와 연동시켜보려고 하다가 흰머리가 3개가 늘어있는걸 확인하고

포기 했습니다... OTL 오나전 힘드네요.. 쿨럭... 다음 기회에 꼭 성공 시키죠 ㅎㅎㅎ

그리하여 선택한 버전은 예전에 CS (학과 홈페이지) 에 설치되었던 안전한(?)

버전인 5.0.4 버전으로 설치를 해볼까 합니다.....  죄송...  ㅡㅡ;;


1. configure


옵션이 조금(?) 길군요... ㅋㅋㅋ

[root@cow php-5.0.4]# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/apache/conf/ --enable-track-vars --with-gd=shared --enable-gd-native-ttf --with-openssl --with-xml --enable-trans-sid --with-zlib

.........

+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

[root@cow php-5.0.4]#

여기까지 오면 configure 성공!!!!!!

BUT!!!!!!!!!!

중간에 libpng 가 어쩌고 오류가 날 수도 있습니다..

그럴 경우에는

[root@cow php-5.0.4]# yum -y install libpng*

이라고 해주면... 쿨럭 죄송 자료는 없습니다... 귀찮아서 ㅡㅡ;;;;;;

라이브러리가 설치되고 GD 관련.... configure 를 다시 실행 하면 진행이 됩니다 ... ^^

아니면 gd 설정 부분 다 빼버리삼!!!!! ㅡㅡㅋ 사실 뭐 잘 안쓰더만 ㅎㅎ 아닌가 잘 쓰나?? ㅋㅋ



2. make

[root@cow php-5.0.4]# make

.......

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).

[root@cow php-5.0.4]#

여기까지 오면 make 성공!!!!!



3. make install

[root@cow php-5.0.4]# make install

..........

Installing helper programs:       /usr/local/php5/bin/
  program: phpize
  program: php-config
  program: phpextdist
[root@cow php-5.0.4]#


여기까지 오면 make install 성공!!!!!



자 ... 이제 부터 2부!!! ㅎㅎㅎㅎ 설정 부분들어갑니다...

4. 설정 파일 복사하기

[root@cow php-5.0.4]# cp php.ini-recommended /usr/local/apache/conf/

이렇게 설정파일을 복사합니다. make install 끝난 후 바로 소스파일이 있던 곳에서 하면 됩니다. ㅎ



5. 모듈 설정 (확인)

이건 자동으로 설정이 됩니다. 어디에 되냐 하면은 아파치가 설치 된곳에 module 디렉토리에  

httpd.conf 라는 아파치 설정파일에 자동으로 설정이 됩니다.. 굳이 확인을 해보자고 그러시면

/usr/local/apache/conf/httpd.conf 라는 파일의 모듈들이 올라와 있는 부분에

LoadModule php5_module        modules/libphp5.so 라는 부분이 있을 겁니다..

없으면 뭔가 잘못된거겟죠 ㅎㅎㅎ

그리고  한줄을 추가시켜줍니다. 설정파일에

AddType application/x-httpd-php .php .html

이 설정을 꼭 해주셔야 합니다. ㅎㅎㅎㅎ 뭐 보기 좋게 하시려면

이런 설정들이 모여있는 곳이 있는데 그 밑에 가지런히 해주시면 됩니다...



6. 아파치 프로세스 재실행

아파치 프로세스를 재실행 하면 이제 php 모듈이 apache 에 적재된채로 실행이 됩니다.

그리하여 확인을 하시고 싶으시면 !!!

apache 안에 htdocs 라는 문서에서 index.html에

<? phpinfo(); ?>

라는 걸 쓰고 자기 주소에 접속을 해보면!!!!!

결과 페이지를 볼 수 있습니다.

여기까지 입니다..




7. 설치 후기....

여기까지가 기본이라고 할 수 있는 APM 설치 방법 및 설정 방법들입니다.

여기까지 해서 무엇을 하느냐.... 하면... 딱히 할말 없죠... 저도 처음엔 위에 저 화면 보고

아무것도 안했다면서... ㅡㅡ;;; 나 뭐니!!!!

하지만 테터 툴즈 라던지 뭐 지금 제가 운영(?)하고 있는 이런 블로그라던지 이런걸

운영해보거나 뭐 기타 홈페이지를 만들어본다거나 하면 더욱 관심(?)을 가질 수도 있을 것 같군요!

자 그럼 여기까지 기본인 APM 설치 방법이였습니다.


'Linux' 카테고리의 다른 글

사용자 계정 생성 방법  (0) 2009.06.14
리눅스 부트로더 (GRUB)  (0) 2009.06.14
Mysql 설치.... APM(2/3)  (0) 2009.06.14
Apache 설치...APM(1/3)  (0) 2009.06.14
Database [Mysql] 기본... 이만큼만 하면 ... ㅋㅋ  (0) 2009.06.14
http://www.mysql.com/ 에서 우선 소스로 다운을 받습니다....

RPM 버전과 소스 설치 버전에 대해서... 할 말은... 끝으로 미루고... ㅎㅎㅎㅎ

우선 고고싱....

1. configure

[root@cow mysql-5.0.22]# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euckr --with-mysqld-user=mysql --with-openssl --with-readline --enable-thread-safe-client --sysconfdir=/etc

..........
.........

hints about installing MySQL on your platform. Also have a look at the
files in the Docs directory.

Thank you for choosing MySQL!

[root@cow mysql-5.0.22]#

자 여기까지 보면 우선 configure 가 끝난겁니다 ㅎㅎㅎ 그렇죠..

configure 성공!!!!!!!

옵션같은 경우는 대략 다 아시겟죠 풋... 모르면 그냥 저리 쓰세요..



2. make

[root@cow mysql-5.0.22]# make

........

make[2]: Leaving directory `/usr/local/src/mysql-5.0.22/server-tools'
make[1]: Leaving directory `/usr/local/src/mysql-5.0.22'
[root@cow mysql-5.0.22]#

여기까지 나오면 make 성공!!!!



3. make install

[root@cow mysql-5.0.22]# make install

.......

make[2]: Leaving directory `/usr/local/src/mysql-5.0.22/server-tools'
make[1]: Leaving directory `/usr/local/src/mysql-5.0.22'
[root@cow mysql-5.0.22]#

여기까지 나오면 make install 성공!!!!



2부!!!! 설치 후 설정들.. (1부는 ... 없었는데...)

원래 설치보다 설정하는것들이 더 짜증날 수 있습니다... 물론 컴파일 안되고 그라면 돌아버리지만 ㅎㅎㅎ

이것도 대략 손으로 셀 수 없을만큼 해보면 그다지 어렵지 않습니다. ㅎ


4.데이터베이스 생성

우선 Mysql 의 데이터베이스인 data 디렉토리 (--localstatedir=/usr/local/mysql/data 로 설정했던...)를

생성해야 합니다... 자동으로 만들어지지 않습니다!! 생성 방법은 설치 디렉토리로 가셔서

/usr/local/mysql/bin/mysql_install_db 라는 파일을 실행합니다.

그렇게 하면 이런 말들과 함께 생성이 되죠...

Installing all prepared tables
Fill help tables

...............

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[root@cow bin]#

이렇게 나오면 성공!!!



5. 라이브러리 위치 지정

자 그 이후에 라이브러리 위치를 지정합니다.

/etc/ld.so.conf 파일안에  마지막 줄에

/usr/local/mysql/lib/mysql

디렉토리를 추가합니다. (prefix 옵션에서 디렉토리를 다르게 설정하신 분들은 이 위치도 바뀌어야 겠죠...)

그리고

[root@cow mysql]# ldconfig

을 실행하면 적용이 됩니다. 이상!!!



6. 설정 파일 복사

[root@cow mysql]# cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf

이 명령어로 설정 파일을 복사해줍니다 ㅎㅎㅎㅎㅎ 이상!!



7. mysql 계정 및 그룹 생성 및 권한 변경

mysql 데몬을 관리하고 뭐 이것저것 하는데 필요한(필요하다기 보다는...음... 뭐라고 해야 하나...

암튼 뭐 안전한, 관리하기 편한) 계정과 그룹을 만듭니다.

[root@cow mysql]# groupadd mysql
[root@cow mysql]# useradd -M -d /usr/local/mysql -g mysql -s /bin/nologin mysql

[root@cow mysql]# chown root.mysql -R /usr/local/mysql
[root@cow mysql]# chown mysql.mysql -R /usr/local/mysql/data




8. 부팅 시 자동으로 띄워지게 하기

[root@cow mysql]# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
[root@cow mysql]# chkconfig --level 3 mysqld on
[root@cow mysql]# chkconfig --level 5 mysqld on


으로 3번, 5번 레벨에서 부팅시 자동으로 실행되도록 합니다.!!



9. 그냥 실행할 때

[root@cow bin]# ./mysqld_safe --user=mysql &
[1] 20217
[root@cow bin]# Starting mysqld daemon with databases from /usr/local/mysql/data

[root@cow bin]#

이렇게 나오면 실행이 된겁니다 ㅎㅎㅎㅎ 그럼 여기까지 입니다.



10. 설치 후기

사실 mysql 은 RPM 설치가 더 낫다고 합니다. 소스설치로 설정(configure 로 하는거)을 하더라도...

물론 옵션을 다 제대로 아는 사람도 없을 뿐더러 하기도 힘들다는 말입니다!!

실제로 둘을 검사(비교..)해보면 RPM 설치본이 더 빠르다고 그러더군요....

하지만...!!!

중요한 사실은 RPM 설치야 뭐 하면 되죠!! rpm -Uvh ....  혹은 yum -y install mysql*  등등...

쉽죠... 설정 파일... 관리도 mysql 은 할게 별로 없습니다... 누워서 떡먹기... 암튼 쉽습니다..

우리가 알고 싶은건 역시나 .. 소스 설치 방법...

그리고 저는 이 고달픈 소스설치를 즐깁니다. 막혔을 때 사람 빡돌게 했다가 설치 후의 그 쾌감은

이 루 말 할 수없 죠 . . .   해본 사람만 알 수 있는거죠 ㅋㅋㅋㅋ 그럼 여기까지 입니다.

'Linux' 카테고리의 다른 글

리눅스 부트로더 (GRUB)  (0) 2009.06.14
PHP 설치!!!...... APM(3/3)  (0) 2009.06.14
Apache 설치...APM(1/3)  (0) 2009.06.14
Database [Mysql] 기본... 이만큼만 하면 ... ㅋㅋ  (0) 2009.06.14
리눅스 데몬  (0) 2009.06.14

페도라 5 에서 아파치 설치를 해봅시다!! ㅋㅋ

http://www.apache.org/ 에서 최선버전을 다운 받을 수 있죠..

뭐.. 자질구레하게 압축 풀고 뭐 그런건 과감히 생략...


1. configure

우선 configure 해줄 때 옵션은 이렇게 넣었구요..
중간에 enable-ssl enable-cgi 뭐.. 기타 등등 필요없는게 들어간것 같군요.. ^^;;
enable-modules=all 해주면 다 들어가는것 같습니다 자동으로 풋.. 아닌가? ㅡㅡ;

[root@cow httpd-2.2.2]# ./configure --prefix=/usr/local/apache --enable-modules=all --enable-mods-shared=all --enable-cache --enable-mem-cache --enable-ssl --enable-cgi --enable-http --with-mpm=worker

......

config.status: creating build/pkg/pkginfo
config.status: creating build/config_vars.sh
config.status: creating include/ap_config_auto.h
config.status: executing default commands
[root@cow httpd-2.2.2]#

이렇게 출력된다면 configure 성공!!!!!



2. make

[root@cow httpd-2.2.2]# make

......

make[2]: Entering directory `/usr/local/src/httpd-2.2.2/support'
make[2]: Leaving directory `/usr/local/src/httpd-2.2.2/support'

make[1]: Leaving directory `/usr/local/src/httpd-2.2.2'
[root@cow httpd-2.2.2]#

이렇게 출력된다면 make 성공!!!



3. make install

[root@cow httpd-2.2.2]# make install

......

mkdir /usr/local/apache/man/man8
mkdir /usr/local/apache/manual
make[1]: Leaving directory `/usr/local/src/httpd-2.2.2'

역시나 이렇게 출력된다면 설치까지 성공!!!!



4. iptables 설정 부분

자... 이쯤해서 iptables 를 살짝 손 봐 봅시다...
페도라를 설치할 때 허용할 서비스들 중에서 httpd 를 체크 안해주신 분은 설치 후 실행을 해도 안될겁니다.. 에헴..
iptables(방화벽) 에서 아마 막혀있을 겁니다... 이 부분을 해결해 봅시다!!

[root@cow sysconfig]# vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
이 부분을 추가해줍시다.. ㅎㅎㅎ
해석해 보자면... 뭐.. 80번 포트는 ACCEPT 하자.. 뭐 이정도? ㅋㅋㅋ
기타 ftp(21번 포트) 나 ssh(22번 포트) 서비스를 열고 싶다면 추후에라도 .. 똑같이 쓰시고
위에서 --dport 80 부분에서 포트번호만 서비스에 맞는걸로 새로 한줄 더 써주시면 됩니다.



5. httpd.conf 설정 파일 설정

[root@cow conf]# vi /usr/local/apache/conf/httpd.conf

ServerAdmin neckbs@cs.inje.ac.kr    // 관리자의 이메일 주소입니다.
ServerName cow.inje.ac.kr:80           // 말 그대로 서버 이름이죠.. 뒤의 :80 은 포트번호 입니다.

다른 부분은 특별히 건들것은 없구요 이 부분을 설정해 줍니다.



6. 자동으로 부팅되면서 실행되게 하는 방법

이전에도 설명한 적이 있었지만 한번더 간단히 해봅시다..

[root@cow bin]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

[root@cow bin]# ln -s /etc/init.d/httpd /etc/rc3.d/S99httpd
[root@cow bin]# ln -s /etc/init.d/httpd /etc/rc3.d/K99httpd
[root@cow bin]# ln -s /etc/init.d/httpd /etc/rc5.d/S99httpd
[root@cow bin]# ln -s /etc/init.d/httpd /etc/rc5.d/K99httpd

이렇게 하면 3번 5번 런레벨에서 자동으로 실행이 됩니다. 풋...




사용 후기....

페도라 5 초반에는 아파치 설치 후 개인 사용자 웹페이지를 설정할 경우에 저 같은 경우에

selinux ( /etc/selinux/config ) 설정 파일을 건들여서 SELINUX=disabled 로 설정을 해줘서 혹은

SELINUX=permissive 로 설정을 해줘서 해야만 됐었던 것 같은데...

좀 전에 새로 설치해보니 그런 문제가 없군요... 좀 이상한데.. ㅡㅡ;; 예전엔 뭘 잘못했었나...

아무튼 혹시 문제가 생긴다면 selinux 설정 파일 좀 건들여주시구요..

이상 Apache 설치 부분이였습니다..


'Linux' 카테고리의 다른 글

PHP 설치!!!...... APM(3/3)  (0) 2009.06.14
Mysql 설치.... APM(2/3)  (0) 2009.06.14
Database [Mysql] 기본... 이만큼만 하면 ... ㅋㅋ  (0) 2009.06.14
리눅스 데몬  (0) 2009.06.14
리눅스 부팅 과정  (0) 2009.06.14

+ Recent posts