2024. 1. 31. 15:15ㆍLinux/CentOS7
metadata란 파일이나 디렉토리의 속성값을 의미한다.
ls -al 명령어를 입력한 후
예로 a.txt 파일의 메타 데이터를 보겠다.
a.txt의 메타데이터는
-rw-r--r--. 1 root root 2 1월 29 11:30 a.txt
위와 같이 이루어져있다.
이 값을 앞에서부터 하나씩 분석해보자.
- : 파일 : - or 디렉토리 : d or symbolic link : l
rw- : Owner(User)권한, r 읽기 4, w 쓰기 2, x 실행 1 (8진수법)
r-- : Group 권한 , r 읽기 4, w 쓰기 2, x 실행 1 (8진수법)
r-- : Other 권한 r 읽기 4, w 쓰기 2, x 실행 1 (8진수법)
. : . or 공백 , setfacl이 설정되지 않음.. + setfacl 이 설정되어 있음
1 : 하드링크의 갯수, 파일이면 Hardlink 갯수, 디렉토리면 디렉토리 내부의 디렉토리 개수
root : Owner 소유주
root : Group 그룹
2 : Size (용량)
1월 29 11:30 : 마지막으로 수정한 날짜
a.txt : Name 이름
또한 데이터 값을 하나하나 변경 시켜보겠다.
파일,디렉토리,symbolic link 형식 변경하기
- 는 파일
d 는 디렉토리
l 은 symbolic link를 표시한다.
유저권한 변경하기
chmod
권한을 변경하는 명령어
chmod ugoa+rwx : rwx 권한 추가하기
user , group, other, all
유저, 그룹, 기타, 모두
사용법
chmod 유저 +(-)rwx 폴더및디렉토리
chmod u+x a.txt : a.txt파일 유저권한에 x 권한 추가하기
chmod u-x,g+w a.txt : a.txt파일 유저권한에 x를 제외하고 그룹권한에 w 추가
chmod a-r, o+x : a.txt 모든 사용자 권한에 r을 제거, 기타 사용자는 x 추가
a.txt의 권한을 변경한 모습이다.
맨 위의 권한 데이터 설명 부분에
1,2,4 로 이뤄진 8진수법 권한이 써있는데
이를 사용하면 더욱 간편하게 변경 가능하다.
8진수 사용법
chmod 644 a.txt
644로 a.txt에
rw, r, r 의 권한을 부여할 수도 있다.
umask
리눅스에서 파일이나 디렉토리가 최고 권한으로 자동 생성되는 것을 예방
파일이나 디렉토리의 최고 권한( 8진수 )에서
umask 값을 차감한 후 권한 생성됨
적용방식
최고권한
파일 666 = rw
디렉토리 777 = rwx
umask 0022일때
적용되는 실제 권한
파일 666 - 022 = 644
디렉토리 777 - 022 = 755
d.txt 권한이 생성하자마자
644로 적용되어 있다.
링크된 파일은 권한이 같이 변경된다.
사용법
umask
umask값 확인
기본 0022
umask 0000
umask 값 0000으로 변경
맨 앞의 숫자는 특수 권한을 뜻하는데
아직 배우지 않은 부분이니
뒤의 세자리만 확인하자
하드링크, 디렉토리의 갯수 변경하기
하드링크나 디렉토리 생성은 이미 배운 명령어이니
사진으로 대체하겠다.
디렉토리면 하위 디렉토리의 갯수
파일이면 하드링크의 개수가 잘 변경되는 것을 볼 수있다.
유저 변경하기
chown
소속 owner, gruop를 변경하는 명령어
사용법
chown 유저(.그룹) (파일 및 디렉토리)
a.txt 파일의 owner를 a로 변경하기
chown a a.txt
a.txt 파일의 그룹을 b로 변경하기
chown .b a.txt
a.txt 파일의 소유주, 그룹 모두 root로 변경하기
chown root.root a.txt
모든 하위디렉토리까지 속성 변경하기
chown -R a:a 1
리눅스는 사용자를 생성하면 동일한 그룹이 저절로 생성된다, CentOS의 경우
a 계정 생성시 a그룹도 생성
owner , group값을 변경 할 수 있다.
size 변경하기
사이즈를 강제로 변경 할 수 있는 명령어도 존재한다.
1. dd 로 10M 파일 생성
dd if=/dev/zero of=./e.txt bs=10M count=1
count 숫자를 지정하지 않으면
무한하게 반복되어서
반드시 주의가 필요하다
2.truncate 로 10M 파일 생성
truncate -s 10M e.txt
MAC시간변경하기
메타데이터에서 표시되는 시간은
이전 시간에서 stat 명령어로 확인 가능하며
마지막으로 수정한 시간이 표시된다고 배웠으니 넘어가겠다.
이름변경하기
파일의 이름은 mv 명령어로 변경 가능하다.
acl 변경하기
access control list
acl 명령어로 접근 제어 목록을 설정해줄 수 있다.
사용법
setfacl (옵션) (권한대상):rwx (파일명)
user a는 읽기만, group a는 모든권한, 기타사용자도 모든 권한주기.
ex ) setfacl -m u:a:r,g:a:rwx,o::rwx
o::rwx 기타 사용자는 따로 사용자가
없기 때문애 o::를 입력한다.
-x : 단일 권한 목록 삭제
설정된 user a 권한목록을 삭제하기
ex ) setfacl -x u:a 파일명
-b : 전체 acl삭제
설정된 모든 권한목록 삭제하기
ex ) setfacl -b 파일명
getfacl
설정된 모든 권한목록 확인하기
ex ) getfacl (파일명 or 디렉토리명)
acl의 권한은 umask값 이상으로 설정될 수 없다.
'Linux > CentOS7' 카테고리의 다른 글
Linux 7 . shodow 분석 (0) | 2024.01.31 |
---|---|
Linux 6 . 사용자와 그룹관리 (0) | 2024.01.31 |
Linux 4 . tar와 wget ,리눅스 압축 명령어 (2) | 2024.01.29 |
Linux 3 . stat, link 명령어 (0) | 2024.01.25 |
Linux 2 . 기본적인 명령어 (2) | 2024.01.24 |