httpd -f 아파치설정 파일을 지정하여 실행 (하나의 아파치에 두개 이상의 설정파일을 용도별로 사용할때 유용) httpd -d 홈디렉토리를 지정하여 아파치 실행 (ServerRoot) httpd -v 버젼 확인 httpd -V 컴파일하여 설치한 설정내용 확인 httpd -l 설치되어 사용가능한 모듈 확인 httpd -L 설정지시자 확인 httpd -S 가상호스트 확인 httpd -t 문법 검사
CGI사용은 ScriptAlias로 지정된 위치에서 사용하는게 기본이지만, ExecCGI를 사용하면 지정된 디렉토리내에서 CGI 사용 허용* AddHandler cgi-script 지시자에서 정의한 확장자만 유효 아파치는 ScriptAlias에 설정되어 있는 디렉토리 안의 모든 파일을 html이 아닌 실행파일로 인식한다. 따라서 html이나 이미지 파일 등도 제대로 인식하지 않고 실행하려 한다. 또한 ScriptAlias로 설정된 디렉토리에서는 "*.cgi","*.pl" 등의 파일확장자도 필요치 않다. ScriptAlias로 설정되지 않은 디렉토리에서 스크립트를 실행하려면 *.cgi,*.pl 등만 스크립트 파일로 인식시켜야 한다. 아파치가 이것을 인식할 수 있도록 하는 것이 AddHandler(httpd.conf) 이다. AddHandler cgi-script .cgi httpd.conf 파일 중에서 위와 같이 설정을 하면 서버의 모든 디렉토리에서 .cgi로 끝나는 모든 파일을 cgi로 인식하여 실행한다. 단, 주의할 점은 스크립트로 사용하려하는 디렉토리가 ExecCGI 옵션이 설정되어 있어야 한다는 것이다. 예)ScriptAlias를 이용한 일반적 설정(h
몇번 부팅레벨로 부팅할지 결정 /etc/inittab → id:3:initdefault: 부팅레벨 0 : 시스템종료 /etc/rc.d/rc0.d/ 부팅레벨 1 : 싱글모드(관리모드), 콘솔로그인만 가능하고 root만 사용함 /etc/rc.d/rc1.d/ 부팅레벨 2 : NFS 지원하지 않는 멀티유저 실행모드 /etc/rc.d/rc2.d/ 부팅레벨 3 : NFS 지원 멀티유저 실행모드 /etc/rc.d/rc3.d/ 부팅레벨 4 : 사용하지 않음 /etc/rc.d/rc4.d/ 부팅레벨 5 : X윈도우 환경 멀티유저 실행모드 /etc/rc.d/rc5.d/ 부팅레벨 6 : 재부팅 /etc/rc.d/rc6.d/ 부팅레벨 변경 : init 0~6 레벨 확인 : runlevel 부팅레벨기록 : runlevel
# LoadModule rewrite_module module/mod_rewrite.so 아파치를 DSO방식으로 설치했을때 모듈을 로드하는 지시자 # LockFile logs/accept.lock → USE_FCNTL_SERIALIZED_ACCEPT 또는 USE_FLOCK_SERIALIZED_ACCEPT를 사용하여 컴파일되었을 때 사용되는 잠금 파일로의 경로. 잠금 파일의 값은 반드시 로컬 디스크에 저장되어야 함. 잠금파일 : 어떤 프로세스에서 사용중인 파일을 다른 프로세스가 함부로 변경하지 못하도록 함 httpd.lock : 웹서버가 떠 있다는 걸 알려s는 파일, 지금 웹서버 데몬이 돌고 있으니, 다른 웹서버 데몬은 돌지 말라. # PidFile logs/httpd.pid 아파치가 시작될 때 자신의 프로세스번호(PID)를 기록하는 파일 # User daemon // 리눅스 시스템에서 0~499까지 UID와 GID를 사용하므로 # Group daemon // 500번 이상의 UID와 GID를 가지는 계정으로 설정 서비스를 직접 담당하는 아파치자식프로세스들의 실행소유자와 소유그룹 (n
- 서버에 접속한 사용자의 접속정보 및 작업정보 [root@ ~]# w 13:10:50 up 21:37, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 175.198.97.114 09:53 0.00s 0.17s 0.00s w root pts/1 175.198.97.114 11:56 1:13m 0.01s 0.01s -bash TTY : teletype JCPU : 모든 프로세스의 CPU 사용시간 PCPU : WHAT 필드에서 사용하는 CPU 사용시간
◎ useradd 명령어 옵션 설명 -u uid : 사용자 ID를 지정-g gid : 그룹이름이나 GID를 지정-d dir : 사용자의 홈 디렉토리의 절대 경로지정-c comment : 패스워드 파일에 기재할 주석문을 넣을때 사용-m : 사용자의 홈 디렉토리가 없는 경우 생성-k : 홈 디렉토리에 저장될 각종 정보를 포함시킬 디렉토리 지정-s : 사용자가 사용할 쉘을 지정 ◎ useradd 환경을 설정하는 파일들1. /etc/default/useradd2. /etc/login.defs3. /etc/skel/모든파일 1. [/etc/default/useradd]useradd 의 기본파일, useradd 로 계정 생성시에 어떤 환경과 어떤 파일들을 참조하여 새로운 계정을 생성할 것인가 # cat /etc/default/useraddGROUP=100 // 기본 등록 그룹의 GIDHOME=/home // 홈디렉토리 경로INACTIVE=-1 // 패스워드 종료일 이후의 유효(기간)여부 설정 (0, -1, 1 이상의 숫자)EXPIRE= // 계정 종료일자 지정SHELL=/bin/bash // 기본사용자 쉘SKEL=/etc/skel // 홈디렉토리에 복사할 기
패스워드에 lock 걸어 잠그기 [root@push06 skel]# passwd -l kbs Locking password for user kbs. passwd: Success [root@push06 skel]# grep kbs /etc/shadow kbs:!!$1$aPkNiTws$ZV5bM4sc48RINJ0vK5U3f0:15947:0:99999:7::: [root@push06 skel]# passwd -u kbs Unlocking password for user kbs. passwd: Success.
사용형식 : gpasswd [옵션] [그룹명] [옵션] -a user : 특정 그룹에 유저 추가 -d user : 특정 그룹에서 유저 제거 -r : 특정 그룹의 패스워드 제거 -R : 특정 그룹에 접근 제한 -A user : 특정 그룹의 그룹관리자로 지정 -M user : 특정 그룹의 그룹멤버를 새로 설정 vi /etc/group 로 수정하는 방법이 보편적
◎ /etc/passwd와 /etc/shadow 필드 설명 [/etc/passwd] root : x : 0 : 0 : root : /root : /bin/bash 필드 1 2 3 4 5 6 7 1 : 사용자명2 : 패스워드3 : 사용자 계정 uid4 : 사용자 계정 gid5 : 사용자 계정 이름6 : 사용자 계정 홈 디렉토리7 : 사용자 계정 로그인 쉘 [/etc/shadow] root : $1$9L2L0oTwd : 12751 : 0 : 99999 : 7 : : :필드 1 2 3 4 5 6 7 8 9 1 : 사용자명2 : 암호화된 패스워드3 : 암호 최종 변경일4 : 암호 변경 최소일수5 : 암호 변경 최대일수6 : 암호 변경 경고일 수7 : 암호 비활성화 기간8 : 계정 사용 종료일9 : 예약 필드
aging 정보는 /etc/shadow 파일에 설정되는 정보들로써 계정 사용자들의 종료일자, 패스워드 만료일자, 만료기간, 암호변경 최소날짜, 암호 유효 최대날짜 등을 의미 [root@~ ]# chage -l root Last password change : Aug 28, 2013 // -d 옵션Password expires : never // -M 옵션Password inactive : never // -I 옵션Account expires : never // -E 옵션Minimum number of days between password change : 0 // -m 옵션Maximum number of days between password change : 99999 // -M 옵션Number of days of warning before password expires : 7 // -W 옵션 # aging 변경[root@push06 ~]
새로운 계정이 생성되면 생성되는 계정명과 동일한 이름의 그룹이 자동생성 되고, 자동생성된 그룹에 속하게 된다. groupadd 명령어로 생성되는 그룹은 기본값으로 GID가 500 이상부터 생성된다. (GID 499까지는 시스템용) # 그룹 생성 [root@~ ]# groupadd sgroup # GID를 지정하여 그룹 생성 [root@~ ]# groupadd -g 700 kgroup # /etc/group 파일의 내용에 새로운 그룹이 생성됨 [root@push06 ~]# tail -n 3 /etc/group kbs:x:502: sgroup:x:500: kgroup:x:700: # 시스템용으로 사용할 그룹 생성 [root@push06 ~]# groupadd -r systemgroup [root@push06 ~]# tail -n 2 /etc/group protoss:x:501: systemgroup:x:160: # 그룹 삭제 [root@push06 ~]# groupdel systemgroup
프로세스의 상태를 확인하는 명령어 사용형식 : ps [옵션] # ps -ef -e : 모든 프로세스 표시 -f : 전체 경로로 프로세스 표시 # ps -f -U USERID -u USERID 계정이 USERID인 사람으로 실행되는 프로세스 보기 # 계정 메모리 실사용량 확인 ps -o user,pid,rss,comm --sort -rss -u 계정명 # 계정 메모리 실사용량합계 ps -o rss -u 계정명 | awk '{sum+=$0} END {print sum}
/- 최상위 디렉토리인 루트디렉토리.- 파티션 설정 시 반드시 존재하여야 함 /bin - 리눅스의 기본 명령어들이 들어있는 디렉토리- root와 일반사용자들도 사용 /sbin - 시스템 관리자용 명령어들이 들어있는 디렉토리 /lib - 프로그램이 필요로 하는 라이브러리 파일 존재- /lib/module : 커널이 필요로 하는 커널모듈 파일 존재 /boot- 시스템 부팅에 관련된 파일을 저장하고 있는 디렉토리 /dev- 시스템 디바이스 파일을 저장하고 있는 디렉토리- 컴퓨터에 연결된 모든 장치가 파일로 표현 /etc - 시스템 환경 설정 파일이 있는 디렉토리 /home- 사용자의 홈디렉토리, ID와 동일한 이름으로 디렉토리를 가짐 /root - root의 홈디렉토리 /mnt - 플로피, CD-ROM 등 다른 장치들을 마운트 할때 사용하는 디렉토리 /proc- 현재 메모리에 존재하는 모든 작업들이 파일형태로 존재하는 가상디렉토리 /var - 시스템운용중에 생성되었다가 삭제되는 데이터를 저장하는 디렉토리 /var/log - 각종 로그파일이 저장되는 디렉토리 /var/spool/mail- 메일이 일시적으로 저장되는 디렉토리 /tmp - 일시적인 저장을 위한 디렉토리
# rpm -qa 설치된 전체 패키지 확인 # rpm -qa | wc -l 설치된 전체 패키지 갯수 # rpm -qa | grep kernel특정 패키지 확인 # rpm -ql vsftpd특정 패키지에 의해 어떤파일들이 생성되었는지 확인 # rpm -qf /bin/ps 특정파일이 어떤패키지에 의해 생성되었는가를 확인 # rpm -qi vsftpd특정패키지의 정보를 출력 # rpm -qa --queryformat "%{NAME} : %{Summary}n" | more 설치된 패키지들이 이름 : 설명 식으로 출력
mii-tool 네트워크 인터페이스의 연결 상태를 확인하고, 랜카드의 속도와 duplex 모드(전이중, 반이중모드)를 변경, 자동감지설정(autonegotiation)의 ON/OFF를 설정 할 수 있다. [root@push06 ~]# mii-tool eth0: negotiated 100baseTx-FD, link ok eth1: negotiated 100baseTx-FD, link ok eth0은 100MB의속도로 전이중모드로 설정되어 정상적(link ok)으로 사용되고 있다. -v 상세하게 확인 할 수 있다. -w 실시간으로 연결 상태를 확인할 수 있다. -R 기본설정대로 Mii를재설정한다 -r autonegotiation 설정을 재시작한다 autonegotiation으로 두 장비간의 연결 속도와 duplex 모드를 자동으로 맞추게 되지만 제대로 되지 않아 충돌이 발생하는 경우나 원하는 속도로 변경을 해야할 때 사용한다. 예) 100MB, Full duplex 모드로 변경 [root@push06 ~]# mii-tool -F 100baseTx-FDeth0 autonegotiation - 상대의 NIC 를 확인하여 자신의 NIC 속도와 D