2022. 1. 7. 13:14ㆍLinux
실습환경
Windows 10 Pro
Vmware 16.x. workstation
CentOS Linux release 7.9.2009
메타 데이터 분석
-rw-r--r-- 1 root root 2 1월 7 09:26 a.txt
- : 파일 -, 디렉토리 d, 심볼릭 링크 l
rw- : user 권한
r-- : group 권한
r-- : other
1 : 링크갯수
root : 소유주(Owner)
root : 그룹(Group)
2 : 용량(size)
1월 7 09:26 : 마지막 수정 날짜
a.txt : 파일이나 디렉토리 이름
stat * (MAC time 확인하기)
Modify : 수정 - 내용 수정시간
Access : 접근 - 읽기
Change : 변경 - 권한 변경한 시간
디렉토리는 최소 777 실행권한 필요
파일은 최소 666 실행권한이 필수가 아니다.
umask 0022
1. setuid : 4000 : s -> S(실행 권한 없을 때)
1.1 해당 권한이 설정된 파일이 실행되는 동안에는 소유주의 권한을 갖는다.
2. setgid : 2000 : s -> S(실행 권한 없을 때)
2.1 해당 권한이 설정된 파일이 실행되는 동안에는 그룹의 권한을 갖는다.
3. stikybit : 1000 : t - T(실행 권한 없을 때)
3.1 해당 권한이 설정된 디렉토리에서는 파일이나 디렉토리를 생성한 사용자만 삭제 권한을 갖는다.
1. chmod(권한 설정)
chmod u+x a.txt : user권한 설정
chmod g+x a.txt : group권한 설정
chmod o+x a.txt : other권한 설정
chmod a+x a.txt : 모두 권한 한번에 설정
chmod -R : 하위 파일 디렉토리 전체 설정 변경
2. chown(파일이나 디렉토리 소유주 변경)
chown a a.txt : 소유주 변경
chown .b a.txt : 그룹 변경
chown a.a a.txt : 소유주 그룹 둘 다 변경(.을 사용한다)
chown -R : 하위 파일 디렉토리 전체 설정 변경
3. useradd(유저 생성)
useradd * : 유저 생성
4. setfacl 사용할 때 <-> getfcal 확인할 때
setfacl -m u:a:rw a.txt : 유저 a에게 rw권한 부여
setfacl -x u:a a.txt : 유저 a의 권한 제거
setfack -b * : 모든 권한 제거
실습 시나리오
최상위 디렉토리에 회사 디렉토리 생성 /gogle
/gogle 내부에 부서 디렉토리 admin, sales
aa,bb는 admin 팀, cc,dd는 sales 팀 소속이다.
aa,cc는 팀원이고 본인 부서 폴더만 접근가능, 권한은 읽기 및 실행
bb,dd는 팀장이며 본인 및 다른 부서 폴더 접근가능
본인 부서 폴더는 모든 권한, 다른 부서 폴더는 읽기 및 실행만.
useradd aa
useradd bb
useradd cc
useradd dd
echo 'It1' | passwd --stdin aa
echo 'It1' | passwd --stdin bb
echo 'It1' | passwd --stdin cc
echo 'It1' | passwd --stdin dd
mkdir /gogle
mkdir /gogle/admin /gogle/sales
chmod 750 /gogle/admin/
chmod 750 /gogle/sales/
setfacl -m u:aa:rx /gogle/admin
setfacl -m u:bb:rwx /gogle/admin
setfacl -m u:bb:rx /gogle/sales
setfacl -m u:cc:rx /gogle/sales
setfacl -m u:cdd:rwx /gogle/sales
setfacl -m u:dd:rx /gogle/admin