Linux 5 . 메타데이터 분석 및 변경

2024. 1. 31. 15:15Linux/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 이 설정되어 있음
 하드링크의 갯수, 파일이면 Hardlink 갯수, 디렉토리면 디렉토리 내부의 디렉토리 개수
root Owner 소유주
root Group 그룹
  : 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  파일명

acl 값을 모두 지우자 +가 .으로 바뀌었다.

 

 

 


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