기타 관리용 명령어

 

 

 

 

 

2. su CMD

다른 유저로 switching 할 때 사용

 

# su fedora

# su - fedora

특성으로는 -를 붙이느냐 안 붙이느냐

 

 

특별하지 않으면

#su - fedora로 접속 ( 새로 접속한 것 처럼)

 

 

[실무 예]

계정을 두 개 가지고 있을 때 oracle / root,

사용자를 전환해서 사용할 때가 많다

# su oracle (X) 이전 사용자가 쓰고 있던 환경 변수가 그대로 넘어온다 : 좋지 않은 방법

# su - oracle (O) 새로 로그인 한 것처럼 자기 변수로 바뀐다 : 좋은 방법

 

 

*사용자 변경 다른 방법

# ssh fedora@localhost

# hostname

# id

# pwd

 

* 스위칭을 하면 습관적으로 id / pwd를 쳐서

사용자를 확인하자!

 

 

 

 

 

 

[참고] sudo CMD(/etc/sudoers, /etc/sudoers.d/*)

 

 

 

# sudo CMD(superuser do) => (WIN) 관리자 권한으로 실행

 

* /etc/sudoers (/etc/sudoers.d/*) : 사용자가 수행할 수 있는 커맨드를 설정할 수 있다. 사용자 이름과 커맨드

* wheel 그룹(RHEL 5 이하, RHEL 6 이상) (관리자 그룹을 가지고 있는 그룹)

 

 

su VS sudo

$ su – root (관리자로 스위칭 / 관리자 암호를 맞춰야 함)

$ sudo CMD (자기 암호를 맞춰야 함)

 

 

sudo 명령어 사용 예

 # sudo –l : (옵션 소문자 L) 내가 sudo를 통해서 쓸 수 있는 명령어들 확인

# sudo su - root

# sudo -i

 

 

 

 

 

 

[실습] fedora 사용자로 sudo 명령어 수행 실습

 

 

# ssh fedora@localhost

fedora 사용자로 로그인

$ id

$ pwd

 

$ cat /etc/shadow

권한 없어서 접근 안됨

 

$ sudo -l

$ sudo cat /etc/shadow

 

 

$nmcli connection

$ nmcli connection up ens33

관리자 아니면 수행 불가

 

$ sudo -l

$sudo nmcli connection up ens33

 

 

$ exit

# ssh fedora@localhost

fedora 사용자로 로그인

 

$ sudo su -

# id

# exit

 

$ sudo -i

# id

# exit

$ exit

#

 

 

 

 

 

5. last CMD

 

사용자 추적 커맨드

 

# last

# last | head

# last -f /var/log/wtmp.#숫자

 

 

 

[사용 예]

(개발자 요청 내용) 어제 파일(예: file.log)을 삭제한 사용자를 검색해 달라.

 

(정보 1) 어제 파일이 지워졌다.

# last | grep 'Jun 8'

(정보 2) 지워진 파일의 이름 : file.log

# cat ~/.bash_history

# cat ~/.bash_history | grep 'file.log' | grep rm

 

 

# history ( 최근 사용한 명령어를 보여준다)

 

 

(작업 준비)

# cd /test

# chmod 777 /test

# touch file.log

 

# telnet localhost

fedora 사용자로 로그인

 

$ rm -rf /test/file.log

$ ls /test

-> file.log 파일이 지워졌는지 확인

 

$ exit

 

-오늘 fedora 사용자가 중요한 파일 file.log를 삭제했다-

 

 

 

 

 

 

 

6. lastlog CMD ( /var/log/lastlog)

사용자들의 로그인 기록들을 보여준다

 

# lastlog

오랫동안 사용 안 한 계정들 확인이 가능하다.

확인되면 lock 걸어주자.

 

 

 

 

 

 

 

7. lastb CMD (var/log/btmp)

사용자의 실패 기록을 보여준다.

 

# watch lastb (2초마다 한 번씩 반복적으로 수행하는 커맨드)

# lastb | grep user01 | wc -l

# lastb | grep ssh | wc -l

 

 

 

 

 

 

 

8. who CMD (var/log/utmp)

서버 사용자를 보여준다

 

 

 

 

9.w CMD (var/log/utmp)

사용자들의 실시간 정보를 보여준다.

지속성은 없다.

 

 

*실습을 위해 터미널 에뮬레이터 설치해야 함!

 

Host OS(윈도우)에 깔려있어야

vmware로 구동이 가능하다.

 

 

 

모니터링 구문

while true

dp

CMD

sleep 2

done

exit CMD

 

 

 

 

사용 예)df -h -T -t ext4

 

계속 모니터링하고 싶으면 while 반복문

 

while true

do

echo "--------------`date`----------"

df -h -T -t ext4

sleep 2

done

 

 

 

 

사용 예 2) ps -ef | grep httpd | wc -l

 

이걸 모니터링하고 싶으면 while 반복문

 

while true

do

echo "--------------`date`----------"

w ps -ef | grep httpd | wc -l -h -T -t ext4

sleep 2

done

 

 

* 악의적인 사용자 강제 로그아웃 시키기

# kill -9 ****(PID 번호)

 

 

 

 

 

 

10. exit CMD( 값을 지정해 준다면 0번 1~255는 비정상 종료)

 

현재 쉘을 종료.

 

 

 

 


 

 

 

 

VI 편집기

 

 

 

 

리눅스를 다루는 사람이라면

처음 넘어야 하는 산

 

 

# vi filename

 

 

vi VS vim

vim을 사용한다.

 

 

ls -l /bin/vi (용량 907k)

ls -l /bin/vim (용량 2.3M)

 

 

 

*편집기 기본 원리

 

 

 

구조

 

1. 편집기 처음 들어가면

command mode(ESC mode)

: 입력 외에 나머지 작업만 가능

 

2.

입력을 원하면 입력 모드

input (insert) 모드

들어가야 입력이 가능하다

i, a, o ( I, A, O)

:insert / append / open-line

 

돌아갈 땐 ESC 키

 

 

3.

last line mode

: command mode에서 넘어가야 한다

이동할 땐 shift :

커맨드 모드로 넘어갈 땐 enter

 

 

저장 후 나갈 땐

shift : q /wq ...

 

 

 


 

 

 

파일의 종류

 

 

 

 

1. 일반 파일 :

 

 

 

inode

 

 

# ls -ld dir1

 

# ls -ldi dir1

# ls -ali dir1

 

# echo 1111 > >dir1/file1

# ls -ali dir1

 

 

 

 

 

2. 디렉터리 파일

 

 

 

 

 

 

3. 링크 파일 (Link file)

하드 링크 파일 (Hard link file) # ln file1 file2

심벌릭 링크 파일 (Symbolic link file)# ln -s file1 file2=> 이게 중요하다

= soft link file (차이점 : s 옵션이 없으면 하드, 있으면 심벌릭)

 

 

 

[참고] 하드링크 VS 심벌링크

(ㄱ) 파일 시스템을 넘어서 링크를 걸 수 있는건 심벌링크

(ㄴ) 디렉토리에 링크를 걸 수 있는건 심벌링크

 

 

 

[실무 예] /was -> /zeus (관공서,공공기관에서 쓰는 제품, 대한민국 약 50% 점유율)

(ㄱ) 바로가기 아이콘 만드는 작업 # ln -s /was /zeus

 

 

 

[실무 예] 여러가지 서비스 디렉터리 통합

(ㄱ) 바탕화면에 바로가기 아이콘 만들기

FTP : /etc/vsftpd

WEB : /etc/httpd/conf

DNS : /var/named/chroot/etc

 

# ln -s /etc/vsftpd FTP

# ln -s /etc/httpd/conf WEB

# ln -s /var/named/chroot/etc DNS

 

 

[실무 예] 오픈 소스 프로그램 형태의 소스 버전 관리

# ln -s /usr/local/tomcat-4.x /usr/local/tomcat

 

 

 

* 빨리빨리 작업할 수 있는 환경을 만들어 일의 효율성을 높여야 한다.

 

 

 

 

 

[EX3] 하드 링크 & 심벌릭 링크 설명

 

■ 하드 링크(#ln file1 file2)

두 개의 파일의 inode 번호가 동일한가? yes

ls -li 특이한 변화는? Inode 번호가 일치하므로 사실상 같은 파일

두 개의 파일 사이즈는 동일한가? yes

file2의 편집하면? file1도 편집된 파일이 보인다. (같은 공간을 다루는 것)

*저장 공간은 하나만 가지고 감

 

■ 심벌릭 링크(# ln -s file1 file2)

두 개의 파일의 inode 번호가 동일한가? no

ls -li 특이한 변화는? Inode 번호가 다르고 권한도 다르고 파일명이 다른 파일을 가리키고 있다

두 개의 파일 사이즈는 동일한가? yes

file2의 편집하면? 같은 공간을 다루기에 같이 보인다.

 

 

# dd if=?dev/zero of=file1 bs=1M count =400

# find /data1 -inum 12 -type f

 

 

 

 

 

 

4. 디바이스 파일

 

 

 

 

 

- 디바이스 드라이버(소프트웨어) : 운영체제의 커널이 새 장치와 통신할 때 사용

(장치 드라이버는 장치 회사가 만들어야 한다)

예) 프린트 회사가 프린트 드라이버를 제공해야 함.

대신 운영체제에서는 범용을 내장시켜준다.

 

 

- 장치를 꽂으면 커널에서 새 장치를 인식한다.

- 리눅스에서 장치의 목록을 담고 있는 곳 /dev/*

 

 

- 모든 장치는

: 캐릭터 디바이스

: 블록 디바이스

두 가지가 있어야 하고 리눅스에서는 Block만 보여준다. (사용자가 못 건드리게 C는 숨겨둔다)

두 가지 중 하나의 형태로 생성된다.

 

 

차이는 block 단위 (4k, 2k, ...)

512바이트(섹터) 단위로 IO를 발생한다.

 

 

 

마운트 해서 쓰는 장비는

블록 단위로 받으면서 성능을 높여 받는다.

 

 

 

 

 

 

 

 

 

 

728x90

+ Recent posts