블로그 이미지
송시혁

calendar

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive

2021. 12. 31. 01:23 리눅스 마스터1급

 

 

ssh 접속시 일반적으로 패스워드를 이용하여 접속한다. 그러나 

rsync, lsync등으로 동기화를 구성할 때, 보통 ssh프로토콜을 원격지 서버에

접근하여 동기화를 하는데, 패스워드를 config 해야하는 불편함이 있다. 

 

따라서, 패스워드 없이 ssh를 인증하는 방법에 대하여 서술하고, 추가적으로 lsync를 이용하여 

디렉토리 동기화를 하려고 한다. 

 

1. ssh 공개키, 비밀키 생성 

 

ssh-keygen -t rsa

 

 

 

반드시 생성할 키에 대하여 password를 입력하지 않는다. password를 입력하면 마찬가지로 패스워드를 

물어보기 때문이다. 

 

2.  1번 절차에서 생성한 공개키(파일명.pub) remote 서버로 넣기 

 

ssh-copy-id -i ~/.ssh/파일명.pub USER@DESTIP

 

원격지 서버에 authorized_keys 가 생성이 되었는지 확인한다. 

 

3. 

 

'리눅스 마스터1급' 카테고리의 다른 글

sysctl, ssh  (0) 2018.08.29
log, 커널 컴파일, 프린터 등...  (0) 2018.08.29
yum, tar 명령어 옵션  (0) 2018.08.28
swqp,ps, find, quata  (0) 2018.08.27
리눅스 웹 (약간 추가예정)  (0) 2018.08.26
posted by 송시혁

 

리눅스마스터 1급을 드디어 합격하였다.

 

2020년 5월 9일날 시험을 봤다. 그 날 비가 와서 너무 좋았다. 비오는 날은

떨어진적이 없어서, 합격을 예감했다 ㅎㅎ

 

문제도 2018년, 2019년도에 비하여 쉽게 출제가 되었다.

 

필자는 2018년 11월 부터 2019년 11월까지 3차례에 2차 실기시험에

불합격했다. 2019년 상반기, 하반기 시험은 공부를 안해서 그렇다쳐도

2018년 11월에 친 시험은 정말 열심히 했는데도 불구하고 떨어졌다.

 

그래서 필자는 2020년 5월 9일에 시험을 볼때 너무 긴장해서 답안지를 몇번이나

지우고 또 지우면서 풀었다.

 

너무 긴장해서 스펠링이 안 써질 정도로 긴장하였다. ㅜㅜ

그러나 결과는 아래와 같이 합격을 했다. 휴~


대략 문제는 2018년도 문제와 2019년도 문제를 조합해서 나왔다. 

 

yum 명령어에 옵션이나 ssh 설정 문제는 2018년도 11월 친 시험문제 그대로 

되었다. 다만, 2018년 yum 에서는 yum (search telnet) 이 답이였다면 

이번에는 'search' 만 적게끔 나왔다. 

 

필자가 2018년도에 'telnet'이라는 문자열만 빼고 적어서 틀렸다. ㅜㅜ

그 뼈아픈 기억을 더듬고 정말 문제도 꼼꼼이 읽어보고 풀었다. 

 

1. passwd 명령어와 옵션 

 

2. chmod 문제인데 바보같이 틀렸다. ㅜㅜ

 

3. renice 문제. 이건 2018년도 상반기? 한번 출제되고 안나오다가

   이번에 나왔다. 

 

4. yum 명령어 옵션 (위에서 언급)

 

5. make distclean, menuconfig

 

6. /etc/fstab 문제, 문제는 ext4 파일시스템으로 

   사용량 제한이다. 4번째 인자에 defaults, usrquota 이렇게 

   같이 써야 하는데, defaults 빼먹었다 ㅜㅜ

 

7. 시스템 로그 ssh 

   authpriv.* 은 맞췄으나, 특정 호스트 설정인 @@IP를 맞추지 못했다.

 

8. lastb -f 파일과 날짜. 이것도 2018년도에 나온것인데, 이번에는 답이 

   쉽게 나왔다. 4번처럼. 

   lastb -f 가 답이였다면, 이번에는 lastb , -f 답이 이렇게 따로 적게끔 나왔다. 

 

9. ssh 설정. /etc/sshd_config, PermitRoot? 인가 기억이 안남. 어쨌든 맞춤. 

 

10.  cpio  문제. 이것도 2018년도 11월에 똑같은 문제인데, 답안을 쉽게 

      작성하게끔 나왔다. 정만 2018년 도 하반기 2차 문제는 더럽게 

     나온것 같다. 

 

11. 아파치 웹 서버 /etc/httpd/conf/httpd.conf 

     설정에 관한 파일. 2018년도와 2019년도는 더럽게 이상한 

     option을 적는 문제를 출제. 물론 필자의 기준으로 더럽다고 하는 것. 

     이번에는 일반적으로 ServerName, DocumentRoot, DirectoryIndex 이런게 나옴. ㅋㅋ

 

12. 삼바 설정. 이거는 2019년 상반기 2차시험과 비슷하게 나옴. 

    보통 /etc/samba/smb.conf 설정에서 

 

보통 윈도우가 리눅스 폴더로 접근할때 설정으로 많이 나왔으나, 

윈도우 설정 이름으로 접근할때로 설정으로 나옴. 

 

2019년 상반기가 그러했고, 이번에도 나옴. 2019년 상반기 문제를 

풀때 꾀나 당황하였으나 이번에는 맞춤. ㅋㅋ

 

13. /etc/mail/에 있는 sendmail 설정.

이번에 풀면서 가장 많이 고민한 문제. 

갑자기 기억이 안남 ㅜㅜ

/etc/mail/local-host-name , sendamail.cf /etc/access 거부설정. 

이번 시험에서는 개인적으로 이게 젤 어려웠음. 

 

14. dns 설정. 

DNS zone 파일 설정. 가장 기본적인 도메인 

설정이 기억이 안남. ㅋㅋㅋ

/usr/share/doc/bind/sample 에 봐도 안나와서 애먹음. 

 

15. squid 설정. proxy 설정인데

시험치기 2일전에 squid 공부함. 다행히 쉽게 나옴. 

port설정과 IP에대한 별칭설정. 접근 옵션같은 기본적인

옵션이 나옴. 

 

16. iptables 설정. 

보통은 iptables 를 이용한 nat ip 설정이나 

정책 추가나 삭제가 나옴. 이번에는 

iptables-save와 iptables-restore가 나옴. 

물런 iptables -F 정책이나 

iptables -L 도 나옴. 필자는 라인수 까지 나오는걸 

좋아해서 iptables -nL이라고 적었으나, 문제공개에서 

정답처리은 하지 않은것으로 보인다. 

 iptables -L이나 -nL의 차이는 라인수 나오나 안나오나 

차이인데.... 뭐 어쨌든 합격했으니 그냥 넘어감. ㅋㅋㅋㅋ

 

 

 

등등이 나옴. ㅋㅋㅋ

 

 

 

 

 

 

 

 

posted by 송시혁
2018. 8. 29. 19:48 리눅스 마스터1급


<커널 컴파일 명령어 >


1. 커널 소스 파일 압축 해제 

2. 커널 소스이 설정 값 초기화(make mrproper)

3. 커널 컴파일 옵션 설정 작업(make menuconfig)

4. 커널 이미지 파일 생성 작업(make bzImage)

5. 커널 모듈 생성을 위한 컴파일 작업(make modules)

6. 커널 모듈 설치 작업(make modules_install) 

7. 커널 모듈 파일 복사, grub.conf 파일 수정(make install) 

8. 새로운 커널 사용을 위한 시스템 재부팅시


●  make help

 => 지원되는 다양한 target을 확인 가능 

 

● make mrproper

=> configure  작업을 통해 생성된 오브젝트 파일뿐만 아니라 config 파일 , 다양한 백업 

     파일 등도 제거한다.

 

● make distclean 

=> mrproper 작업과 더불어 편집된 백업 및 패치 파일도 모두 제거한다. 



● make_modules_install 

=> /lib/modules/커널버전 디렉터리 안에 복사하는 과정 


● make  bzImage 

=> 커널 이미지 생성. 확장자명은 bzip2  

 

● make menuconfig  

=> 텍스트 기반의 컬러메뉴를 제공하고 커서를 이용해서 이동이 가능하다. 


● make xconfig 

=> X 윈도 환경의 Qt 기반의 설정 도구이다. 


● make gconifg 

=> X 윈도 환경의 Gtk+ 기반의 설정 도구이다.


<디스크 확장 절차 >


디스크 인식 여부 확인 (fdisl -l)

파티션 작업  fdisk 하드웨어 장치이름 (예 /dev/sdb1)


fdisk /dev/sdb1 


+256

등 .. 메뉴얼에 따라 파티션 분할하거나 생성하는 작업 함 


시스템 재부팅  

파일 시스템 생성 (mkfs.ext4 /dev/sdb1)

디렉터리 생성 

마운트  mount -t ext4 /dev/sdb1 /backup

마운트 및 용량 확인  df -h 

부팅시에 자도 마운트 등록 /etc/ftab



<프린트 >

LPRng, CUPS 



LPRng

=> 버클리 프린팅 시스템


BSD 계열  lpr, lpq, lprm , lpc 

System v  lp, lpstat, cancel 


● lpr 

옵션 

# 인쇄할 매수 

-m 

-r   출력한 뒤에 파일 삭제 

-l    필터링 없이 직접 보낸다. 


● lp 

-d 다른 프린터 지정 

-n 인쇄할 매수를 지정 



초기에는 printtool, printconf , /etc/printcap 환경설정 파일 



● CUPS

=> 애플이 개발한 오픈 소스 프린팅 시스템 

     lpadmin 


redhat-config-printer , system-config-printer 


● /dev/lp0 

=> 병렬 포트 


● /dev/usb/lp0 

=> USB 포트 


CUPS인 경우 http://localhost:631로 접속가능 


alsactl 

ALSA 사운드카드를 제어하는 명령어 


옵션 

-d 디버그 모드를 사용한다.(--debug)

-f 환경설정 파일을 선택한다. 기본 파일은 /etc/asount.state 


command 


store    사운드카드에 대한 정보를 환경 설정 파일에 저장한다.

restore  환경 설정 파일로부터 선택된 사운드카드 정보를 다시 읽어 들인다. 

init        사운드 장치 초기화 



● alsactl init 

=> 사운드 장치를 초기화 


● alsamixer 

=> 커서(ncurese) 라이브러리 기반의 ALSA 사운드카드 오디오 믹서 프로그램 


● cdparanoia 

=> 오디오 CD에서 음악 파일을 추출할 때 사용하는 명령어 


옵션 

-w wav 파일로 추출한다.(기본 옵션)

-a Apple AIFF-C 포맷으로 추출한다. 

-B 모든 트랙의 음악을 Cdda2wav 스타일로 추출한다. 'track#.' 형태로 파일 이름이 생성된다. 


● cdparanoia -- "-3"

=> 트랙 3번부터 추출한다.


<스캐너 SANE>

sane-backend, sane-frontends 


XSANE(X based interfce for the SANE)

=> X-window 기반으로 프로그램 

     xsane이라고 입력하면 실행

http://www.xsane.org 

 

● sane-find-scanner 

=> USB 및 SCSI 스캐너와 관련 장치 파일을 찾아주는 명령.

     /dev/sg0, /dev/scanner, /dev/usb/scanner, /dev/usb/usbscanner 

     

옵션 

-q 스캐너 장치만 출력한다.

-v 자세한 정보를 출력한다.

-p 병렬(parallel)포트에 연결된 스캐너만 찾는다.


● scanimage 

=> 이미지를 스캔하는 명령이다. 


옵션 

-h             도움말 옵션으로 사용 가능한 옵션 목록을 출력한다.

-d             SANE의 장치 파일명를 적는 옵션(--device-name)

--format    이미지 형식을 지정하는 옵션으로 pnm과 tiff를 지정할 수 있다. 

-L             사용 가능한 스캐너 장치 목록을 출력한다.(--list-devices)



● scanadf 

=> 자동 문서 공급 장치(ADF: Automatic Document Feeder)가 장착된 스캐너에서 여러 개의 

     사진을 스캔할 때 사용하는 명령이다. 


● xcam 

=> GUI기반으로 평판 스캐너나 카메라부터 이미지를 스캔해 주는 명령이다. 



< rsyslog >



● /etc/rc.d/init.d/rsyslog 

=> rsyslogd 데몬을동작시크는 스크립트 


● /etc/rsyslog.conf 

=> rsyslogd 환경설정 파일


● /etc/sysconfig/rsyslog 

=> rsyslogd 데몽니 실행과 관련되 옵션 설정되어 있는 파일 


● /etc/sbin/rsyslogd 

=> 실제 rsyslogd 데몬 실행 


● *.=crit;kern.none 

=> 모든 facility가 발생하는 메시지 중에 crit 수준의 메시지만 /var/log/critical 파일에 

      기록하는데 커널이 발생하는 메시지는 제외한다. 

  

● logroate 

=> 로그 파일을 여러 개로 분할해 주는 프로그램. 파일의 자동 로테이션 기능, 압축 기능, 제거 등을 지원 


옵션 

-f 강제로 환경 설정 파일을 읽어 들여서 실행한다. (--force \)


● /etc/logrotate.conf 주요 설정 


weekly           로그 파일을 일주일마다 하는 설정. 

rotate 4         최대 4번까지 rotate를 하는 설정

create           로테이트를 한 후에 비어 있는 로그 파일을 생성하도록 설정하는 항목 

dateext         로테이션으로 생성되는 로그 파일에 해당 날짜를 덧붙여서 생성하는 항목 

nomissingok  로그 파일이 존재하지 않느 경우에 에러 메시지를 출력한다. 

                    기본값으로 설정 

missngok      로그 파일이 존재하지 않는 경우에 에러 메시지를 출력하지 않고 다음 파일로 이동한다.


/var/log/wtmp{

monthly

create 0644 root utmp 

       minisize 1M

rotate 1 

}


/var/log/wtmp는 한 달마다 로테이트 하지만, 파일 크기가 1MB가 되면 그 이전이라도 로테이트 

권한은 644 소유자는 umtp로 지정. 로테이션은 1번만 한다. 



● /var/lib/logrotate.status 

=> 파일은 각 로그 파일별로 로테이션된 날짜가 기록된 파일이다. 



● /var/log/message 

=> 시스템에서 발생하는 표준 메시지가 기록되는 파일로 대부분의 로그가 이 파일에 쌓이고 

    root만이 읽을 수 있도록 설정되어 있다.


● /var/log/secure

=> 인증에 기반한 접속과 관련된 로그가 기록되는 파일로 보통 login(telnet 및 ssh), tcp_wrappers, 

     xinetd 


● /var/log/dmesg

=> 시스템이 부팅할 때 출력되었던 로그가 기록되는데, 보통 커널 부트 메시지 로그라고 한다. 


● /var/log/mailog

=> sendmail, dovecot 등 메일 관련 작업이 기록되는 로그 파일이다. 


● /var/log/xferlog 

=> FTP 접속과 관련된 작업이 기록되는 파일로 로그 포맷은 총 14개의 영역으로 구성되어 있다. 

     

주요 항목 


● transfer-type 

=> 전송 형태를 나태면 하나의 문자로 표기

     a는 ascii 

b는 binary 


● special-action-flag 

action 이 발생 

특수한 문자로 표기 

C 파일이 압축되어진 경우 

U file이 압축되어 있지 않은 경우 

T tar로 묶여진 경우 

_ 어떠한 action이 발생되는 않은 경우 


● direction 

=> 전송된 지시를 나타내는 것으로 o는  outgoing의 약자로 다운로드된 경우이고, 

     i는 incoming의 약자로 업로드된 경우를 나타낸다. 


● access-mode 

=> 사용자가 어떤 형태로 로그인 하였는지 나타냄 

a anonymous 

g guest 

r  real 



● authentication-method 

