네트워크교육 13일차(2022.01.19) - 정리

정상훈·2022년 1월 19일
0
post-thumbnail

파일 시스템의 퍼미션 및 소유권

권한 및 소유권

필요성 - 다중 접속 방식의 시스템
파일 접근 및 실행 권한 제어
ls -l 명령어를 통해 확인

기본 권한 설정

1) 권한의 종류 

권한        파일	                 디렉토리
 r	파일내용 읽기(cat)    디렉토리 내용 읽기(ls)
 w	파일내용 편집(vi..)   디렉토리 내용 편집
 x	실행파일 경우에만 실행   디렉토리접근(cd...)
 
 2) 권한 부여 대상
 
 기호	  대상
  u	소유자
  g	소유그룹
  o	기타사용자
  
  

권한 설정

chmod 명령어 사용

심볼릭 모드

심볼릭 방식
#chmod u-w test_chmod

8진수 모드

8진수 방식
#chmod 777 test_chmod

소유권 설정

- 파일 생성 시 현재 사용자로 기본 설정
- chown 명령어로 변경 가능
- chgrp 명령어로 그룹만 변경 가능

소유주 변경                      - chown 사용자 file명
소유그룹 변경                    - chown :그룹 file명
소유주,소유그룹 변경              - chown 사용자:그룹 file명
디렉토리 내의 모든 파일 소유주 변경 - chown -R 사용자 file명


예제 )

[root@localhost dir]# chown kim chown_test
[root@localhost dir]# ls -l
-rw-r-----. kim root 2월 16 11:39 chown_test

기본 권한

- 파일 생성 시 부여 권한
- umask 값에 따라 설정
- root의 기본 umask 022
  일반사용자 기본 umask 002
  
- /etc/profile 에 정의

     일반설정              영구설정
umask ### 으로 설정    /etc/profile 파일 수정
재부팅 시 초기화         재부팅 후에도 유지

-기본 디렉토리의 권한은 777
 기본 파일의 권한은 666
 이 값들을 umask값과 XOR 연산 한 값이 기본권한으로 설정
 
 

파일 및 내용 검색

1) grep 명령어 사용
- grep [option] pattern file
- 패턴과 일치하는 라인 전체를 출력
- 정규표현식과 옵션을 사용하여 정교한 패턴 설정 가능

2) 정규표현식
- 파일 내에서 특정 패턴을 찾을 때 함께 사용
- 일반적으로 grep 명령어와 사용
- 더 정확한 검색 가능

3) egrep
- 확장 정규식을 통해서 grep에서 나타낼 수 없는 패턴 등을 표현 
#egrep '(패턴1 | 패턴2)'

4) fgrep
- grep에서는 의미로 사용되는 메타 문자들을 단순 문자로 인식

find 명령어

- find path [option] [argument]
- 지정된 경로부터 하위 디렉토리까지 조건에 맞는 파일 검색

퍼미션 실습

준비사항 : p1 p2 p3 p4 p5 p6 p7

touch p1 p2 p3 p4 p5 p6 p7

  • p1 심볼릭 방식으로 그룹과 기타사용자에게 실행권한

chmod go+x p1

  • p2 심볼릭 방식으로 소유주의 권한을 ---로 만들 것

chmod u-rw p2

chmod u= p2

  • p3 심볼릭 방식으로 모든 대상 읽기와 실행 권한을 주고 쓰기 권한을 뺄 것 , 단 방식은 셋팅 방식으로

chmod a=rx p3

  • p4 8진수 방식으로 소유주 읽기 실행, 소유 그룹 실행 권한만, 기타 사용자에게는 쓰기 권한만

chmod 512 p4

  • p5 8진수 방식으로 모든 사용자 모든 권한 삭제

chmod 000 p5

  • p6 8진수 방식으로 소유그룹만 읽기, 쓰기 권한 줄 것

chmod 060 p6

  • p7 8진수 방식으로 실행 권한만 줄 것

chmod 111 p7

  • /root/filea 디렉토리에 기타 사용자가 들어올 수 없도록 권한을 변경하시오.

mkdir /root/filea
chmod o-x /root/filea

