파일 시스템의 퍼미션 및 소유권
필요성 - 다중 접속 방식의 시스템
파일 접근 및 실행 권한 제어
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 path [option] [argument]
- 지정된 경로부터 하위 디렉토리까지 조건에 맞는 파일 검색
퍼미션 실습
준비사항 : p1 p2 p3 p4 p5 p6 p7
touch p1 p2 p3 p4 p5 p6 p7
chmod go+x p1
chmod u-rw p2
chmod u= p2
chmod a=rx p3
chmod 512 p4
chmod 000 p5
chmod 060 p6
chmod 111 p7
mkdir /root/filea
chmod o-x /root/filea
소유권 변경 실습
cp /etc/passwd /root/
chown centos /root/passwd
chown :nobody /root/passwd
chown adm:adm /root/passwd
cp -r /etc/ /root/
chown -R pcp /root/etc
mv /root/etc /tmp
grep 실습
grep 'root' /etc/passwd
grep 'nologin$' /etc/passwd
grep 'n....y' /etc/passwd
grep '^n' /etc/passwd
grep -B 5 'home' /etc/passwd
grep 'n.*y' /etc/passwd
grep -v 'bash' /etc/passwd
/var/log/messages 파일을 /root/ 파일에 복사하시오.
cp /var/log/messages /root/
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 실습
mkdir /down
touch /down/test1 /down/test2
cp /down/test1 /tmp/test3
cp /down/test2 /tmp/test4
mkdir /down/test
mv /down/test /tmp
find /tmp -name "test*" -exec rm -r {} \;
find /etc/ -name 'group' -exec cp {} /root/ \;
find /root/ -name 'group' -ok rm -r {} \;
find / -user centos -ls
find / -user centos -exec ls -ild {} \;
find /tmp -user pcp -exec rm -r {} \;