=>  인증에 사용되는 방법 

      0은 none 

  1은 RFC931 인증을 나타낸다. 


● authentication-user-id 

=> 인증 방법에 의해 되돌려지는 사용자 계정이 기록.  

     authentication-method와 연계되어 0이면 보통 *로 표시된다. 


● completion-status 

=> 전송 상태를 하나의 문자로 나타내는데, c는 complete의 약자로 완전한 전송 

     i는 incomplete의 약자로 불완전한 전송을 나타내다.

 

● /var/log/cron 

=> cron 정보가 기록되는 파일이다. 


● /var/log/boot.log 

=> 부팅 시 발생되는 메시지가 기록되는 파일로 보통 부팅 시 동작하는 데몬 관련 정보 

 

● /var/log/lastlog 

=> telnet이나 ssh을 이용해서 접속한 각 사용자의 마지막 정보가 기록되는 파일 


● /var/log/wtmp 

=> 콘솔, telnet , ftp등 이용하여 접속한 사용자 기록, 시스템을 재부팅한 기록등의 로그가 쌓이는 파일 


● /var/log/btmp 

=> wtmp와는 반대되는 로그로 접속이 실패한 경우를 기록한다. 


● last 

=> 사용자의 로그인 정보, 재부팅한 정보를 파일이 생성되는데, 이것을 출력하는 명령어 


● sysctl 

=> 커널 변수의 값을 제어하여 시스템을 최적화할 수 있는 명령어. 리눅스 커널 제어를 위한 매겨 변수 

    /proc/sys 디렉터리. 하위 디렉터리 구분은 .으로 대체하여 명령을 수행한다. 

보통 echo > 로 값을 변경한다. 

옵션 

-a, -A         커널 매개 변수와 값을 모두 출력 

-p               환경 변수 파일에 설정된값을 출력. 

                      파일명 지정하지 않을 시 /etc/sysclt.conf

-n               특정 매개 변수에 대한 값을 출력할 때 사용한다. 

-w 변수=값  매개 변수에 값을 설정한다. 

●  sysctl -w net.ipv4.icmp_echo_ignore_all=0

=> icmp_echo_ignore_all값을 0으로 바로 적용 

     ping과 같은 ICMP 패킷에 대한 응답 여부를 결정한느 매개 변수로 값이 0이면 

     응답을 하고, 1이면 응답을 하지 않는다. 


●  /proc/sys/net/ipv4/tcp_syncookies 

=> tcp SYN Flooding 공격을 막을때 유용한 항목으로 SYN패킷의 도착빈도가 일정한 횟수보다 

     많을 때 해당 요청을 허용하지 않을 때 사용한다. 


●  /proc/sys/net/ipv4/icmp_echo_ignore_broadcast 

=> 브로드캐스트 주소에 ping을 전달하여 공격하는 형태인 smurf공격을 막을 때 사용 

 

 

●  /proc/sys/net/ipv4/conf/all/accept_source_route 

=> 해커가 소스 라우팅 패킷을 보낼 수 있다면 돌아오는 반응을 가로채서 상대방의 호스트와 

     신뢰받은 호스트처럼 속일 수 있게 된다. 0으로 설정하면 이 기능을 사용하지 못하게 된다.

 

●  /proc/sys/net/ipv4/conf/all/rp_filter 

=> Source IP Address를 조작할 수 있다. 패킷이 들어오는 인터페이스와 나가는 인터페이스가 같으지 

     검사하려면 값을 1로 설정한다. 

 

●  /proc/sys/net/ipv4/conf/all/log_martians 



●  /proc/sys/net/ipv4/ip_forward 

     

 

●  /proc/sys/net/ipv4/conf/all/accept_redirects 

=> redirect 관련 패킷을 허가할 것인지를 결정하는 파일로 기본값은 '1'로 허가하도록 되어 있다. 

     ICMP redirect는 서버의 routing 경로를 확인하는 역할을 하는데 이것을 차단.

 


●  SSH(Secure Shell)  


패키지 


●  openssh 

=> openssh-server , openssh-clients 모두 필요한 핵심적인 파일들이 들어 있는 패키지로 

     ssh-keygen 명령이 들어 있다. 


●  openssh-server 

=> 서버 관련 패키지 데몬인 sshd, sftp 서버 등이 들어 있다.


●  openssh-clients 

=> 클라이언트 관련 패키지 ssh,scp,sftp등의 명령어가 있다.


●  /etc/ssh/sshd_config

=> 환경 설정 파일  


●  /etc/rc.d/init.d/sshd

=> 데몬 스크립트 


<서버 주요 설정 >

●  ListenAddrss

=> ListenAddrss "192.168.1.1:22"  형태로 지정하면 되고, 콜론(:),은 IPv6 주소체계에서 사용 


●  HostKey /etc/ssh/ssh_host_rsa_key 

=> SSH2의 RSA 암호화 방식의 호스트키 위치를 지정한다. 


●  KeyregenerationInterval 1h 

=> 서버의 키는 한번 접속이 이루어진 뒤에 자동적으로 다시 만들어진다.


●  PermitRootLogin yes 

=> root 로그인 허용 여부를 결정하는 것이다. 보안 강화하기 위해서는 

     no로 설정한다.


●  MaxAuthTries 

=> 접속 시 재시도 최대 횟수 


●  Maxsession 

=> 네트워크 줏호당 최대 연결 수 


●  AuthorizedKeysFile .ssh/authorized_keys 

=> 클라이언트에서 생성한 공개키를 저장할 파일명을 설정한다. 


●  TCPKeepAlive yes 

=> 클라이언트의 접속이 끊어져쓴지를 체크하기 위해 일정 시간 메시지를 전달하도록 하는 설정 


< ssh 클라이언트 ssh >


●  ssh [option] 호스트명 or IP 주소 

=> ssh는 서버로 접속할 때에 같은 계정으로 접속을 시도하므로 클라이언트와 서버의 계정이  

     같으면 생략해도 된다. 


●  ssh 계정 이름@호스트네임 

=> -l 옵션 대신에 사용하는 방법으로 클라이언트 계정과 서버의 계정이 다르면 계정 이름을 

     명기해야 한다. 


●  ssh 호스트네임 명령 

=> rsh와 같이 원격 셸을 사용할 수 있는데, 접속 없이 명령만 내릴 때 유용하다. 


옵션 

-l  다른 계정으로 접속할 때 사용한다. 이 옵션 대신 서버 주소 앞에 @를 붙여 사용할 수도 있다.

-p ssh 서버의 포트 번호가 22번이 아닌 경우 -p 옵션을 사용해서 바뀐 포트르 지정할 때 사용한다.


●  ssh-keygen 

=> ssh 클라이언트에서 ssh-keygen 명령을 이용해서 비밀키와 공개키를 생성하고, ssh 서버에 공캐키를 

     복사하면 된다. 

 

옵션 -t 

사용할 암호화 알고리즘을 지정하는 옵션으로 rsa, dsa등을 사용할 수 있다. 

ssh2버넌에서는 지정하지 않으면 rsa를 사용한다.

 

●  scp 

=> 원격 셸 및 scp를 이용해서 작업하기 

     

scp .ssh/id_rsa.pub 203.247.40.246:.ssh/authorized_keys 

원격지에 .ssh 디렉터리를 생성하고scp를 이용해서 공개키를 복사한다.

 

PAM (Plugable Authentication Module) 

PAM은 사용자를 인증하고 그 사용자의 서비스에 대한 접근을 제어하는 모듈화된 방법 


/lib/security 

=> PAM에서 제공하는 라이브러리에 위치하고 동적으로 로드 가능한 오브젝트 

     파일(.so)  


/etc/pam.d 

=> pam관련된 서비스 디렉터리 


/etc/pam.d/other 

=> 특별히 지정되지 않은 서비스 


pam 파일 구성 


account 사용자가 해당 서비스에 접근이 허용된느지 여부, 패스워드 기간 만료 여부를 검사한다.

auth      기본적으로 패스워드를 통해 인증하지만, 생체인증과 같이 다른 인증을 통해 사신임을 주장하는 

           사용자가 맞는지를 검사한다. 

password 사용자가 그들의 인증 방법을 변경하도록 할 때 제공하는 방법을 기본적인 것은 패스워드를 사용한다.

session 사용자가 인증받기 전후에 해야 할 것을 나타낸다. 


control 항목 

=> 통제를 담당하는 부분으로 PAM에 무엇을 해야 할 지를 알려준다. 


requisite 

=>이 모듈을 이용하는 인증이 실해할 경우데 즉시 거부한다.


requried 

=> 인증이 거부되기 전에 비록 PAM이 이 서비스에 등록된 다른 모든 모듈들을 요구함에서 

    불구하고 실패할 경우에 인증을 거부한다.


sufficient 

=> 비록 이전에 요청되어진 모듈이 실해하더라도 이 모듈에 의해서 인증이 성공할 경우에 

   인증을 승인한다. 


optional 

=> 서비스에 대한 응용 프로그램의 성공/실패가 중요하지 않다는 것을 의미하는 것으로 

    성공/실패 판단 시에는 무시된다. 


include 

=> 해당 서비스 인증을 통과해야 가능하도록 설정할 때 사용한다. 


●  module_name 

=> 사용하는 모듈명을 명기하는 부분으로 /lib/security에 있는 모듈명을 기입한다. 


●  module_arguments 

=> 지정한 모듈이 사용하는 인수를 기입한다.


PAM의 주요 모듈 

 

●  pam_security.so

=> 접속하는 계정이 root인 경우  /etc/security 파일에 기록된 터미널을 통하는 경우에만 허가하도록 한다.

   /etc/pam.d/login 및 /etc/pam.d/remote 파일에 설정되어 있고, 적용받는 관련 서비스는 텔넷이 있다.


●  pam_lisfile.so 

=> 임의의 파일에 대해 서비스를 허가하거나 거부하는 방법을 제공한다. 


●  pam_nologin.so 

=> /etc/pam.d/vsftpd 파일에 설정되어 ftp 사용자 거부 목록 파일로 이용되고 있다. 


●  pam_wheel.so 

=> root가 암호 입력 없이 해당 서비스에 대한 접근을 허용할 때 사용되는 모듈로, su, chsh 등에 사용된다.


●  songsi ALL=/usr/sbin/useradd, /usr/bin/passwd 

songsi에게 useradd, passwd 명령을 부여하는데, 접속한 곳에 상관없이 사용 가능도록 설정한다.


●  lsattr 

=> 파일에 설정된 속성을 확인할 때 사용 


-R 하위 디렉터리까지 한 번에 속성을 확인할 때 사용한다. 

-a .으로 시작되는 숨김 파일과 디렉터리까지 확인할 때 사용한다.



●  chattr [option][mode] 파일명 


-R 하위 디렉터리까지 한 번에 속성을 변경할 때 사용한다. 


[mode]

A 파일 수정 시에 atime은 수정하지 않는다.

a 해당 파일에 추가만 가능하도록 설정한다.

d dump로 백업되지 않도록 설정한다. 

i  해당 파일의 변경, 삭제, 이름 변경, 파일 추가, 링크 파일 생성 등을 불가능하게 한다.

S 파일이 변경될 경우에 디스크 동기화가 일어나도록 할 때 사용한다. 

e 디스크 블록에 매핑하기 위해 확장된 파일임을 표시하는 것으로 chattr 속성으로 없앨 수는 없는 속성이다.


●  getfacl 

=> 파일이나 디렉터리에 설정된 접근 리스트를 확인하는 명령어 


옵션  

-d 접근 권한 리스트의 기본값을 출력한다. 


●  sefacl

=> 파일이나 디렉터리에 접근 권한 리스트를 설정하는 명령으로 root만 사용 가능하다.


옵션 

-m 권한을 지정하거나 수정할 때 사용한다.(--modify)

-x  권한을 삭제할 때 사용한다.(--remove)

-R 하위 디렉터리와 파일까지 권한을 변경할 때 사용한다.(--recursive)

-b 권한 및 mask 증 지정한 권한을 전부 제거한다.(--remove-all)



●  SELinux 

=> 데몬의 버그를 통해 root 권한을 획득하더라도, 해당 데몬에만 행사할 뿐, 다른 데몬이나 

    다른 데몬이나 시스템에는 접근이 불가능하도록 하여 시스템의 보안을 강화하는데 있다.


●  /etc/selinux/config

=> 적용 및 확인 변경 


getenforce ,setenforce 



X 윈도우에서는 system-config-selinux라는 도구를 이용해서 설정 가능하다. 


증분 백업


●  tar -g list -cvfp songsi.tar /songsi 

=> -g는 증분 백업에 사용하는 옵션으로 list라는 파일의 내용을 토대로 증분 백업을 시도하는데, 

    처음 사용하는 경우에는 전체 백업을 한다. 


list라는 파일의 내용과 비교하여 증가된것만 songsi.tar로 백업 


분할 및 압축 백업 


●  tar zcvf - /home | splite -b 10m -home.tar.gz

=> /home 디렉터리를 압축하여 10MB 단위로 백업한다. split 명령은 지정한 파일명 뒤에 

   aa, ab 등의 형태로 파일이 생성되므로 home.tar.gzaa, home.tar.gzab 등으로 생성된다.


●  cat home.tar.gza* | tar zxvf - 

=> split 명령은 텍스트 파일 관련 명령어이므로 복원할 때 cat명령을 사용한다.


●  cpio(copy input to output)

=> 많은 양의 데이터에대해서는 tar보다 빠르다. 

   단점으로는 증분 백업 기능은 지원하지 않는다. 


옵션 

-o 표준출력으로 보내어 사용한다. (--create)

-i 표준 입력으로 받을 때 사용한다. 백업한 자료를 불러올 때 사용한다.(--extract)

-c 아카이브 포새 형식은 new SVR4 portable format with no CRC으로 지정한다. -H newc 옵션과 동일하다.

-t 내용만 확인할 때 사용한다.(--list)

-F 표준 입출ㄹ겨 전환 기호 대신에 파일명을 지정할 때 사용한다.

-B 입출력 블록 사이즈를 조절할 때 사용한다. 기본 512byte이고 최대 2120byte까지 가능하다. 

-H 아카이브 포맷 형식을 지정하는 옵션. bin, newc, crc등의 값을 사용할 수 있다.

    (-- format 포맷)


●  find /home | cpio -ocv > home.cpio

=> /home을 home.cpio 파일로 백업한다.



●  dump 

0~9 압축 레벨 0이면 전체 백업 

-f 백업할 매체나 파일명을 적는다. 
-u dump 작업 후에 /etc/dumpdates라는 파일에 관련 정보를 기록한다.


●  restore 


-i 대화식으로 복구할 파일을 선택한 후에 복원할 때 사용한다. 

-f 백업할 매체나 파일명을 적는다.

-r 전체 복원시에 사용한다. 이 옵션 사용 시에는 파일 시스템이 미리 생성되어 있어야 하고, 

   마운트도 되어 있어야 한다.


●  dd

=> 파티션이나 디스크 단위로 백업할 때 사용하는 유틸리티로 사용하기는 쉬우나 많은 시간이 소요된다.


●  rsync(remote synchronous)

네트워크로 연결된 원격지의 파일들을 동기화하는 유틸리티로 예전에 사용하던 rcp(remote copy)

에 비해 처리속도도 빠르고 다음과 같은 기능을 제공한다.


옵션 


-l 심볼릭 링크를 그대로 보존한다.(--links)

-L 심볼릭 링크가 참고하고 있는 파일을 복사한다.(--copy--links)

-H 하드 링크를 그대로 보존한다.(--hard-links)

-z 전송할 때 압축한다.(--compress) 

-b 백업할 때 동일한 파일이 존재하는 경우에 ~를 붙여서 백업 파일을 생성한다.(--backup)

-e 원격지에 접속 시, 사용할 프로토콜을 지정하는 옵션이다. 일반적으로ssh를 사용해서 최근에는 명기하지 않아도 된      다.

--progress 명령이 실행되는 동안의 전송 상황 정보를 출력한다.