소유권 변경 실습

  • /etc/passwd 파일을 /root/로 복사

cp /etc/passwd /root/

  • /root/passwd 파일의 소유자 를 centos 로 변경

chown centos /root/passwd

  • /root/passwd 파일의 소유그룹을 nobody로 변경

chown :nobody /root/passwd

  • /root/passwd 파일의 소유자와 소유그룹을 adm 으로 변경

chown adm:adm /root/passwd

  • /etc/ 디렉토리를 /root로 복사하고 /root/etc 디렉토리 안의 파일까지 pcp로 소유자를 변경하시오.

cp -r /etc/ /root/
chown -R pcp /root/etc

  • /root/etc 디렉토리를 /tmp로 이동 시키시오

mv /root/etc /tmp

grep 실습

  • /etc/passwd 파일에서 root 내용을 검색하시오.

grep 'root' /etc/passwd

  • /etc/passwd 파일에서 nologin이 뒤에 오는 내용을 검색하시오.

grep 'nologin$' /etc/passwd

  • /etc/passwd 파일에서 n로 시작하고 y로 끝나는 6글자 단어가 포함되어있는 라인을 검색하시오.

grep 'n....y' /etc/passwd

  • /etc/passwd 파일에서 n이 라인에 시작부분으로 되어있는 라인을 검색하시오.

grep '^n' /etc/passwd

  • /etc/passwd 파일에서 home이 들어간 라인 위로 5줄을 출력하시오.

grep -B 5 'home' /etc/passwd

  • /etc/passwd n으로 시작해서y로 끝나는 모든 패턴을 검색하시오.

grep 'n.*y' /etc/passwd

  • /etc/passwd bash가 들어간 라인을 제외하고 출력하시오.

grep -v 'bash' /etc/passwd

  • 전화번호 패턴을 찾는다고 하면 어떻게 설정하면 될까요? 패턴 010-0000-0000
    010-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]

/var/log/messages 파일을 /root/ 파일에 복사하시오.

cp /var/log/messages /root/

  • /root/messages 파일 내에서 1월 18일 09:00 ~ 18:59 사이의 내용을 검색하시오.

grep 'Jan 18 [01][0-9]' /root/messages

원하지는 않는 데이터가 나올 수 있음.
00 01 02 03 04 05 06 07 08 19

egrep 'Jan 18 (09|1[0-8])' /root/messages

grep -e 'Jan 18 09' -e 'Jan 18 1[0-8]' /root/messages

find 실습

  • /down 디렉토리를 생성하시오.

mkdir /down

  • /down 디렉토리에 test1, test2 파일을 생성 하시오

touch /down/test1 /down/test2

  • /down 디렉토리에 있는 test1, test2 파일을 각각 test3, test4 파일로 /tmp 디렉토리에 복사하시오.
    (test1 => test3, test2 => test4)

cp /down/test1 /tmp/test3
cp /down/test2 /tmp/test4

  • /down 디렉토리에 test 디렉토리를 생성하시오.

mkdir /down/test

  • /down/test 디렉토리를 /tmp 디렉토리로 이동 하시오

mv /down/test /tmp

  • find 명령어를 통해 /tmp 디렉토리내에 파일명 앞부분에 “test”문자열이 섞인 파일을 검색하면서 삭제 하시오.

find /tmp -name "test*" -exec rm -r {} \;

  • find 명령어를 통해 /etc/group 파일을 찾아서 /root/ 디렉토리에 복사하시오.

find /etc/ -name 'group' -exec cp {} /root/ \;

  • find 명령어를 통해 /root/group 파일을 찾아서 삭제하시오.(단 대화형으로)

find /root/ -name 'group' -ok rm -r {} \;

  • find 명령어를 통해서 / 내에서 소유자가 centos 인 파일들을 모두 찾아서 자세하게 출력하시오.

find / -user centos -ls

find / -user centos -exec ls -ild {} \;

  • find 명령어를 통해서 /tmp 내에서 소유자가 pcp인 파일을 찾아서 삭제 하시오.(소유권 변경 실습이랑 연계)

find /tmp -user pcp -exec rm -r {} \;

profile
"@____

0개의 댓글