Self-Improvement
Linux 명령어(chown, chgrp, chmod, umask, SetUID[GID], StickBit) 본문
*chown (소유자 변환)
#chown 바꿀 이름 파일 이름
#chown 소유 이름:그룹 이름 파일 이름 : (소유자랑 그룹을 한 번에 변경 가능)
#chown .그룹 이름 파일 이름 : (그룹만 바뀜)
#chown -R 소유 이름:그룹 이름 파일 이름 : (해당 파일 안의 모든 파일들을 변경)
*chgrp
#chgrp 그룹 이름 파일 이름 : (그룹 바꿈)
#chgrp -R 그룹 이름 파일 이름 : (파일 안의 모든 파일을 바꿈)
*chmod
심벌릭 모드 : #chmod u+X 파일 이름
옥탈 모드 : #chmod 777 파일 이름
//파일의 rwx 쓰임새
r : 내용을 읽을 수 있는 권한(cat, vi, cp.. 등)
w : 내용을 변경 권한
x : 실행할 수 있는 파일이면 실행 권한
//디렉터리의 rwx 쓰임새
r : 디렉터리 안의 목록을 볼 수 있는 권한 (ls.. 등)
w : 디렉터리 안의 파일을 생성 및 삭제 권한 (mkdir, touch. .. 등)
x : 디렉터리 안으로 들어갈 수 있는 권한 (cd ...등 )
//x가 있어야지만 w를 행할 수 있다(디렉터리 안으로 들어가야 파일 생성 및 삭제할 수 있음) ex) rw- (x) rwx (o) r-x (o)
*umask
//기본 권한
파일 : 666
디렉터리 : 777 (x 권한이 무조건 들어가 있어야 해서)
ex) umask 022 == 파일 : 666 - 022 = 644 , 디렉터리 : 777 - 022 = 755
//umask 전역으로 적용하는 법 (함부로 바꾸면 안 되는 것)
#vi /etc/bashrc (서버 안의 모든 사용자에게 적용하는 것)
*SetUID, SetGID
#chmod 4xxx 파일 이름 : SetUID 설정
#chmod 2xxx 파일 이름 : SetGID 설정
#chmod 6xxx 파일 이름 : SetUID, SetGID 설정
설정시 소유자의 권한을 가지고 실행이 됨
SetUID : 파일에만 가능
SetGID : 파일, 디렉 둘 다 가능
//대문자 S 일시에는 잘못된 설정
//bash 쉘 파일에는 줄 수가 없음(백도어로 사용 가능하기 때문)
*Sticky Bit
#chmod 1xxx 파일 이름 : Sticky Bit
다른 사용자가 만든 파일을 지울 수 없는 것
Stick Bit : 디렉에 가능
//대문자 T 일시에는 잘못된 설정
*SetUID/SetGID/Sticky Bit 관리 (보안상 중요)
#find / -perm -4000 -ls (SetUID 걸려있는 거 찾기)
#find / -perm -2000 -ls (SetGID 걸려있는 거 찾기)
#find / \(-perm -4000 -o -perm -2000 \) -ls (SetUID 와 SetGID 검색하는 거)
//목록화하는 방법
# find / \( -perm -4000 -o -perm -2000 \) > setuid.txt (setuid.txt에 저장)
# find / \( -perm -4000 -o -perm -2000 \) | wc -l > setuid.txt (setuid.txt에 저장하면 몇 줄인지 출력)
# diff setuid.txt setuid.old.txt (비교)
//특수 퍼미션 관리 기법
# chmod 755 /usr/bin/passwd
# find /home -type f -perm -4000 -exec rm -f {} \;
yum repository(실습할 때 내부에 서버를 클론으로 떠서 지정했음 집에서 할 때 서버 지정할 때 외부로 지정해야 함 centos 사이트에서)
'리눅스 > 명령어' 카테고리의 다른 글
Linux 명령어(grep, egrep, fgrep, find) (0) | 2018.10.21 |
---|---|
Linux 명령어(mail, wall, cmp, diff, sort, du, file) (0) | 2018.10.21 |
Linux 명령어 (head, tail, wc, su, last[log, b], who, w, ln) (0) | 2018.10.21 |
Linux 명령어(uname, date, rdate, PS1, cal, ls, rmdir, touch, cp, scp) (0) | 2018.10.21 |
Linux 기초, man (0) | 2018.10.21 |