posted by 송시혁
2018. 8. 29. 15:27 리눅스 마스터1급


<커널 컴파일 명령어 >


1. 커널 소스 파일 압축 해제 

2. 커널 소스이 설정 값 초기화(make mrproper)

3. 커널 컴파일 옵션 설정 작업(make menuconfig)

4. 커널 이미지 파일 생성 작업(make bzImage)

5. 커널 모듈 생성을 위한 컴파일 작업(make modules)

6. 커널 모듈 설치 작업(make modules_install) 

7. 커널 모듈 파일 복사, grub.conf 파일 수정(make install) 

8. 새로운 커널 사용을 위한 시스템 재부팅시


●  make help

 => 지원되는 다양한 target을 확인 가능 

 

● make mrproper

=> configure  작업을 통해 생성된 오브젝트 파일뿐만 아니라 config 파일 , 다양한 백업 

     파일 등도 제거한다.

 

● make distclean 

=> mrproper 작업과 더불어 편집된 백업 및 패치 파일도 모두 제거한다. 



● make_modules_install 

=> /lib/modules/커널버전 디렉터리 안에 복사하는 과정 


● make  bzImage 

=> 커널 이미지 생성. 확장자명은 bzip2  

 

● make menuconfig  

=> 텍스트 기반의 컬러메뉴를 제공하고 커서를 이용해서 이동이 가능하다. 


● make xconfig 

=> X 윈도 환경의 Qt 기반의 설정 도구이다. 


● make gconifg 

=> X 윈도 환경의 Gtk+ 기반의 설정 도구이다.


<디스크 확장 절차 >


디스크 인식 여부 확인 (fdisl -l)

파티션 작업  fdisk 하드웨어 장치이름 (예 /dev/sdb1)


fdisk /dev/sdb1 


+256

등 .. 메뉴얼에 따라 파티션 분할하거나 생성하는 작업 함 


시스템 재부팅  

파일 시스템 생성 (mkfs.ext4 /dev/sdb1)

디렉터리 생성 

마운트  mount -t ext4 /dev/sdb1 /backup

마운트 및 용량 확인  df -h 

부팅시에 자도 마운트 등록 /etc/ftab



<프린트 >

LPRng, CUPS 



LPRng

=> 버클리 프린팅 시스템


BSD 계열  lpr, lpq, lprm , lpc 

System v  lp, lpstat, cancel 


● lpr 

옵션 

# 인쇄할 매수 

-m 

-r   출력한 뒤에 파일 삭제 

-l    필터링 없이 직접 보낸다. 


● lp 

-d 다른 프린터 지정 

-n 인쇄할 매수를 지정 



초기에는 printtool, printconf , /etc/printcap 환경설정 파일 



● CUPS

=> 애플이 개발한 오픈 소스 프린팅 시스템 

     lpadmin 


redhat-config-printer , system-config-printer 


● /dev/lp0 

=> 병렬 포트 


● /dev/usb/lp0 

=> USB 포트 


CUPS인 경우 http://localhost:631로 접속가능 


alsactl 

ALSA 사운드카드를 제어하는 명령어 


옵션 

-d 디버그 모드를 사용한다.(--debug)

-f 환경설정 파일을 선택한다. 기본 파일은 /etc/asount.state 


command 


store    사운드카드에 대한 정보를 환경 설정 파일에 저장한다.

restore  환경 설정 파일로부터 선택된 사운드카드 정보를 다시 읽어 들인다. 

init        사운드 장치 초기화 



● alsactl init 

=> 사운드 장치를 초기화 


● alsamixer 

=> 커서(ncurese) 라이브러리 기반의 ALSA 사운드카드 오디오 믹서 프로그램 


● cdparanoia 

=> 오디오 CD에서 음악 파일을 추출할 때 사용하는 명령어 


옵션 

-w wav 파일로 추출한다.(기본 옵션)

-a Apple AIFF-C 포맷으로 추출한다. 

-B 모든 트랙의 음악을 Cdda2wav 스타일로 추출한다. 'track#.' 형태로 파일 이름이 생성된다. 


● cdparanoia -- "-3"

=> 트랙 3번부터 추출한다.


<스캐너 SANE>

sane-backend, sane-frontends 


XSANE(X based interfce for the SANE)

=> X-window 기반으로 프로그램 

     xsane이라고 입력하면 실행

http://www.xsane.org 

 

● sane-find-scanner 

=> USB 및 SCSI 스캐너와 관련 장치 파일을 찾아주는 명령.

     /dev/sg0, /dev/scanner, /dev/usb/scanner, /dev/usb/usbscanner 

     

옵션 

-q 스캐너 장치만 출력한다.

-v 자세한 정보를 출력한다.

-p 병렬(parallel)포트에 연결된 스캐너만 찾는다.


● scanimage 

=> 이미지를 스캔하는 명령이다. 


옵션 

-h             도움말 옵션으로 사용 가능한 옵션 목록을 출력한다.

-d             SANE의 장치 파일명를 적는 옵션(--device-name)

--format    이미지 형식을 지정하는 옵션으로 pnm과 tiff를 지정할 수 있다. 

-L             사용 가능한 스캐너 장치 목록을 출력한다.(--list-devices)



● scanadf 

=> 자동 문서 공급 장치(ADF: Automatic Document Feeder)가 장착된 스캐너에서 여러 개의 

     사진을 스캔할 때 사용하는 명령이다. 


● xcam 

=> GUI기반으로 평판 스캐너나 카메라부터 이미지를 스캔해 주는 명령이다. 



<rsyslog >



● /etc/rc.d/init.d/rsyslog 

=> rsyslogd 데몬을동작시크는 스크립트 


● /etc/rsyslog.conf 

=> rsyslogd 환경설정 파일


● /etc/sysconfig/rsyslog 

=> rsyslogd 데몽니 실행과 관련되 옵션 설정되어 있는 파일 


● /etc/sbin/rsyslogd 

=> 실제 rsyslogd 데몬 실행 


● *.=crit;kern.none 

=> 모든 facility가 발생하는 메시지 중에 crit 수준의 메시지만 /var/log/critical 파일에 

      기록하는데 커널이 발생하는 메시지는 제외한다. 

  

● logroate 

=> 로그 파일을 여러 개로 분할해 주는 프로그램. 파일의 자동 로테이션 기능, 압축 기능, 제거 등을 지원 


옵션 

-f 강제로 환경 설정 파일을 읽어 들여서 실행한다. (--force \)


● /etc/logrotate.conf 주요 설정 


weekly           로그 파일을 일주일마다 하는 설정. 

rotate 4         최대 4번까지 rotate를 하는 설정

create           로테이트를 한 후에 비어 있는 로그 파일을 생성하도록 설정하는 항목 

dateext         로테이션으로 생성되는 로그 파일에 해당 날짜를 덧붙여서 생성하는 항목 

nomissingok  로그 파일이 존재하지 않느 경우에 에러 메시지를 출력한다. 

                    기본값으로 설정 

missngok      로그 파일이 존재하지 않는 경우에 에러 메시지를 출력하지 않고 다음 파일로 이동한다.


/var/log/wtmp{

monthly

create 0644 root utmp 

       minisize 1M

rotate 1 

}


/var/log/wtmp는 한 달마다 로테이트 하지만, 파일 크기가 1MB가 되면 그 이전이라도 로테이트 

권한은 644 소유자는 umtp로 지정. 로테이션은 1번만 한다. 



● /var/lib/logrotate.status 

=> 파일은 각 로그 파일별로 로테이션된 날짜가 기록된 파일이다. 



● /var/log/message 

=> 시스템에서 발생하는 표준 메시지가 기록되는 파일로 대부분의 로그가 이 파일에 쌓이고 

    root만이 읽을 수 있도록 설정되어 있다.


● /var/log/secure

=> 인증에 기반한 접속과 관련된 로그가 기록되는 파일로 보통 login(telnet 및 ssh), tcp_wrappers, 

     xinetd 


● /var/log/dmesg

=> 시스템이 부팅할 때 출력되었던 로그가 기록되는데, 보통 커널 부트 메시지 로그라고 한다. 


● /var/log/mailog

=> sendmail, dovecot 등 메일 관련 작업이 기록되는 로그 파일이다. 


● /var/log/xferlog 

=> FTP 접속과 관련된 작업이 기록되는 파일로 로그 포맷은 총 14개의 영역으로 구성되어 있다. 

     

주요 항목 


● transfer-type 

=> 전송 형태를 나태면 하나의 문자로 표기

     a는 ascii 

b는 binary 


● special-action-flag 

action 이 발생 

특수한 문자로 표기 

C 파일이 압축되어진 경우 

U file이 압축되어 있지 않은 경우 

T tar로 묶여진 경우 

_ 어떠한 action이 발생되는 않은 경우 


● direction 

=> 전송된 지시를 나타내는 것으로 o는  outgoing의 약자로 다운로드된 경우이고, 

     i는 incoming의 약자로 업로드된 경우를 나타낸다. 


● access-mode 

=> 사용자가 어떤 형태로 로그인 하였는지 나타냄 

a anonymous 

g guest 

r  real 



● authentication-method 

=>  인증에 사용되는 방법 

      0은 none 

  1은 RFC931 인증을 나타낸다. 


● authentication-user-id 

=> 인증 방법에 의해 되돌려지는 사용자 계정이 기록.  

     authentication-method와 연계되어 0이면 보통 *로 표시된다. 


● completion-status 

=> 전송 상태를 하나의 문자로 나타내는데, c는 complete의 약자로 완전한 전송 

     i는 incomplete의 약자로 불완전한 전송을 나타내다.

 

● /var/log/cron 

=> cron 정보가 기록되는 파일이다. 


● /var/log/boot.log 

=> 부팅 시 발생되는 메시지가 기록되는 파일로 보통 부팅 시 동작하는 데몬 관련 정보 

 

● /var/log/lastlog 

=> telnet이나 ssh을 이용해서 접속한 각 사용자의 마지막 정보가 기록되는 파일 


● /var/log/wtmp 

=> 콘솔, telnet , ftp등 이용하여 접속한 사용자 기록, 시스템을 재부팅한 기록등의 로그가 쌓이는 파일 


● /var/log/btmp 

=> wtmp와는 반대되는 로그로 접속이 실패한 경우를 기록한다. 


● last 

=> 사용자의 로그인 정보, 재부팅한 정보를 파일이 생성되는데, 이것을 출력하는 명령어 


● lastlog 

=> 각각의 사용자가 마지막으로 로그인한 정보를 출력해 주는 명령으로 

    바이너리 파일인 /var/log/lastlog의 내용을 출력한다. 


● lastb 

=> last와 반대되는 개념의 명령으로 로그인에 실패 정보를 /var/log/btmp에 기록하는데, 

     이 파일의 내용를 출력하는 명령이다. 


● dmesg 

=> 커널 링 버퍼(kernel ring buffer)의 내용을 출력하고 제어하는 명령이다. 



 

 


 

 

 



'리눅스 마스터1급' 카테고리의 다른 글

리눅스 SSH 공개키를 이용한 패스워드 없이 인증(작성중)  (0) 2021.12.31
sysctl, ssh  (0) 2018.08.29
yum, tar 명령어 옵션  (0) 2018.08.28
swqp,ps, find, quata  (0) 2018.08.27
리눅스 웹 (약간 추가예정)  (0) 2018.08.26
posted by 송시혁
2018. 8. 28. 15:26 리눅스 마스터1급


● 수세계열 

=> YaST       zypper 


● rpm 


옵션 


-i   새로운 패키지를 설치할 때 사용한다. 

-U 기존의 패키지를 업그레이드. 패키지가 없으면 -i효과와 같다.

-F 이전 버전이 설치된 경우에만 설치한다.(--freshhen)

-h  설치 상황을 # 기호 표시해 준다.(--hash)

--rebuilddb 특정한 패키지 설치 후에 rpm패키지를 검색했을 때 나타나지 않을때 

                  rpm 데이터베이스를 업데이트할 때 사용 

-e 설치된 패키지 제거(--erase)

--allmatch 동일한 이름을 갖튼 패키지가 중복 설치되어 있는 경우에 모두 삭제 

--nodeps   의존성이 문제가 되는 경우에 사용되는데 보통 패키지명 뒤에 적는다.

                 삭제와 설치 모두 사용가능. 

 

● query 모드 


-q 질의시 사용하는 옵션. 패키지를 찾으면 패키지 이름과 버전만 표시(--query)

-i  설치된 패키지의 정보를 출력 

-l  패키지에서 설치한 모든 파일 정보 출력한다. -p와 같이쓰면 패키지 파일이 

    설치되는 목록을 함께 볼 수 있다.

-a 시스템에 설치된 모든 패키지 목록을 출력한다. (--all) 

-p 패키지 파일명 패키지 파일명의 정확한 이름을 알아야 한다. 

-f  지정한 파일을 설치한 패키지 이름을 출력한다. 

-c 해당 패키지의 설정 파일이나 스크립트 파일을 출력한다. 

-R 어떤 패키지에 의존하고 있는지를 보여준다. 즉, 해당패키지가 설치되거나 

     동작시에 필요한 패키지 목록을 보여준다. (--requries)

--filesbypkg rpm패키지가 많을 경우 목록으로 보이는 파일 앞에 패키지명을 붙인다. 

--queryformat 질의의 결과를 원하는 형태를 출력할 때 쓴다. C언어의 printf() 함수의 동작 방법과 

                      유사하다.


  

● 검증(verify) 모드 

=>  검증 모드는 rpm 데이터베이스에 저장되어 있는 패키지의 메타데이터(metadata) 정보를 이용하여 

      변경된 정보를 찾아내는 모드인다. 

  -V(--verify) 옵션을 사용하고 파일의 크기, 허가권, 소유권, 파일 형식 등에 변경 정보를 출력한다. 


<검증 코드 >

S  파일 크기 변경 

M 파일 모드(Permission & File Type) 변경 

5  메시지 다이제스트(Message Digest) 변경(보통 MD5 값 변경) 

D  장치 파일의 메이저 및 마이너 번호 불일치 

L  링크 파일 경로 불일치 

T 수정 시간 (Modify Time) 변경 

P 권한(Capability) 변경 

.  테스트 통과 

?  테스트를 수행하지 못했을 경우(예를 들면 허가권 거부 등) 


옵션 


-V 검증 시 사용하는 기본 옵션이다.(--verify)

-a 모든 패키지를 검사할 때 사용한다. 


● rpmbuild 

=> rpm 소스 파일인 .src.rpm 파일을 패키지 파일로 만드는 모드로서 rpmbuild라는 명령어를 

     사용한다. 

 

--rpmbuild 소스 rpm 파일을 이용해서 rpm 패키지를 생성할 때 사용한다. 



● yum ( Yellowdog Updater Modified)

rpm 기반의 시스템에서 패키지를 쉽게 설치해 주고 자동으로 업데이트를 수행하는 명령행 기반의 유틸리티 

의존성 문제를 자동으로 해결해 준다. 


● /etc/yum.conf 

=> 환경 설정 파일 


● /etc/yum.repos.d 

=> 설치 및 업데이틀 위한 저장소(repository) 관련 파일 

     CentOs-Base.repo   이 디렉터리에는 네트워크 작업용 저장소 파일 

CentOs-Media.repo  로컬 시스템에서 CD-ROM이나 DVD-ROM 작업용 저장소 파일 

/var/cache/yum/x86_64/6/base 작업 관련된 정보 

/var/log/yum.log yum 관련 작업의 로그 

 

항목 

[base]          yum 패키지 서버의 기본 경로를 설정하는 항목 

[update]       업데이트된 패키지를 위한 경로를 설정하는 항목 

[extras]        유용하게 쓸 수 있는 추가 패키지 경로를 설정하는 항목  

[centosplus] 존재하는 패키지들의 기능적 확장과 관련 있는 패키지 경로를 설정하는 항목 

[contrib]      CentOs 사용자들에 의해 제작된 패키지 경로를 설정하는 항목  



