# grep adm /etc/passwd adm:x:3:4:adm:/var/adm:/sbin/nologin /etc아래 내 passwd 파일에서 adm이라는 text를 찾아 보여줘라.
파일에 특정 패턴을 찾아내는 명령어
# wc 123
6 6 21 123
5라인, 5 단어, 21 알파벳
파일의 라인수, 단어수, 앞 파벳수를 알려주는 명령어.
# more 123 1
2
3
123
1234
12345
# sort 123 1
123
1234
12345
2
3 정렬하는 명령어
# cut -c 1-2 123 1
2
3
12
12
12
파일에서 특정 필드를 추출하는 명령어
앞에 2열만 추출해 보여주기
# cut -c 1-2 123 > aaa
# more aaa
1
2
3
12
12
12
# more 123
1
2
3
123
1234
12345
$ vi 1
$ more 1
1
2
3
$ vi 2
$ more 2
1
22
333
$ diff 1 2
2,3c2,3
< 2
< 3
---
> 22
> 333
두 개의 파일을 비교할 때 사용한다.
# whereis ping
ping: /bin/ping /usr/share/man/man8/ping.8.gz 파일이 어디에 있는지 찾을 때
# useradd -d /test 10 test 10 # su - test 10 계정 추가하기
$ pwd /test 10
$ touch 555
$ ls -al 555
-rw-rw-r-- 1 test 10 test 10 0 May 20 22:02 555
빈 파일 만들기 touch
$ chmod 400 555
$ ls -al 555
-r-------- 1 test 10 test 10 0 May 20 22:02 555
파일이나 디렉터리 허가권을 변경하는 명령어이다.
2. 계정 관리 $ sudo su -
Last login: Sat Jun 8 07:02:27 UTC 2019 on pts/0
#
# useradd choi11
# exit
logout
$ useradd ses222
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.
# passwd choi11 Changing password for user choi11 New UNIX password: passwd: all authentication tokens updated successfully. choi11 계정의 암호 설정하기
# passwd -S test 1 test 1 LK 2019-05-08 0 99999 7 -1 (Password locked.)
계정 test 1 상태를 확인한다.
$ su - root # su (switch user )
root로 변경하기
# more /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes 사용자 관련 파일
# more /etc/passwd test 1:x:505:505::/IDH:/bin/bash 사용자 이름;암호화된 비밀번호;사용자;스룹;설명;사용자 홈 디렉터리;로그인 쉘
# more /etc/shadow test 1:$1$FkF6 vjxl$Dq4 o2 hxMYniQx9/Kl8 LFe/:18024:0:99999:7::: 설명 : 사용자명;암호회 된 비밀번호;최근 비밀번호 변경일;비밀번호변경 후 재설정을 위한 대기일 수; 비밀번호 유효기간;비밀번호변경 경고 시간;비밀번호 유예기간;
# more /etc/login.defs # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a password may be used. # PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_MIN_LEN Minimum acceptable password length. # PASS_WARN_AGE Number of days warning given before a password expires. # PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7
사용자 계정 설정과 관련된 기본값을 정의하는 파일.
패스워드 관련 제약 - 보안 관련 관리사항
#userdel test101 #userdel 계정 /etc/passwd , /etc/shadow , /etc/group 에서 해당 계정 정보가 삭제된다.
# userdel -r test102 /var/spool/mail 파일과 홈 디렉터리의 내용 모두를 삭제
# chage -l test103 Last password change : Mar 15, 2019 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 패스워드 만료기간 수정하는 명령어 chage
# more /etc/group
root:x:0:
bin:x:1:
daemon:x:2: 사용자 그룹에 대해 정의된 파일 그룹명;그룹 비밀번호;그룹번호 GID;그룸 멤버 리스트로 구분한다.
# users 로그인한 사용자 정보를 출력하는 명령어.
# users
ec2-user
# who
현재 시스템에 접속해 있는 사용자들을 조회하는 명령어. # who
ec2-user pts/0 2019-05-20 21:35 (210.116.1.25)
# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk1.6.0_45/bin:/root/bin 현재 경로 보기
# host www.sbs.co.kr www.sbs.co.kr has address 54.192.175.53 www.sbs.co.kr has address 54.192.175.69 www.sbs.co.kr has address 54.192.175.94 www.sbs.co.kr has address 54.192.175.98
# hostname ns2.serverchk.com # hostname ns1 서버의 이름 확인하기
# tty /dev/pts/14 현재 사용하고 있는 단말기 장치의 경로명과 파일명
# wall hello Broadcast message from root (pts/14) (Thu May 9 20:32:37 2019): hello 모두 로그인된 사용자들에게 터미널을 통해 메시지를 전달한다.
# write 계정명 ttyname 해당 사용자에게 메시지를 전달한다.
# mesg write로부터 들어오는 메시지 수신 여부를 확인하고 제어하는 명령어.
# df 하드디스크에 남은 용량을 확인할 때 사용한다.
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 485696 0 485696 0% /dev
tmpfs 503636 0 503636 0% /dev/shm
tmpfs 503636 392 503244 1% /run
tmpfs 503636 0 503636 0% /sys/fs/cgroup
/dev/xvda1 8376300 1255136 7121164 15% /
tmpfs 100728 0 100728 0% /run/user/1000
# du Disk Usage의 약자로 디렉터리 별 디스크 사용량을 확인하는 명령어
# more /etc/fstab
UUID=94 de 7 db5-d3 f1-476b-8f11-0787eb 567c32 / xfs defaults, noatime 1 1 파일 시스템 정보를 저장하고 있는 파일
# env HOSTNAME=ns2.serverchk.com SHELL=/bin/bash TERM=vt100 HISTSIZE=1000 환경변수를 확인하는 명령어.
# ps PID TTY TIME CMD 14001 pts/14 00:00:00 su 14002 pts/14 00:00:00 bash 14129 pts/14 00:00:00 nslookup 14142 pts/14 00:00:00 csh 14292 pts/14 00:00:00 ps 프로세스 식별번호, 터미널 번호, 총 CPU 사용시간, 실행 명령어.
# ps -ef | grep httpd daemon 7667 25307 0 May 04? 00:00:00 /usr/local/apache2/bin/httpd -k start daemon 9264 25307 0 Apr25? 00:00:02 /usr/local/apache2/bin/httpd -k start daemon 9976 25307 0 Apr25? 00:00:02 /usr/local/apache2/bin/httpd -k start 특정 프로세스의 상태 정보를 확인할 수 있다.
# kill -9 프로세스 id 프로세스 강제 종료
# killall -l HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS UNUSED 같은 프로세스를 한 번에 종료시킬 때 사용한다.
# pstree
실행 중인 프로세스를 트리구조로 나타낸다.
# jobs 작업이 중지된 상태, 백그라운드로 진행 중인 상태 등을 표시한다.
# bg
백그라운드 명령
# fg 백그라운드와 포그라운드 상태로 전환
# top 운영상태를 실시간으로 모니터링하거나 프로세스 상태를 확인할 수 있다.
서버 상태를 확인하는 명령어.
# cd /var//log
# more messages
시스템 로그 보기
# tail -f /var/log/messages
명령어의 마지막 행을 기준으로 지정한 생까지 파일 내용을 출력한다.
로그의 맨 마지막 파일 보기
# more /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 주기적으로 반복되는 일을 자동적으로 실행될 수 있도록 설정한다.