옵션 

-y   모든 질의에 'yes'라고 답한다. 

-v   자세한 정보를 출력한다.(--verbose)

 

yum [option][command][패키지_파일명]


command 


list [패키지명]

info                         패키지에 대한 정보를 출력하는 명령 

check-update          업데이트 필요한 패키지를 출력해 준다. 'yum list updates'

update [패키지명]   패키지 업데이트 시 사용 

install   [패키지명]   패키지 설치할 때 사용 

search  [문자열]     문자열이 포함된 패키지를 찾아준다. 

remove [패키지명]  패키지를 삭제할 때 사용한다.  

whatprovides            특정한 파일이나 기능과 관련된 패키지 정보를 검색할 때 사용한다. 

clean [값]               yum 관련해서 저장된 정보를 삭제할 때 사용한다. 설정 값에는 all, packages, 

                               rpmdb, dbcahce 

history                     yum 명령을 사용한 작업 이력을 출력한다. 


yumdownloader

=>rpm 패키지 파일 다운로드  yum-utils라는 패키지에 포함되어 있음.

    

확장 패키지 사용하기 

EPEL(Extar Package for Enterprise Linux)  repository 를 설치해야 한다.


EPEL(Extar Package for Enterprise Linux)

=> 레드헷 계령 리눅스에서 사용 가능한 확장 패키지 모음 

     Fedora Special interest Group 에서 생성하고 유지 및 관리한다. 

 

절차 예시 


ntfs 파일시스템을 마운트하는 기능은 기본적으로 제공 되지 않는다. 

그래서 확장 EPEL을 설치해야 한다. 


● yum install epel-release 

=> EPEL repository 설치 


● yum install ntfs-3g 

=> 관련 패키지 ntfs-3g 를 설치 


● mount -t ntfs-3g /dev/sdb1 /mnt 

=> 마운트해서 사용 

=> 참고로 X 윈도 기반으로 사용하는 경우에는 패키지 설치만 하면 대부분 자동으로 마운트된다. 


데비안 패키지 p336 


dpkg 

.deb 확장자명 


-i 패키지 파일염 - 패키지 설치 

-R 디렉터리명 - i옵션과 같이 사용되어 지정한 디렉터리 안에 있는 패키지를 설치 

-l 설치되어 있는 패키지를 출력 

-I(대문자i) 패키지 파일에 대한 정보를 출력(--info)

-c 패키지 파일명 -패키지 파일에 포함된 파일 정보를 출력(--contents)

-L 패키지의 의해 설치된 파일 목록을 보연준다.(listfile)

-r 패키지를 제거하는데, 환경 설정 파일을 남겨둔다. (--remove)

-P 패키지를 제거하는데, 환경 설정 파일까지 제거한다.(--purge)

-S 패키지 파일명을 볼 수 있다.(--search)

-C

--unpack

--configure --unpack옵션으로 풀린 패키지를 환경 설정할 때 사용 

-a --configure 시 패키지명 대신에 이 옵션을 사용하면 언팩(unpack)된 패키지들에 대한 환경을 설정(--pending)

-s 패키지명 패키지에 상태를 출력 (--status)



● tar 


옵션 


-c 지정한 파일이나 디렉터리를 하나로 묶어 새로운 tar 파일을 생성한다. 

-x 생성된 tar 파일을 푼다. 

-v 어떤 명령을 실행할 때 대상이 되고 있는 파일들을 보여준다. 

-f  작업 대상이 되는 tar 파일의 이름을 지정한다. 

-r  기존의 tar 파일 뒤에 파일을 추가한다. 

-t  tar 파일 안에 묶여 있는 파일의 목록을 출력한다.  

-h 심볼릭 링크가 가리키고 있는 원본 파일을 저장한다. 

-C 디렉터리를 변경할 때 사용한다. 

-p 파일의 생성되었을 때의 권한을 그대로 유지하게 해준다. 

-Z compress 관련 옵션으로 예전 UNIX계열 표준 압축 파일인 tar.Z에 사용한다. 

-z gzip 관련 옵션으로 압축 파일인 tar.gz에 사용한다. 

-j  bzip2 관련 옵션으로 압축 파일인 ta.bz2에 사용한다. 

-J xz 관련 옵션으로 압축 파일인 tar.xz에 사용한다. 


● compress, uncompress 

=> 전통 유닉스에서 사용하던 것. 압축률이 낮아 현재 대부분 배포판에서는 사용안 함 

     레드햇 리눅스는 ncompress 패키지를 설치하면 이용가능 

파일명 뒤에는 .Z가 붙는다. 

옵션 

-c 표준출력으로 지정하는 옵션으로 보통은 생략하지만, tar 등과 병행해서 

     사용 시는 반드시 표기해야 한다.

-v 압축 관련 정보를 출력한다.



● gzip, gunzip 

=> gzip(GNU zip)은 GNU에서 만든 압축 프로그램으로 유닉스용 압축 프로그램인 compress를 대체 

    하기 위해 만들어짐. .gz이 붙고, 압축 해제는 gunzip 명령을 사용한다. 


-d 압축을 풀 때 사용하는 옵션이다. 

-1 파일의압축 시간을 줄인다. 이 옵션을 사용하면 압축은 빠르지만 압축율은 떨어진다.

    (--fast)

-9 파일을 최대로 압축한다. 압축률은 좋아지지만 시간이 많이 걸린다. (--best)

-c 결과를 표준 출력으로 보낼 때 사용한다. tar와 병행해서 작업할 때 사용한다. 

-l  압축 파일에 대한 정보를 출력하는 명령이다. 


bzip 

bunzip


.bz2 


● xz/unxz 


-z 압축할 때 사용 옵션 

-d 압축을 풀 때 사용하는 옵션이다. 


.xz 


● zip, unzip 

=> -r 압축 대상이 디렉터리인 경우에 하위 디렉터리를 포함하여 압축한다. 

 

compress

uncompress

확장자 .Z


top 실행시 명령어 


스페이스바  - 화면 갱신 

h,?                   도뭉말을 출력 

k                      PID값을 입력하면 종료 신호를 보낸다.

i                      Zombie, idle 프로세스의 출력을 on/off한다.

n,#                  출력하는 프로세스의 수를 정한다. 

r                     Nice값을 변경 

q                     종료 

s                     화면을 갱신하는 시간을 변경 

F,f                   보여줄 항목을 추가하거나 삭제 

O,o                  보여줄 항목의 순서를 바꿈 

I(대문자i)           top의 맨 윗줄(uptime)을 on/off한다.

m                   메모리의 관련된 항목을 on/off 한다.  

t                     프로세스와 CPU 항목을 on/off 한다. 

c                    Command line의 옵션을 on/off 한다.

M                    프로세스의 RSS값을 정렬한다.

P                    %CPU값으로 정렬(기본값)

T                    Time값으로 정렬 

W                   바꾼 설정을 저장 








'리눅스 마스터1급' 카테고리의 다른 글

sysctl, ssh  (0) 2018.08.29
log, 커널 컴파일, 프린터 등...  (0) 2018.08.29
swqp,ps, find, quata  (0) 2018.08.27
리눅스 웹 (약간 추가예정)  (0) 2018.08.26
samba, NIS  (0) 2018.08.25
posted by 송시혁
2018. 8. 27. 15:24 리눅스 마스터1급


<스왑 영역 생성>

1. mkswap /swap-file

2. /etc/fstab 등록 

 => /swap-file swap swap defaults 0 0


 

<스왑 파티션 생성 >

1. fdisk /dev/sdb , mkfs -t 82(swap) /dev/sdb2 로 파일시스템 만듬 

    

2. mkswap -c /dev/sdb2 

스왑 파티션 생성 


3. swapon /dev/sdb2 

=> 스왑영역 활성화  


4. /etc/fstab 등록 (재부팅시 적용할 때만 등록, 그거 아니면 필요 없음)

=> /dev/sdb2 swap swap defaults 0 0 


●  Disk quota 

=> 사용자 및 그룹의 디스크 사용량고 생성할 수 있는 파일의 개수(i-node의 수)를 제한할 수 있다.


●  quotacheck  

=> 디스크를 사용하고 있는 파일 시스템 체크하여 quota 기록파일(aquota.user, aquota.group, quota.user, quota.group)


옵션 

-a  사용자와 그룹에 대한 쿼터를 체크한다.

-m 읽기 전용 모드 등의 이유로 마운트를 하지 못할 때 사용 

-f 쿼터 파일 초기 생성시 인식하지 못하는 경우에강제로 인식시킬 때 사용 

-u 사용자 쿼터 파일을 체크할 때 사용하는 옵션이다.(기본 옵션)

-g 그룹 쿼터 파일을 체크할 때 사용하는 옵션이다.

-c 기존의 생성된 쿠터 관련 파일을 읽지 않고 새롭게 초기화할 때 사용한다.  



●  quotacheck -mf 

=> quotaoff를 하지 않아도 강제로 체크 


●  quotacheck -mf  -u -g

=> 사용자 , 그룹 쿼터 파일을 체크할 때 사용하는 옵션 


●  quotacheck -cf

=> 쿼터 파일을 초기화한다. 


●  equota

 => 쿼터 설정하는 명령어 

 

 -t Soft limit를 초과한 후부터 적용되는 시간제한(grace period)을 설정하는 옵션 

 -p 특정 사용자의 쿼터를 다른 사용자에게 동일한 설정으로 적용시 사용할때 옵션 


●  quataon/quataoff

=> 쿼터 설정을 켜고 끄는것 


옵션 

-u 사용자 쿼터 활성화 

-g 그룹 쿼터를 활성화 

-v 메시지를 자세히 출력한다. 


●  requata 

=> 파일 시스템 단위로 쿼터 설정 정보를 출력해주는 명령이다. 

옵션 

-a 쿼터가 설정되어 있는 모든 정보를 출력. 이 옵션을 사용하면 디렉터리명 지정이 필요 없다. 

-u 사용자 쿼터 정보 

-g 그룹 쿼터 정보 



●  quata 

=> 사용자 단위로 쿼터 설정 정보를 출력해주는 명령어 


-u 사용자 쿼터 정보

-g 그룹 쿼터 정보 


#quata 

Disk quatas fro user posein (uid 500) 

        Filesystem blocks quata     limit          grace     files     quota    limit    grace 

/dev/sda1   1204    100000  1200000                  167      0               0



●  setquata 

=> 쿼터를 설정하는 명령으로 vi 편집기를 이용하는 대신에 직접 명령행에서 설정 가능하다. 


형식 


●  setquota [option] block soft_limit block hard_limit i-node soft_limit  i-node hard_limit 파일시스템 

●  setquota -t blcok_grade i-node_grade 


옵션 

-t 유예 기간(Grace Time)을 설정할 때 사용한다. (단위는 초)


●  setquota -u 10000 11000 0 0 /home 

=> 사용자의 사용량 제한 soft 10MB, hard 11MB로 제한하고, I-node에 대한 제한은 설정하지 않는다. 

     

●  setquota -t 10000 28800

=> 블록의 유예기간은 10000초 I-node는 8시간으로 설정 


사용자 쿼터 설정하기 


●  /etc/fstab

=> usrquata 를 추가로 기입 해야 함  

 

●  mount -o remount /home 

=> /home 영역을 다시 마운트  

 

●  quatacheck -mf /home

=> 쿼터 파일 생성 및 쿼터 체크 


●  edquota songsi 

=> 사용자에 대한 쿼터 설정 


●  qutaon /home 

=> 쿼터 시작 


●  repquota /home 

=> 쿼터 설정 확인 


그룹 쿼터 설정 


●  /etc/fstab

=> grpquata를 추가 


●  mount -o remount /home 

=> /home 영역을 다시 마운트 


●  quatacheck -gm /home

=> 쿼터 파일 생성 및 쿼터 체크 .옵션 -gm으로 하다.


●  edquota -g test 

=> 그룹에 대한 쿼터 설정 


나머지는 동일 

●  cd - 

=>  이동하기 바로 직전의 디렉토리로 이동 


●  mkdir 

옵션 

-p  경로로 지정된 서브 디렉터리가 존재하지 않은 경우에 함께 생성한ㄷ. (-- paretns)

-m 디렉터리 생성과 동시에 퍼미션(permisson)을 설정한다.(--mode) 

-v  생성된 디렉터리를 메시지로 출력한다.(--verbose)


●  mkdir -p www/pds/photo 

=> 현재 디렉터리에 있는 www하위의 pds하위의 photo를 생성, 만약에 www,pds에 

     존재하지 않으면 같이 생성한다. 

 


●  rmdir -p www/pds/photo

=> 현재 디렉터리에 있는 www하위의 pds하위의 photo를 삭제, 만약에 pds에 

     빈 디렉터리가 되면 같이 삭제 된다. www도 빈 디렉터리면 삭제가 된다. 

 


●  ls 디렉터리에 정보, 파일들을 조회


옵션 

-F 파일의 형태에 따라 관련 정보를 출력 

     파일이름 뒤에 '*', 디렉터리 이름 뒤에 './', symbolic Link뒤에 '@'를 붙여서 표시 

-d 대상이 디렉터리인 경우에 디렉터리 안의 내용 대신에 해당 디렉터리에 대한 정보를 출력 

-t  출력되는 정보가 알파벳순이 아니고 최근 수정된 파일(또는 디렉토리)부터 시간순으로 출력 

-u 파일 및 디렉터리의 최종 수정된 시간대신 사용된 시간(최종접근 시간)으로 출력 된다. 

-i   i-Node 번호를 파일 또는 디렉터리명 앞에 출력한다. 

-r  파일 및 디렉터리 정보를 알파벳 역순으로 출력한다. (--reverse)

-R 존재하는 하위 디렉터리별로 관련 내용을 재귀적으로 전부 출력한다.(--recursive)

-S 파일 크기가 큰 것부터 출력한다.  

--color 파일의  종류에 따라색을 보여준다. 레드헷 계열은 --color=tty설정 

   이것은 표준 출력에서만 색을 사용하도록 지정 

-h 보통 -i 옵셕놔 같이 사용되면, 보기 쉽게 단위(k,ga)를 표시 (--human -readable)

-Z SElnux  관련된 보안문맥(security context)을 출력한다. 



●  cp 복사 명령어 


옵션 

-s 복사하는 대신에 심볼릭 링크(Symbolic link)를 만든다. 

-p 소유권, 그룹, 허가권 등 모든 정보를 복사한다. 

-d 심볼릭 링크 파일을 복사할 경우 그 원본 파일을 찾아 복사하지만, 이 옵션을 쓰면 

    원본과 심볼릭 모두 복사 

-a 모든 것을 복사, -dpR과 동일. 심볼릭 링크까지 복사가능하고 모든 정보와 하위 디렉터리 모두 복사 

-l  복사대신에 하드링크 파일 만든다. 

-u 복사되는 대상이 최신의 파일이라면 복사되지 않는다. (--update)


●  rm 삭제 명령어 


옵션 

-i 삭제시 질의 모드 .

-- 파일이름이 -가 붙어있는 파일을 삭제 


●  타임스탬프 

=>  리눅스에서 파일에 대한 시간 관련 정보를 타임스탬프라 부른다. 


●  Access Time 

=>  파일의 내용을 읽었을 때 바뀌는 시간. 


●  Modify Time 

=> 파일의 내용을 수정했을 때 바뀌는 시간.  ls -l명령어로 나타내는 시간 


●  Change Time 

=> 파일의 내용을 수정했을 때 기록되는 시간으로 절대 변경 불가능한 시간 


●  file 

=> 파일의 종류를 출력해 주는 명령으로 관련 정보는 /usr/share/magic이라는 파일을 참조한다.


옵션 

-b 정보 출력할 때 파일 이름을 출력하지 않는다. (--brief) 


●  find

=> 파일이나 디렉터리 찾을 때 사용하는 명령어 


옵션 

-name 주어진 이름의 파일나 디렉터리를 찾는다. 

-perm  지정한 퍼미션 값을 갖는 파일을 찾는다.


예) -perm 755  퍼미션값인 755로 설정된 파일(디렉터리)

      -perm -6000 setUid, setGid  동시에 갖는 파일(디렉터리)

  -perm +6000 setUid, setGid  둘 중 하나 이상을 갖는 파일(디렉터리)

 

-type 지정한 파일의 유형을 찾는다.

   d: 디렉터리 

   f:  일반 파일 

   l:  링크 파일 

   b: 블록 디바이스 

   c: 캐릭터 디바이스 

   p: 파이프 파일 

   s: 소켓 파일 


-inum n   node 번호가 n인 파일을 찾는다.    

-iname    대소문자를 구별하지 않고 이름으로 찾을 때 사용한다. 

-empty    파일의 크기가 0이거나 비어있는 디렉터리 찾는다. 

-newer    지정한 파일보다 뒤에 수정된 파일을 찾는다(-mtime)

-cnewer   지정한 파일보다 뒤에 변화된 파일을 찾는다.(-ctime)

-ctime    change time 기준으로 찾는다. 

-mtime   modify time 기준으로 찾는다. 

-atime    n일(24시간) 이전에 접근한 파일을 찾는다.  +n은 n일 이전에 액세스한 파일을 찾는다는 

              의미미고,  -n은 n일 내에 액세스한 파일을 찾는다는 뜻이다. 

  

●  find / -type -f -perm +6000 -ls 

=> 루트 디렉터리로부터 파일이며, 퍼미션이 4000 또는 2000인것을 찾는다. 


●  find / -nouser -o -nogroup 

=> -o는 또는의 의미 소유자나 소유그룹이 없는 것을 검색 


●  find . -name '*.txt' -type -f -exec rm {} \;

=> .txt로 끝나는 파일을 검색하고 삭제를 실행한다. 


●  find / -ctime -2 + -ctime 1 ls 

=> 이틀 전에서 하루 이후에 수정된 파일을 찾고 ls로 출력한다. 


cat 


-b 텍스트 파일 출력할 때 행 번호를 붙여 준다. (공백만 있는 줄 제외)

-n 텍스트 파일 출력할 때 행 번호를 붙여 준다. (공백만 있는 줄 포함) 

-E 각 라인의 맨 끝에 $표시(개행 문자)를 붙여출력 

-T 탭 문자를 ^|로 표시하여 출력 

-v 인쇄가 불가능한 문자를 식별할 수 있도록 출력한다. 

-A -vET 옵션을 통합한 옵션 

-s 인접한 여러 공백 줄을 하나의 공백 줄로 출력한다. 


●  ps 

=> 동작중인 프로세스의 상태를 출력 해준다.


옵션 

a 터미널과 연관된 프로세스를 출력하는 옵션 

u 프로세스의 소유자를 기준으로 출력한다. 

x 데몬 프로세스처럼 터미널에 종속되지 않는 프로세스를 출력한다.

l     프로세스 정보를 길게 보여주는 옵션으로 우선순위와 관련되 PRI와 NI값을 출력 

f    프로세스간의 상속관계를 트리 구조로 보여준다. 

p   특정 PID를 지정할 때 상용(BSD 계열)

-e 모든 프로세스 출력 

-a 세션 리더(일반적으로 로그인 쉘)을 제외하고 터미널에 종속되지 않은 모든 프로세스를 출력한다. 

-f  유닉스 스타일로 출력해 주는 옵션으로 UID, PID, PPID 등이 함께 표시된다. 

-C 지정한 프로세스만 보여준다. 

-o 값 = 출력 포맷을 지정하는 옵션으로 값으로는 pid,tty, time,cmd 등을 지정할 수 있다. 

-p 특정 PID를 지정할 때 사용 (Sysem V 계열)

-u 특정 사용자의프로세스 정보를 확인시 사용. 현재 사용자 기준 


STAT


R(running)     실행, 실행 될수 있는 상태 

S(Sleeping)   인터럽트에 의한 sleep상태로 특정 이벤트가 끝나기를 기다리는 상태 

D(Disk wait)   디스크 I/O에 의해  대기 상태, 

X                  죽어있는 상태 

L                   메모리 안에서 페이지가 잠금된 상태(보통 real-time과 일반적 I/O에 의해 발생)

l                   멀티 쓰레드 상태 

+                  포어그라운드 프로세스 그룹 

<                  인위적으로 우선순위 높아진상태(사용자 설정에 의한것이 아님)


●  pstree 

=> 프로세스 상태를 트리(Tree)로 출력해 주는 명령이다. 가장 왼쪽이 부모 프로세스이고, 

     오른쪽이 자식 프로세스에 해당한다.  

옵션 

-a 각 프로세스의 명령행 인자까지 보여준다. 

-h 현재 프로세스와 그것의 조상 프로세스를 하이라이트로 강조해서 보여준다. 

-n 프로세스 이름 대신에 PID값으로 정렬해서 보연준다. 

-p PID 값을 같이 보여준다. 




● top 

=> 동작중인 프로세스의 상태를 실시간 화면에 출력해 주는 명령으로 프로세스의 상태뿐만 

     아니라 CPU, 메모리, 부하 상태 등도 확인할 수 있다. 


옵션 

-d 갱신 시간을 설정한다.(초 단위)

-p 특정 PID 값을 갖는 프로세스를 모니터링할 때 사용한다. 


top 항목 


PR 우선순위 값  

NI   우선순위 nice vlaue (-20 ~ 19) 작을 수록 우선순위 높으 ㅁ

VIRT 가상 메모리의 총 사용량 

RES  프로세스가 사용하는 실제 메모리양(Resident size(kb))

SHR  프로세스가 사용하는 공유 메모리의 양  

S      현재 프로세스의 상태를 나타낸다



● kill -HUP 1010

=> 1010 PID의 프로세스를 재시작 한다. 


※ NI는 사용자는 증가만 가능하고 root만 감소시키는게 가능. 

 

● renice 

=> 실행중인 프로세스의 우선순위를 변경할 때 사용하는 명령으로 프로세스ID PID, 사용자 이름, 프로세스의 

     그룹 ID를 이용한다. 

 

● nohup 

=> 사용자가 로그아웃하거나 터미널 창이 닫혀도 실행중인 프로세스를 백그라운드 프로세스로 대체 

     

● pgrep 

=> 프로세스를 이름 기반으로 검색하는 명령으로 PID  값을 출력한다. 


● pkill 

=> 프로세스명을 사용해서 특정 프로세스에 시그널을 보내는 명령이다.        




















'리눅스 마스터1급' 카테고리의 다른 글

log, 커널 컴파일, 프린터 등...  (0) 2018.08.29
yum, tar 명령어 옵션  (0) 2018.08.28
리눅스 웹 (약간 추가예정)  (0) 2018.08.26
samba, NIS  (0) 2018.08.25
리눅스 iptables,xinetd,  (0) 2018.08.24
posted by 송시혁
2018. 8. 26. 20:35 리눅스 마스터1급

<웹 >


웹 클라이언트가 HTTP Method URL, 프로토콜 버넞, MIME등을 전송하고 

HTTP서버는 클라이언트의 요구에 데이터, 실제자료, 상태 코드등으로 응답한다.


주요 HTTP 요청 메소드(Method) 


GET       서버에서 자료를 가져오는 요청 

POST    서버에 정보를 저장하도록 하는 요청 

HEAD    GET가 유사하나 HTTP 헤더 정보만 가져옴 

PUT      서버에 자료를 올리 때 사용 

DELETE 서버의 자료를 삭제할 때 사용 



● NGINX

클라이언트에 요청에 응답하기 위해 비동기 이벤트 기반 구조 


아파치 HTTP서버는 프로세스 및 스레드 기반으로 동작하는 구조


● HTTP 응답 


● 1xx Inforamtional


100 continue 

101 Switching protocol 


● 2xx successful 


200 OK

201 Created

202 Accepted 

203 Non-Authoritative Information

204 No content 

205 reset content 

206 Partial Content 




● 3xx Redirection

300 Multiple Choices 

301 Moved Permanently 

302 Moved Temporarily

303 See other

304 Not Modified 

305 Use proxy 



● 4xx(Client Error)


400 Bad Request

401 Uauthorized 

402 Payment Required 

403 Forbidden 

404 Not Found 

405 Method Not Allowed 

406 Not Acceptable 




● 5xx(Server Error)


500 Internal Server Error 

501 Not Implemented 

502 Bad Gateway

503 Service unavailable

504 Gateway timeout 

505 HTTP Version not supported 



● LAMP(Linux Apache Mysql PHP)

=> mysql 먼저 설치, apache , php순으로 설치한다. 


<MPM 주요 모듈 >


● prefork 

=> 프로세스를 제어하는 부모 프로세스는 클라이언트의 요청이 들어온 경우를 대비해 대기하고 있다가 자식 프로세스의 생성 

    여부 등을 관리하는 방식 


● worker 

=> 초기에 시작하는 프로세스의 개수를 지정하고, 페이지 요청이 들어오면 스레드로 처리하는 방식

    지정되 스레드 수를 초과할 경우에 새로운 자식 프로세스를 생성하여 처리하는 방식 

● 해쉬 관련 명령어 

=> sha1sum, sha256sum, md5sum 


● --prefix

=> 패키지가 설치 디렉터리를 지정 


● --enable-mods-shared=all는 

=> 관련 모듈을 전부 동적 모듈로 설치하도록 지정하는 것 


● CentOs6은 cmake를 설치해야한다.

=>yum cmake install


--initialize root 사용자의 임시 패스워드 부여 없이 초기화 설정을 진행하려면 --initialize-insecure로 실행


● /usr/local/mysql/bin/mysqld_safe --user=root & 

=> mysql 데몬 실행 

     오류가 발생시, myslq-lib 관련 패키지를 제거 여부 확인 

cd /usr/local/mysql/bin/mysqld 

mysqld --initialize --user=root 명령부터 다시 실행 


● --with-apxs2 

=> PHP가 아파치데몬에 DSO 모듈로 로링되돌곡 하기 위해서 관련 실행 MySQL이 설치되어 있는 디렉터리 가리킴.

 

● PHP가 인식할수 있도록 다음과 같이 설정 


http.conf mime_module 영역에 아래 2줄을 추가 


AddType application/x-httpd-php .php .htm .html .inc .php5 

AddType application/x-httpd-php-source .phps 


● /usr/local/apache/bin/apachectl restart 

=> 아파치 데몬 재시작 


● http.conf

=> 아파치 웹 서버의 기본적인 설정을 담당하는 파일로 항목을 살펴보면 다음과 같다.


● ServerRoot "usr/local/apache"

=> 웹 서버가 설치된 디렉터리를 나타낸다.


● Listen 80 

=> 아파치 웹 서버의 포트를 설정한다. 아파치 1.3버전의 Port 지시자를 대체한다.


user daemon 

group daemon 

=> 실행된 httpd 데몬의 사용자 및 그룹 권한을 나타낸다.


● ServerAdmin songsi@song.org 

=> 서버에 묹네가 발생했을 경우 보낼 관리자의 이메일 주소를 적는다.


● ServerName www.songsi.org:80

=> 서버의 도메인을 적는다. 


● DocumentRoot "/usr/local/apache/htdocs"

=> 웹 문서가 위치하는 디렉터리를 나타낸다. 



● httpd 

=> apache 웹 서버 관련 명령어 


옵션 

-t  환경설정 파일인 httpd.conf의 문법적 오류를 검사한다.

-f  새로 설정한 conf 파일이 있을 경우에 그 설정 파일로 아파치 데몬을 구동할 때 사용한다. 

-S 설정되어 있는 가상 호스트를 출력한다. 

-l   컴파일된 모듈에 대한 목록을 출력한다. 



● /usr/local/apache/bin/httpd & 

=> 웹 데몬 구동 


● /usr/local/apache/bin/httpd -t

=> Syntax OK 


● /usr/local/apache/bin/apachectl 

=>  apachectl 이라는 데몬 실행 제어 스크립트를 이용하여 실행 및 제어를 할 수 있다. 


주요 cmd 


help        간단한 도움말을 출력 

start        아파치 데몬을 시작한다.

stiop       아파치 데몬을 중지시킨다. 

restart      아파치 데몬을 재시작한다.

configtest  httpd.con 파일의 문법적 오류를 검사한다.

gracefu     웹 서버에 연결된 접속을 끊지 않고, httpd.conf의 설정만을 다시 읽어 들인다. 

status, flullstatus 웹 서버의 상태를 간단히 또는 전체적으로 출력한다. mod_status라는 모듈이 설치되어 

                        있어야 하고, http.conf의 <Location /server-status > 영역이 설정되어 있어야 한다. 


● /etc/rc.d/rc.local

=> 부팅 시 자동 실행괴기 설정하는 파일 

● httpd.conf 

/usr/local/apache/conf/httpd.conf 


● ServerName 

=> 서버의 도메인 이름을 적는 부분. 도메인 없으면 IP주소 적어되 된다. 


● DocumentRoot 

=> 웹 문서인 HTML 문서가 위치하는 경로를 나타낸다. 


● DirectoryIndex 

=> 여러 웹 문서 중에 처음으로 인식하는 인덱스 문서를 지정하는 부분 . 기본값은 index.html 

예) DirectoryIndex index.html index.htm index.php index.php5

<apache 사용자 인증 >

● htpasswd 

=> apache 사용자 인증 파일을 생성하고 관리해 주는 명령어이다. 


● htpasswd -c /etc/password songsi 

songsi라는 웹 사용자를 생성하고 계정 파일은 /etc/password로 생성한다.


-c 사용자계저 파일을 생성할 때 사용하는 옵션으로 계정 생성 시 반드시 한 번은 사용해야 한다. 


● php 파일 작성 시 <?php ~?> 형식으로 작업해야 하지만, 

   <?~?>으로 바꿀 수 있다. 


/usr/local/apache/conf/php.ini 

=> short_open_tag=ON으로 바꾸어 준다. 


아파치 웹 서버를 재시작한다. 

/usr/local/apache/bin/apachectl start 



<Direcetory />

Options FollowSymLinks 

AllowOveridde None 

Order deny,allow 

Deny from all

</Directory>


Options

=> CGI, SSI(Server Side Includes), 디렉터리의 심볼릭 링크 사용 여부 등을 

     설정


AllowOveridde

=> 사용자 인증에 관련된 요소로 웹 클라이언트가 특정 디렉터리에 접근할 때 

    해당 디렉터리에 있는 유저 인증 파일인 .htaccess 파일을 읽게 되는데  none

으로 설정시 이를 무시


Order

=> 해당 디렉터리에 접근하는 호스트 인증을 담당한다. 


Options 항목 

 

NONE                 어떤 옵션도 사용 할수 없음 모든 접근을 거부 

ALL                    MutltiView 옵션을 제외한 모든 옵션을 부여(기본값)

Includes 서버측의 추가적인 정보를 제공 SSI(Server Side Includes)

indexes URL이 지정된 디렉터리에 index.html과 같은 지정된 파일이 

                        없을 경우 해당 디렉터리의 파일 목록을 보여주는 옵션    

FollowSymLinks   디렉터리 내에서 심볼릭 링크의 사용을 허가 

ExecCGI            CGI 스크립트를 실행할 수 있도록 허가 

includesNOEXEC  ssl은 허용하지만 #exec 명령, CGI 스크립트 #include 불허 

MutltiView           ALL 옵션이 설정되었을 때만 지정된 목록의 multiviesw를 허용하는거 

                        유사한 파일 이름을 찾아주는 기능을 실행. 예를 들어 index라고만 입력하더라도 

index.*를 찾아서 보여줌 


AllowOveridde 항목



NONE          AllowOveridde 사용하지 않음 

ALL             http.conf 파일의 AccessFileName 지시자로 설정한 파일을 사용하고, 

                  관련 지시자를 사용할 수 있음 

AuthConfig    AccessFileName 지시자에 명시한 파일에 대해서 사용자 인증 지시자 사용을 허락 

                  

Fileinfo         AccessFileName 지시자로 설정한 파일에 대해서 문서 유형을 제어하는 지시자 사용을 허락 

indexes        AccessFileName 지시자로 설정한 파일에 대해서 디렉터리 indexing을 제어하는 지시자 사용을 허락.

Limit    AccessFileName 지시자로 설정한 파일에 대해서 호스트 접근을 제어하는 지시자 사용을 허락 

Options       AccessFileName 지시자로 명시한 파일에 대해서 Options 그리고 XBitHack등과 같은 지시자 사용을 허락 




Order 항목 

해당디렉터리에 대해 IP 주소 및 도메인에 대한 필터링 순서를 설정한다. 



'리눅스 마스터1급' 카테고리의 다른 글

yum, tar 명령어 옵션  (0) 2018.08.28
swqp,ps, find, quata  (0) 2018.08.27
samba, NIS  (0) 2018.08.25
리눅스 iptables,xinetd,  (0) 2018.08.24
리눅스 명령어(centOs)권한, 파일 시스템  (0) 2018.08.21
posted by 송시혁
2018. 8. 25. 22:09 리눅스 마스터1급


<samba 서버 관리>


●  SMB(Server Message Block)

MS와 인넽은 SMB라는 프로토콜을 만들어 디스트나 프린터를 공유할 수 있도록 개발

리눅스와 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 공유 및 하드웨어를 

 공유할 수 있도록 해준다.

 

●   CIFS(Common Internet File System)

 => 유닉스와 윈도환경을 동시에 지원하는 시스템 



RPM 패키지 


samba

삼바 데몬, 서버 라이브러리, 실행 데몬 스크립트 등이 포함된 패키지 



samba-common 

smb.conf,smbpasswd, testparam등이 포함된 패키지.

서버와 클라이언트 모두 필요하다


samba-client

삼바 클라이언트 명령어가 포함된 패키지. smbclient, smbtree등 


samba-swat 

swat(Samba Web Administratjon)은 웹 기반으로 살바를 제어할 수 있는 

패키지로 smb.conf의 주요 설정을 원격에서 제어할 수 있다.

901번 포트를 사용하므로 http://localhost:901 형태로 접근해서 제어한다.


<삼바데몬 >


●   smbd

파일과 프린터 공유, 사용자의 권한 부여 및 확인 등 사용자 인증을 담당한다.


●   nmbd 

담당하는 데몬으로 클라이언트를 위해 NetBOS nameserver를 지원,

browsing 지원, 컴퓨터 이름과 ip주소 연결등이 역할을 수행한다.     



smb.conf 


[global]  삼바 서버의 전체적인 환경 설정를 담당하는 섹션 

[home]   각 사용자들이 자신의 홈 디렉터리로 접근할 때의 권한을 설정하는 섹션 

[printers] 프린터 관련 권한 세션 


●   workgroup = MYGROUP 

=> 윈도우 작업 그룹에 해당하는 항목으로 공유 그룹명 


●   server string = Samba server 

=> 서버에 대한 설명을 설정 


●   netbios name = MYSERVER

=> 윈도우에서 이름으로 접속할 때  관련 이름을 지정한다.


●   interfaces = lo eht0 192.168.1.0/24 192.168.2.0/24 

=> 네트워크 인터페이스별로 접근 제얼할 때 설정한다. 


●   host allow =127. 192.168.1. 192.168.14.

=> 삼바 서버에 접속을 허용할 호스트를 지정, EXCEPT라는 키워드와 와일드 문자 

     사용 가능. 네트워크/서브네 마스트 형태도 가능 

 

●   hosts allow 192.168.1.0 EXCEPT 192.168.1.220 192.168.1.144 

=> 192.168.1.220, 192.168.1.144  제외한 192.168.1.0 대역대의 ip주소를 허용 


●   log file = /var/log/samba/log.%m 

=> 삼바 서버에 좁속하는 호스트의 로그를 기록하는 파일을 지정한다.


●   max log size = 50 

=> 로그 파일의 최대 크기를 설정하는 부분으로 단위는 KB 0으로 설정시 크기의 제한 없음 


●   securtiy = user 

=> 삼버 서버 접속시 인증 모드를 설정하는 항목으로 주요 모드는 다음과 같다. 


uesr 삼바 서버에 접속할 때 사용자명과 패스워드를 입력해야 한다. 

share                 삼바 서버에 사용자 인증 없이 접근할 때 사용 

server                윈도우 NT 서버와 같이 다른 서버에 사용자명과 암호를 전달하여 인증할 때 사용 

domain 또는 ads  윈도우의 도메인 컨트롤러 (Domain Controller)에 전달하여 유효한 사용자 여부를 

                        확인할 때 사용한다. ads는 Activity Directory Server를 사용하는 경우에 지정한다. 


● passdb backend = tdbsam

securtiy = user 일때, 사용자의 패스워드를 설정하는 방식 


< share definitions의 주요 옵션 >


comment                    간단한 설명을 설정 

path                           공유 디렉터리의 경로를 설정   

read only                    공유 디렉터리를 읽기 전용으로 설정 

writalbe, write OK          공유 디렉터리를  쓰기를 가능하게 설정 

valid users                   공유 디렉터리를 이용할 수 있는 사용자를 지정 

wirte list                      공유 디렉터리에 접근 및 쓰기 권한을 행사할 수 있는 사용자를 지정한다. 

                                 그룹인 경우에는 @를 붙인다. 

public, guset ok           다른 사용자들이 이용할 수 있도록 설정한다.

browseable, browsable    공유 디렉터리의 리스트를 보여줄 때 설정한다. 

printable                         공유 디렉터리에 스풀 파일을 지정할 때 설정한다.   

create mask, create mode  파일을 설정할 때 허가권을 지정할 때 설정한다. 



● /etc/samba/smbuser 

=> 유닉스 계열 사용자 이름과 삼바 사용자간의 이륾을 매칭시키는 설정파일이다. 

    root는 administator 및 admin으로 매칭되고, nobody는 guest, pcguest, smbguest로 매칭된다.

●  smbclient 

=> 리눅스, 유닉스 클라이언트 명령어로 윈도 서버로 접근 할때 사용 

     \, / 모두 사용가능


주의점 

윈도우에서 NetBIOS 접근시 \\192.168.1.1 로 접속간으. 

리눅스에서는 smbclient 명령어 이용시 윈도우에 2배를 써야 한다. 

이것에 대한 설명은 다음과 같다.

\\\\192.168.12.22\\source

=> \는 호스명 앞에 4개(윈도우가 2개) 디렉터리 \\ 2개(윈도우1개) 


//192.168.12.22/source 

=> /를 사용하는 경우에 호스트명앞에는 //, 디렉터리앞에는 /개를 사용한다. 


※ 윈도우가 대소문자 구분하지 않으므로 리눅스도 대소문자 구분안함 


주요 옵션 

-L  접속하려는 삼바 서버의 공유 디렉터리 정보를 출력한다. 

-U 삼바 서버에 접속할 때 사용자명을 입력한다. 

-M 지정한 호스트명에 메시지를 전송할 때 사용한다. 명령을 입력하고 전송하려면 

     ctrl+d를 누른다. 


●  smbclient -L joon -U administator

=> joon이라는 호스트에 administator 계정으로 접근하여 공유된 목록된 확인한다. 


●  smbclient -L joon -U administator%1234 

=> joon이라는 호스트에 administarator 계정으로 접근하는데 패스워드는 1234이다. 


●  smbclient \\\\joon\\source -U administarator

=> joon이라는 호스트에 공유 디렉터리인 source에 administarator 계정으로 접근한다.


●  smbstatus 

삼바 서버에 사용하는 명령어로 클랑이언트와 연결된 상태를 출력한다.


●  testparam

=> 삼바의 환경 설정 파일인 smb.conf의 설정 여부를 확인한다.


●  testparam /etc/samba/smb.conf www 192.168.5.13 

=> IP주소가 192.168.5.13이고 호스트명이 www인 삼바 서버의 환경 설정 파일을 확인한다.


●  nmlookup [option]

=> WINS 서버에 질의할 때 사용하는 명령으로 DNS서버에 질의하는 nslookup 명령과 유사하다.


옵션 

-U 조회할 서버 이름을 지정한다.  

-R 조회할 이름을 지정한다. 


●  nmlookup -U samba.org -R IRIX#1B

=> samba.org라늕 서버에 IRIX 그룹의 1B라는 이름을 조회 


●  nmlblookup * 

=> 브로드캐스트 영역에 있는 모든 이름을 조회한다.


●  mount.cifs 

=> CIFS 기반의 마운트 명령으로 보통 윈도우에 공유된 디렉터리를 마운트할 때 사용한다. 

    mount -t cifs 명령과 동일하다.


●  mount.cifs //192.168.5.13/photo /mnt 

=> 192.168.5.13에 공유된 디렉터리인 photo를  /mnt로 마운트한다.




●  smbpasswd 

=> 삼바 사용자를 생성 및 삭제, 패스워드 변경, 활성 및 비활성화 등 관련 정보를 변경하는 명령어 


-a 삼바 사용자를 추가할 때 사용. 삼바 사용자는 리눅스 시스템에 존재하는 계정 

-x 삼바 사용자를 제거할 때 사용한다. 

-d 삼바 사용자를 일시적으로 비활성화할 때 사용한다. 

-e 삼바 사용자를 활성화할 때 사용한다. 

-n 패스워드 없이 로그인이 가능하도록 할 때 사용한다. smb.conf에 'null passwords=yes'

     추가로 설정해야 한다. 


pdbedit 

삼바 사용자의 데이터베이스 파일인 SAM database 를 관리해주는 명령어 


옵션 

-a 삼바 사용자를 추가할 때 사용한다. 삼바 사용자는 리눅스 시스템에 존재하는 계정 

-L 등록된 삼바 사용자의 간단한 목록을 출력한다. 

-v 등록된 삼바 사용자의 정보를 자세히 출력 


공유 정의 (share Definition)의 설정 예 

[www]

comment  = share directory 

path = /songsi 

public = yes 

write list = @songsi11


=> 

윈도우에서 접급할 때 폴더 이름은 www로 설정 

설명은 share directory 

모든 사용자가 이용 가능 

songsi11그룹에 속한 사용자만 파일 생성 및 삭제 가능 


p500 


<NIS(Network Information System)>

NIS는 하나의 서버에 등록된 사용자 계정, 암호, 그룹 정보 등을 공유하여 

다른 시스템에 제공하는 서비스 


yellow page라는 불렸으나 영국에서 등록된 상표여서 NIS로 변경 

그래서 yp로 명령어가 시작하는 계기가 됨. 


NIS의 보안을 강화, 확장성, 유연성을 높인 NIS+를 발표 

RPC(Remote Procedure Call)에서 데이터 암호화 및 인증, 운영 중에 관한 설정,

복제(replication) 등을 지원한다.


<LDAP(Lightweight Directory Access Protocol)의 개요> 

경량 디렉터리 접근 규약은 X.500 Directory Access Protocol, DAP 기반으로 

만들어진 디렉터리 데이터베이스에 접속하기 위한 규약 


IP 프로토콜 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리 정보를 공유할 수 있다.

디렉터리는 논리, 계급 등을 기준으로 조직화되어 있다. 특성이 비슷한 특성을 가진 객체들의 모임 


RDBMS에 비해서 검색 속도가 빨라서, 읽기, 위주의 서비스 검색 


속성(attribute)을 가진 객체(object)로 구성. 그 객체를 엔트리(entry)라고 부르면 그 엔트리(entry)는 DIT(Directory Information Tree)

라는 구조의 조직화 되고 고유 식별자인 DN(distribute Name), DN은 상대 식별자인 RDN(Relative Distinguished Name)으로 구성 

DN(distribute Name)은 파일 시스템의 절대 경로처럼 해당 엔트리의 이름에 상위 엔트리 이름을 붙여서 

식별하고, RDN(Relative Distinguished Name)으로 구성 


/home/posein/joon.txt가 DN이고 , 여기에서 joon.txt는 RDN이 된다. 

 


● LDAP 속성 관련 키워드 


c                       CountryName              국가이름 

st                      StateProvinceName      주(우리나라의 도)이름  

l                        LocalityName              보통 도시를 나타내지만, 특정 지역 단위에서도 사용 가능 

street                 StreetAddress              도로명 주소(지번)

o                      OganiczationName       조직(회사) 이름 

ou                     OganiczationUnitName  조직의 부서 이름 

cn                     CommonName             일반적으로 이름과 성의 조합   

sn                     SurName                    성을 나타냄 

givetName          givetName                   이름을 나타냄 

dc                     domaincomponet         도메인 네임의 요소를 나타냄 

mail                   mail                           E-mail 주소  

telephonenumber telephonenumber          전화번호 


● NIS는 RPC 데몬을 구동시켜야 한다.

/etc/rc.d/init.d/rpcbind start 

service rpcbind start 


● /etc/hosts 수정하기 

=> DNS 없이 빠르게 사용가능, 도메인이 없는 경우에 가상적으로 구성해서 동작 여부를 확인 


192.168.1.1 nist.test.co.kr 

192.168.1.2 nis.test1.co.kr


yum install ypserv 


● 주요 데몬 스크립트 

ypserv       NIS 서버를 운영하는 주 데몬 스크립트

yppasswdd NIS 클라이언트에서 패스워드 시에 적용되도록 해주는 데몬 스크립트 

ypxfrd        NIS 서버와 NIS 클라이언트 간의 맵핑 속도로 높여주는 데몬 스크립트 



● nisdomainname test.co.kr 

=> 일시적으로 test.co.kr 도메인명 설정 


● /etc/sysconfig/network 

NISDOMAIN=test.co.kr 

=> test.co.kr도메인을 영구적으로 설정 


● 계정 생성 


NIS 클라이언트에서 사용할 계정 하나를 생성 

useradd test 

passwd test 


● 데몬 스크립트를 구동 

servce ypserv start 

servce yppasswdd start 

servce ypxfrd start 


● 서버 작동 확인 

ps aux | grep yp 


● 관련 정보 갱신 

NIS 서버에서 사용자 추가 증 설정한 내용이 변경되면 해당 정보를 갱신시켜야 한다. 다음의 2가지 방법중 하나를 실행한다.


cd /var/yp ; make 

make -C /var/yp 


/var/yp 아래에 도메인 명으로 폴더가 생성되면서 관련 맵 파일들이 생성된다.


<NIS 클라이언트 구성>

yum install ypbind 

yum install yp-tools


도메인 지정은 위 서버와 동일 


● /etc/yp.conf 파일에 NIS 서버 및 도메인염을 지정한다. 


예) vi /etc/yp.conf 


server nis.test.co.kr 

ypserver nis.test.co.kr 

domain nis.test.co.kr 


● 관련 데몬 시작 

service ypbind start 


관련 명령어 

● ypwhich 

=> NIS 클라이언트에서 사용하는 명령어로 NIS 서버명과 관련 맵 파일을 보여준다.


옵션 

-m NIS 서버의 맵 파일을 출력한다. 


● ypcat 

=> NIS 서버의 데이터베이스라고 할 수 있는 맵 파일의 내용을 확인하는 명령 


● yptest 

=> 도메인명, NIS 도메인명, 맵 파일 목록, 사용자 계정 정보 등을 출력한다. 


● yppasswd 

=> NIS클라이언트에서 NIS서버에 등록된 사용자의 패스워드를 변경하는 명령어 


● ypchsh 

=> NIS서버에 등록된 사용자의 셸을 변경하는 명령어 


● ypchfn 

=> NIS 클라이언트에서 NIS 서버에 등록된 사용자의 정보를 변경하는 명령이다. 


● NIS를 이용한 인증 가능한 서비스 

=> telnet, samba, ssh 



posted by 송시혁
2018. 8. 24. 08:29 리눅스 마스터1급

● iptables와 테이블과 사슬 




                             filter              nat                    mangle        raw 

INPUT                       O     O                        O         

FROWARD                  O                                           O

OUTPUT     O                 O                        O            O

PREROUTING       O                        O            O

POSTROUTING                                O                        O            



● iptables [-t tables] action chain match  [-j target]



INPUT       방화벽 관련 정책들은 설정. 커널 내부에서 라우팅 계산을 마친 후 로컬 리눅스 시스템이 목적지인 패킷에 적용한다.

OUTPUT    다른 시스템의 접근을 차단할 때 사용하는 사슬로 리눅스 시스템 자체가 생성하는 패킷을 제어하는 시스템    

FROWARD 리눅스 시스템을 통과하는 패킷을 관리하는 사슬로 한 네트워크를 다른 네크워크로 Iptables 방화벽을 

                사용하여 패킷이 방화벽을 통과하는 경우에 사용


<주요 target>

ACCEPT  패킷을 허용 

DROP      패킷을 거부 

LOG        패킷을 syslog에 전달하여 기록. 일반적으로 /var/log/messges에 저장 

REJECT   패킷을 버리고 적절한 응답 예) TCP reset 패킷, ICMP  (Port Unreachable)메시지를 전송 

RETURN  호출 사슬 내에서 패킷 처리를 계속 진행 



< 주요 action >


-N 새로운 사용자 정의 사슬을 만든다.(--new-chain)

-X 비어있는 사슬을 제거한다. 단, 기본 사슬은 제거할 수 없다.(--delete-chain)  

-P 사슬의 기본정책을 설정한다.(--policy)

-L  현재 사슬의 규칙을 나열한다. (--list)

-F 사슬로부터 기본 규칙 제거 

-Z 사슬내의 모든 규칙들의 패킷과 바이트의 카운트를 0으로 만든다.(--zero)

-A 사슬에 새로운 규칙을 추가한다. 해당 사슬에 맨 마지막 규칙으로 등록된다.(--append)




< 주요 매치 >

-s          발신지 주소 

-d          목적지 주소 

-p          특정 프로토콜과 매칭 

-i           입력 인터페이스와 매칭(--out-interface)

-o         출력 인터페이스와 매칭(--out-interface)

!            NOT의 의미로 사용하는데, 특정 매칭을 제외할 때 사용 

-m         좀 더 세밀하게 제얼할 때 사용하는 매칭 옵션(--match)

--state  연결 상태와 매칭 INVALED, ESTABLISHED, NEW, RELATED

--string 특정한 패턴과 매칭 





< 주요 옵션 >

-n                  다른 옵션과 같이 사용되면 출력 정보를 숫자값으로 표현(--numberic) 

-v                  다른 옵션과 같이 사용되면 패킷, 바이트수 등을 추가하여 정보를 자세히 출력 (--verbose)

--line-number 정책 앞에 번호를 출력, 삭제나 삽입할 때 유용 

--sport           발신지에서의 하나의 포트 또는 포트범위를 지정. /etc/services에 기록된 포트 이름 지정

                      범위는 :를 사용해서 표기(--sport)

--dport          도착지의 포트를 지정하는 것으로 설정 방법은 --sport 옵션과 동일 (--destination-port)

--tcp-flags    TCP flag를 지정하는 옵션, SYN, ACK, FIN, RST, URG, PSH, ALL, NONE 

--syn            --tcp-flags SYN, RST, ACK ,FIN SYN 



● ntp 시간 동기화 사용되는 프로토콜 


/etc/ntp.conf          환경설정 파일 

/etc/rc.d/init.d/ntpd ntpd 데몬 



vnc (p581)

=> 원격의 다른 컴퓨터에서 그래픽 환경 기반으로 데스크톱을 공유할 수 있는 시스템 


● /etc/sysconfig/vncsevers 환경 설정 파일 


● yum install tigervnc-server 

=> vnc server 설치 


1은 디스플레이 번호 

- geometry 해상도를 설정하는 항목 


● vncpasswd 

=> 패스워드 서러정 


● service vnsserver start 

=> vncsever start 


● yum install vnc , yum install vnc tigervnc 

=>클라이언트 설치 


<squid 프록시 >

프록시

=> 보통 네트워크가 느린 환경에서 보다 빠른 인터넷을 하기 위한것.

     자주 방문하는 사이트의 정보를 저장하는 cache 서버.

 

< squid 주요 파일 >


/etc/squid/squid.conf  quid 데몬 설정 파일 

/etc/rc.d/init.d/squid    데몬 스크립트 파일 stop, start, restart 


● http_port 3128 

=> 프록시 서버의 포트를 지정. 기본값은 3128 


● cache_dir ufs /var/spool/squid 100 16 256 

=> ufs는 저장 포맷 , /var/spool/squid 

    100은 저장되는 캐시의 크기

16은 캐시가 저장되는 첫 번째 하위 디렉터리 갯수 

256은 두 번째 하위 디렉터리 갯수 


< xinetd.conf >

/etc/xinetd.conf  환경 설정 파일 , 데몬에서 관리하는 전체 서비스에 영향을 줌 

/etc/xinetd.d       xinetd 데몬에 의해 관리및 제어되는 서비스 파일들이 위치하는 디렉터리이다. 

                          이 디렉터리 안에 telnet, rlogin, rsh, rsync 등의 관련 서비스 파일을 생성하면 된다. 

/etc/rc.d/init.d/xinetd xinted 데몬을 제어하는 데몬 스크립트 파일 stop, start, restart등의 인자값을 사용해서 

제어한다. 


/etc/xinetd.conf 주요 항목 설정 


default 

{

log_type           = SYSLOG daemon info 

log_on_failure     =  HOST 

log_on_success   =  PID HOST DURATION EXIT   

cps                 = 50 10 

instances           = 50

      per_source         = 10 

      v6only              = no 

      groups             = yes 

      umask              = 002

}


includedir /etc/xinted.d 


항목 설명 


● log_type

=> 어떠한 형태로 로그를 저장할지 지정하는 것. 

     SYSLOG(syslog에 위임), FILE(file에 직접) 두 가지 설정이 가능 

 

     

● log_on_failure

=> 접속 실패 시 , 기록될 속성값 항목 

      HOST        = 원격 호스트 IP의 주소 

USERID     = 원격 사용자 아이디 

ATTEMPT   = 실패한 시도를 나타냄 

  

● log_on_success = 속성값

=> 접속에 성공했을 때 기록될 속성값을 지정하는 항목 


속성값 

PID           실행된 서버의 PID

HOST        원격 호스트의 IP 주소 

USERID      원격 사용자 아이디 

EXIT          관련 서비스 종료될때의 상태 

DURATION  서비스의 세션 지속 상태 

TRAFFIC     리다이렉트 서비스를 위한 전체 바이트 수 


● cps 

=> 초당 요청수 제한시간 


● cps 50 10 

=> 초당 요청 수가 50개 이상일 경우 10초간 접속 중단 



● instances 

=> 동시에 서비스할 수 있는 서버의 최대 개수를 지정하는 항목

     제한을 두지 않으려면 UNLIMITED로 설정 

 

● per_source = 값 

=> 특정 IP 주소에서 접속할 수 있는 최대 개수를 지정한다. 


● only_from [IP주소[네트워크 IP 이름]]

=> 서비스를 이용할 수 있는 원격 호스트 설정 


● no_access 

=> 서비스를 이용할 수 없는 원격 호스트의 주소를 지정.

     only_from와 동일하고, 중복 설정된 경우에는 차단 


● enabled 

=> 사용가능한 서비스의 목록을 지정하는 항목 


● disabled

=> 특정 서비스의 사용을 막을 때 사용하는 항목 


● includedir /etc/xinted.d 

=> 설정파일들이 위치하는 디렉터리를 나타낸다. 




서비스에 관련된 자세한 설정은 /etc/xinetd.d 안에서 한다.

서비스 명은 /etc/services 파일에 등록된 이름을 사용해야 한다. 


/etc/xinetd.d/telnet에 관한 파일이다.



service telnet

{

disable = no 

flags    = REUSE 

socket_type = stream

wait = no 

user = root

server =/usr/sbin/bin/in.telentd 

log_on_failure +=USERID

}


● disable = no 

=> no는 서비스를 사용하늑 서이고, yes이면 해당 서비스를 사용하지 않음 


● flags = REUSE

=> 서비스 운영과 관련된 설정으로 REUSE는 계속 사용한다는 의미, 대부분의 서비스 기본값으로 설정되어있음 


● socket_type = stream 

네트워크 소켓 타입을 지정하는 항목으로 속성값은 다음과 같다.


stream      stream 기반의 서비스 

dgram      datagram 기반의 서비스 

raw         IP로 직접 접근이 필요한 서비스 

seqpacket 신뢰성있는 연속적인 데이터그램 전송을 요구하는 서비스 



● wait = no 

=> 서비스가 단일 스레드(thread)인지 다중 스레드를 결정하는 항목을로 설정값은 yes 

     또는 no이다. yes는 오직 하나인 서비스만 작동하게 되며, no인 경우에는 다중 스레드로 동작하여 

     새로운 서비스 요청을 받아들이게 된다. 

 

● user = root 

=> 서버 프로세스의 UID를 지정하는 항목 


● server =/usr/sbin/bin/in.telentd 

=> 해당 서비스를 실행하는 데몬 파일의 경로를 지정하는 항목 


● log_on_failure +=USERID

=> 로그에 관련되 설정으로 /etc/xinetd.conf에 지정된 설정에 + 또는 -를 이용하여 추가로 지정할때 사용 


● access_time 01:00 -07:00

=> 지정된 시간에만 서비스를 이용할 수 있게 설정하는 항목이다.


● redirect = 192.168.12.22 23 

=> 해당 서비스를 다른 서버로 포워딩할 때 사용하는 항목


● port 8080

=> 해당 서비스의 포트 번호를 지정할 때 사용하는 항목이다. 


● nice = 10 

=> 서버의 우선순위를 지정하는 항목으로 -20~19까지 지정할 수 있다.




<메일 관련 프로그램 분류 >


●  MTA(Mail Transfer Agent)

=> 이메이을 SMTP프로토콜을 이용해 다른 메일 서버로 전달하는 프로그램

     보통 메일 서버 프로그램 

sendmail, qmail, postfix, MS Exchange Server 


●  MUA (Mail User Agent)

=> 사용자가 메일을 읽고 보낼 때 사용하는 프로그램 

     outlook, evloution, kmail, mutt, thunderbird , MS 


●  MDA (Mail Delivery Agent)

=> MDA는 일종의 대리인 역할을 수행하는 프로그램 

     procmail , 스팸 메일을 필터링이나 메일 정렬등의 역할을 수행한다. 

< sendmail의 개요 >


●  /etc/mail/sendmail.cf

 => 환경 파일 설정 

 

●   /etc/rc.d/init.d/sendmail 

 => 데몬 스크립트 

 

 /etc/mail/local-host-names,

 /etc/mail/access등 별도의 파일을 이용해서 관리한다. 

 

●  /etc/mail/sendmail.cf

=>비어있는 행과 #은 무시된다.


●  Cwlocalhost

=> Cw은 메일을 수신할 호스트 이름을 명기하는 항목으로 보통 도메인명을 기입한다. 

     예) posein.org => Cwposein.org 로 설정 


●  Fw/etc/mail/local-host-names 

=>   Fw은 여러 도메인을 사용하는 경우 별도의 파일을 지정하는 항목


●  #Dj$w.Foo.COM

=> Dj는 특정 도메인명으로 지정하여 강제적으로 적용할 때 사용하는 항목 

     Djposein.org로 지정하면 발신 도메인이 posein.org로 강제 적용된다. 

 

●  Kvirtuser hash -o /etc/mail/virthusertable.db 

=> 동일한 계정을 여러 가상 호스트들이 메일 주소로 동시에 사용할 수 있도록 관련 파일 지정하는 항목 


●  Kaccess hash -T<TMPF> -o /etc/mail/access.db 

=> 특정 호스트나 도메인이 센드메일로의 접근을 제어하는 파일을 지정하는 항목


●  AliasFile=/etc/aliases 

=> 특정 계정으로 메일이 도착했을 경우에 다른 계정으로 메일이 전송되도록 설정하는 파일을 지정한다.


●  MaxMessageSize=0

=> 메일 메시지의 최대크기를 설정하는 항목으로 단위는 바이트이다. 

     주석처리나 0이면 메시지 크기의 제한이 없다. 


●  ForwardPath=$ㅋ/.forward.$w:$z/.forward 

=> 개인 사용자가 본인의 계정으로 들어온 메일을 다른 메일로 포워딩할 때 설정하는 파일

     명을 지정하는 항목이다.

 

●  DaemonPortOptions=Port=smtp, Addr=127.0.0.1, Name=MTA 

=> SMTP 데몬 옵션으로 25번포트를 사용할 주소를 지정하는 항목. 

     기본 설정은 로컬 호스트에서만 사용 간으하므로 Addr=127.0.0.1 부분을 지우거나 

Addr=0.0.0.0으로 바꾸면 모든 주소에서 사용 가능하다. 


●  QueueDirectory=/var/spool/mqueue 

=> 메일 전송을 대기하는 큐 관련 항목이다. 






< sendmail 관한 주요 파일과 명령어 >


●  /etc/mail/local-host-names

=> 메일 서버에 사용하는 도메인을 설정하는 파일로 한 줄에 도메인 하나씩 기입하면 된다.


예) 


vi /etc/mail/local-host-names 파일 실행 


songsi.org 

songsi.co.kr 

songsi.com 

....


●  /etc/mail/sendmail.mc 

=> sendmail의 매크로 설정파일, /etc/mail/sendmail.cf  파일이 삭제되거나 복원할 경우에 m4라는 매크로를 사용 

    sendmail.cf 를 복원하려면 sendmail-cf 패키지를 설치해야 한다.


●  m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 




●  mailq 

=> 보내는 메일이 대기하는 디렉터리의 큐(Queue) 상태를 출력해 주는 명령어 

     보내는 메일이 대기하는  큐인 /var/spool/mqueue의 상태를 출력 

 

옵션 

-Ac /etc/mail/submit.cf 파일에 명시된 큐의 상태를 출력 


●  sendmail 

=> sendmail 관련 옵션 


옵션 

-bp  mailq와 같은 명령으로 메일 큐의 상태를 출력 

-bi   newaliases와 같은 명령으로 /etc/aliases 파일 수정 시에 관련 

       DB 정보 파일을 업데이트 한다. 

-oQ bp와 같이 사용되는 옵션으로 특정 큐의 상태를 확인하기 위해 사용된다. 


/etc/mail/sendmail.cf  

=> 비어있는 행과 '#'은 무시된다. 



<FTP 서버 관리>


/etc/vsftpd/vsftd.conf  환경설정 파일 

/etc/rc.d/init.d/vsftpd   데몬 스크립트 

/etc/pam.d/vsftpd        PAM설정 파일 

/etc/vsftpd/ftpusers     /etc/pam.d/vsftpd에 사용되는 파일로 기본 설정이 접근 거부될 사용자 목록 

/etc/vsftpd/user_list     사용자 목록 파일 허가 또는 거부 목록 파일, 기본적으로 userlist_deny=YES이어서 거부 

/etc/logrotate.d/vsftpd  vsftpd의 로그 로테이트 관련 파일이다.
































posted by 송시혁
2018. 8. 21. 20:17 리눅스 마스터1급

● chmod (change mode)

디렉터리, 파일 권한 명령어 


옵션 

-R   하위 디렉터리 포함하여 디렉터리 내부의 모든 파일의 접근 권한 변경

-c (--changes)       변경된 정보를 출력 

-f, --silent, --quite  중요한 메시지 아니면 출력하지 않음 

--version                명령어의 버전 정보 


● chmod ugo+rwx a.txt

=> a.txt에게 모든 권한을 준다. 


● chmod o-r, o-w, * 

=> 현재 디렉토리 안에 모든 파일에 다른 사용자에게는 읽기와 쓰기 권한을 없앤다. 

     chmod o-rw *와 동일 


● chmod -R go-rwx * 

=> 모든 하위 디렉토리 및 파일에 대하여 그룹과 다른 사용자의 접근 권한을 없앤다.


● chmod o+t /project 

=> 다른사용자에게 sticky bit를 부여 


● Set-UID

=> 소유자의 권한 인식. x자리에 s로 바뀜 , 실행 권한이 없으면 대문자 S

     번호는 4000 


● Set-GID 

=> 주로 디렉터리에 설정. 번호는 2000


● Sticky-Bit 

=> 공유 디렉터리. 서로 다른 계정이 파일을 공유하고 있으면, 실행과 삭제가 가능하다. 

     sticky비트를 생성하면 다른 계정이 다른 계정이 만든 파일을 삭제할 수 없다. 

본인이 만든 파일은 삭제 가능 

x자리에 t로 표기됨. 번호는 1000

     

● chmod 3070 /project 

=> project 디렉터리를 해당 그룹에게만 읽기 및 쓰기, 실행 권한을 부여 

     Set-GID(2000), Sticky-Bit를 부여 


● chown (change owner)

=> 파일이나 디렉터리의 소유권 및 그룹 소유권을 변경하는 명령어


옵션은 chmod와 동일 


옵션 

-R   하위 디렉터리 포함하여 디렉터리 내부의 모든 파일의 접근 권한 변경

-c (--changes)       변경된 정보를 출력 

-f, --silent, --quite  중요한 메시지 아니면 출력하지 않음 

--version                명령어의 버전 정보 


● chown songsi:songsi11 a.txt 

=> a.txt에 대한 소유자는 sonsi, 그룹은 songsi11로 지정 

     : 대신 .도 사용가능 

 

●  chgrp (change group)

=>  특정한 사용자가 여러 그룹에 속한 경우에 본인 소유의 파일을 본인이 속한 

      그룹 내에서 소유권을  변경시킬 수 있다. 


옵션 

-R      하위 디렉터리 포함하여 디렉터리 내부의 모든 파일의 접근 권한 변경

-c (--changes)          변경된 정보를 출력 

-f, --silent, --quite     중요한 메시지 아니면 출력하지 않음 

-h, --no-dereference  심볼릭 링크 파일의 그룹 소유권을 변경한다. 

--version                     명령어의 버전 정보 


  

●  chgrp -R ihd ~songsi

=> songsi 사용자의 홈 디렉터리를 포함한 모든 파일이나 디렉터리의 그룹 소유권을 ihd로 변경한다. 

 


●  umask u=rwx, g=rw, o=rw 

=>umask를 011로 설정한 것과 동일. 


●  하드링크 

=> ln 사용 


하나의 동일한 파일을 디스크의 다른 곳에 배치하여 여러 이름으로 사용 

원본과 링크 파일의 내용과 크기가 같다.

i-node번호가 같다.

ls -l 명령시 링크의 숫자가 2씩 증가한다. 

원본 파일 삭제해도 영향 안받음 

파일만 설정 가능. 동일한 파일 시스템에서만 사용 가능 

파티션과 디스크 드라이브를 가로질러 사용할 수 없다



●  심볼릭 링크 소프트링크

=> ln -s 사용 

하나의 여러 파일을 여러 이름으로 가르키는 링크. 

파일이나 디렉토리에 모두 사용 가능하면, 일반적으로 경로단축이나

변경에 사용된다. 


i-node번호가 다름 

링크와 파일으 크기가 다르고 내용도 다르다. 

ls -l 명령 시에 출력되는 권한의 맨 앞쪽에 'l'이라고 표신한다. 

원본이나 링크 파일 중에 어떠한 것을 수정해도 같이 반영 

원본 파일 삭제시 아무런 기능이 없음 (윈도우 바로가기키이다)

퍼미션 값은 777이지만, 원본 파일과는 무관한다.


ln 명령어 옵션 


-s  심볼릭 링크                                    (--symbolic)

-v  링크 만드는 정보를 자세히 출력한다(--verbose)

-f   강제로 링크 파일 존재 시에 삭제하고 갱신한다.(--force)


<파일 시스템 관리 및 복구 >


● 하드 디스크 인식 여부 확인    

=> fdisk -l로 파티션 정보 확인 


● 파티션 분할 및 생성 

=> fdisk /dev/sdb1(파티션 분할 및 생성할 장치 이름)

     


● 파일 시스템 생성 

=> mkfs.ext4  /dev/sdb1 파일시스템 ex4로 설정


● 사용하려는 디렉토리 생성  

=> 마운트할 디렉토리 생성 


● 마운트 

=> mount 디렉토리 


● 관련 파일 등록 

=> vi /etc/fstab에 등록. 재부팅시 mount되게끔 함

     반드시 재부팅해야 설정이 동작된다. 


● fdisk 

=> 현재 디스크의 파티션 테이블 정보를 본다.


-l  현재 디스크의 파티션 테이블 정보를 출력한다.

-s partition 특정 파티션의 크기를 출력한다. , 단위는 block 

-v fdisk의 버전을 출력한다. 


● fdisk -s /dev/sdb1

=> /dev/sdb1의 파티션 크기 출력 


옵션 (일부)

n 파티션을 새롭게 생성(추가)한다.

p 현재 디스크의 정보 

a 부트테이블 플래그 

b BSD 디스크라벨 편진 

c 도스 수용가능한 플래그 설정 

w 현재 설정 저장하고  종료 

q 현재 설정을 저장하지 않고 종료 

t  파티션의 속성을 변경한다. 주요 코드로는 82(Swap), 83(Linux), 8e(Linux LVM), fd(Raid)


● mkfs 

=> 새로운 파일 시스템을 만드는 명령어 root만 가능. 

     파일 시스템 설정안하면 ext2로 만들어진다. 


● mkfs -t ext4  /dev/sdb

=> ext4 시스템으로 만든다. mkfs.ext4  /dev/sdb 동일 

옵션 

-t  파일 시스템 유형을 지정하는 옵션(ext3, ext4)

-c 배드 블록(bad block)을 체크한 후 파일 시스템을 구축한다.

-v 결과를 상세히 출력한다.


● mke2fs

=> 파일 시스템 만드는 명령어. 기존의 mkfs명령어에서 확장된 개념 


-j                     저널링 시스템인 ext3으로 만듬 

-t ts_type         파일 시스템 지정 

-b block size    블록사이즈를 지정 1024,2048,4096..

-R raid_options  -R다음에 argument=값 형태로 지정한다. 

-T usage_Type  i-node의 크기를 지정할 수 있는 옵션 

                        RHEL4까지는 news, largefile, largefile4

news       4k

largefile   1M 

largefile4 4M


● mk2e2fs -j -b 4096 -R stripe=32 /dev/md0

=> ext3으로 만들고 블록사이즈를 4096, stripe당 블록 사이즈를 32바이트로 설정 



옵션 


-a /etc/fstab에 명시된 파일 시스템을 마운트할 때 쓰이는 옵션 

-t  fs_type 

-o 마운트시 추가적인 설정을 적용할 때 사용하는 옵션 



< 파일 시스템 유형 > 


ntfs         마이크로소프트사의 윈도우 NT, 2000, XP 이후 버전에서 사용하는파일 시스템 마운트할때 지정 

ext2,3,4   파일시스템을 마운트할 때 지정한다. 

iso9660    CD-ROM이나 DVD를 마운트할때 지정한다. 

udf           DVD 파일 시스템으로 대부분의 배포판 리눅스에서 iso9660으로 지정해도 마운트 할 수 있다. 

smbfs      최근 배포판 지원안함. 네트워크 삼바파일 시스템 마운트  

cifs          삼바 파일 시스템이 확장된 파일 

nfs           DVD파일 시스템으로 대부분의 배포판 리눅스에서 iso9660으로 지정해도 마운트 할 수 있다.


-o의 주요 항목


ro            =  읽기 전용 마운트      

rw            =  읽기/쓰기 모드로 마운트 

remount   = 해당 파티션을 다시 마운트한다.(기본값으로 설정되어있다.)

loop         = loop 디바이스 마운트 , CD-ROM 이미지파일인 ISO를 마운트해서 사용 

noatime    = 파일이 변경전까지 access time이 변경되지 않는다. 

username = 사용자명 

password = 암호 

acl           =  ext3파일 시스템에서 지원하는 접근 제어 리스트(access control list)를 사용 

                  가능하도록 마운트할 때 사용한다. 


● umount 


-a              /etc/mtab에 명시된 파일 시스템을 언마운트할 때 쓰이는 옵션. 

-f fs_type   언마운트할 파일 시스템을 지정할 때 사용하는 옵션.



● eject 

=> cd-rom, DVD등과 같은거 언마운트 


● /etc/fstab 

=> 파일시스템 정보를 담거나 설정하는 파일 

     mount, umount, fsck 명령어 

 


 

fstab에 4번째 필드 주요 옵션 


defaults -  rw, suid, dev, exec, auto, nouser ,async가 적용된다. 

auto           자동 마운트 -a 옵션 사용가능 

noauto       자동 마운트 차단 -a 옵션 못씀 

usrquota     사용자의 용량을 제한하는 Disk quata를 사용 

grpquaota   disk quota를 그룹별로 사용할 때 해당 영역애 설정 

noqouta     qouta를 설정하지 않는다.

nosuid        suid나 sgid 허용 하지 않음 

nodev        문자나 특별한 장치(디바이스)를 허용하지 않는다.

noexec      해당 파티션에서 실행 파일이 실행되지 않도록 설정 

suid           suid나 sgid설정 

ro              읽기 모드 설정 

rw              읽기/쓰기 모드 설정 

async        파일을 비동기적으로 관리 

acl             acl을 사용한다. 


UUID 

=> 범용 고유 식별자. 고유한 이름. blkid라는 명령을 통해서 조회 가능 


fsck 

=> 파일 시스템을 검사하고 수리하는 명령. 

     lost+ found 손상된 디렉터리나 파일을 수정시 임시로 생성하여 

작업을 수행하고 정상적으로 복구되면 사라진다. 


-a  명령 수행에 대한 확인 질문 없이 무조건 수행 

-r   명령 수행에 확인 질문 

-A  /etc/fstab에  정의되어 있는 모든 파일 시스템을 체크 

-P  -A 옵션사용시, 루트 파일 시스템을 다른 파일 시스템과 병렬로 체크한다.

-N  실행을 하지 않고 단지 어떤 것이 실행되어지는 것만 보여줌 

-R  -A옵션을 사용할때, 루트 파일 시스템은 체크하지 않는다. 

-T  검사를 시작할때 제목을 보여주지 않는다. 

-s  fsck 동작을 시리얼화한다. 대화형 모드에서 여러 파일 시스템을 점검할 때 유용하다. 

-V  실행되는 각 파일 시스템용 명령을 포함해 자세한 출력을 수행 

-v  버전 정보를 보여준다. 

-t   fs_type 

 

● e2fsck

=> 리눅스 파일시스템 점검하고 검사하는 명령어 


옵션 

-y 

-n 특정 상황에 대한 물음에 대해 'no'라고 인식하여 처리한다. 

-c 배드 블록까지 체크 

-f 깨끗한 파일 시스템까지 강제적 체크 


e2fsck -y /sda3 

=> 파일 시스템에 점검하는데, 상황에 대한 물음에 무조건 'yes'라고 자동 인식 

 

● df 

=> 현재 마운트되 디스크의 크기 , 사용량, 남아있는 용량   


옵션 

-h   용량의 단위 표시(KB, MB, GB)를 해준다 (--human -readable)

-k   킬로바이트(kilobyte) 단위로 보여준다. (기본값)

-m  메가바이트(megabyte) 단위로 보여준다.

-T  각 파티션에 대한 파일 시스템의 유형을 보여준다.

-i   아이노드의 사용량을 보연준다. 'No space left on device'라는 메시지는 대부분 i-node를 다써버린 경우 


● du

=> 파일이나 디렉터리들이 디스크에서 차지하고 있는 크기를 출력한다.


옵션 

-h  용량의 단위 표시(KB, MB, GB)를 해준다 (--human -readable)

-b  바이트(byte) 단위로 보여줌 

-k  킬로바이트 단위로 보여줌 

-m 메가바이트  

-a  디렉터리에 존재하는 모든 파일에 대해 각각의 크기를 보연준다.

-s  파일들의 전체 크기를 합한 값만 보여준다. 


● du -sh * 

=> 각 디렉터리나 파일별로 총 용량을 출력한다. 


<swap>

=> 하드디스크의 일부를 마치 메모리처럼 사용하게 해주는 기술 


● mkswap 

=> 스왑 파티션이나 스왑 파일을 생성하는 명령이다. 


-c 배드 블록 검사해 주는 옵션 


●  swapon 

=> 스왑 파티션이나 스왑 파일을 활성화시키는 명령으로 상태로 확인 가능 

-s 스왑 영역의 상태를 출력한다. 

-a /etc/fstab 파일에 등록된 스왑 영역을 전부 활성화시킨다. 


●  swapoff

=> 스왑 파티션, 파일 중지 


●  free 

=> 현재 사용중인 메모리 상태 출력 


-m  megar byte단위 

-k   kbyte단위 


스왑영역 만들기 


dd if=/dev/zero of=/swqp-file bs=1k count=104000

=> /dev/zero는 이름 그대로 초기화 할때 사용하는 장치명 

     of에는 생성할 파일명

bs는 블록크기 지정

bs에 지정된 블록의 개수 


<스왑 영역 생성>

1. mkswap /swap-file

2. /etc/fstab 등록 

 => /swap-file swap swap defaults 0 0


 

<스왑 파티션 생성 >

1. fdisk /dev/sdb , mkfs -t 82(swap) /dev/sdb2 로 파일시스템 만듬 

    

2. mkswap -c /dev/sdb2 

스왑 파티션 생성 


3. swapon /dev/sdb2 

=> 스왑영역 활성화  


4. /etc/fstab 등록 (재부팅시 적용할 때만 등록, 그거 아니면 필요 없음)

=> /dev/sdb2 swap swap defaults 0 0 


●  Disk quota 

=> 사용자 및 그룹의 디스크 사용량고 생성할 수 있는 파일의 개수(i-node의 수)를 제한할 수 있다.


●  quotacheck  

=> 디스크를 사용하고 있는 파일 시스템 체크하여 quota 기록파일(aquota.user, aquota.group, quota.user, quota.group)


옵션 

-a  사용자와 그룹에 대한 쿼터를 체크한다.

-m 읽기 전용 모드 등의 이유로 마운트를 하지 못할 때 사용 

-f 쿼터 파일 초기 생성시 인식하지 못하는 경우에강제로 인식시킬 때 사용 

-u 사용자 쿼터 파일을 체크할 때 사용하는 옵션이다.(기본 옵션)

-g 그룹 쿼터 파일을 체크할 때 사용하는 옵션이다.

-c 기존의 생성된 쿠터 관련 파일을 읽지 않고 새롭게 초기화할 때 사용한다.  



●  quotacheck -mf 

=> quotaoff를 하지 않아도 강제로 체크 


●  quotacheck -mf  -u -g

=> 사용자 , 그룹 쿼터 파일을 체크할 때 사용하는 옵션 


●  quotacheck -cf

=> 쿼터 파일을 초기화한다. 


●  equota

 => 쿼터 설정하는 명령어 

 

 -t Soft limit를 초과한 후부터 적용되는 시간제한(grace period)을 설정하는 옵션 

 -p 특정 사용자의 쿼터를 다른 사용자에게 동일한 설정으로 적용시 사용할때 옵션 



'리눅스 마스터1급' 카테고리의 다른 글

리눅스 웹 (약간 추가예정)  (0) 2018.08.26
samba, NIS  (0) 2018.08.25
리눅스 iptables,xinetd,  (0) 2018.08.24
워크스테이션 리눅스 하드디스크 추가하기  (0) 2018.08.21
리눅스 명령어(centOs 정리)  (0) 2018.08.20
posted by 송시혁
prev 1 2 next