퍼미션 SUID, SGID, Sticky bit
전 퍼미션을 다룰 때 chmod 를 r : 4 , w : 2, x : 1로 바꿀 수 있다고 하여
chmod 777 이런 식으로 썼었다. 그러나 이것은 0777로 0이 생략된 것인데
SUID SGID
여기서 0이 set(id), sgid이다.
- => 실행 파일에서만 적용된다. 파일이 실행된 프로세스는 실행한 사용자 소유로 실행 권한이 부여되자만, suid, sgid 를 설정한 파일의 프로세스는 소유자나 그룹 소유자의 id로 실행된다. 실행 권한에 s 로 명시된다.
- suid : 4000 ,u+s ( suid가 4로 설정되어 있으면 x가 s로 바뀐다.
- sgid : 2000, g+s
만약 사용자나 그룹사용자 권한이 없다면 s가 대문자로 바뀐다.
chmod 4000으로 suid 권한을 주었지만 실행권한이 없어 S 로 나오고 chmod 4100으로 실행권한을 주니 s로 나오는 것을 볼 수 있다.
sticky bit
: 파일에 대해서 퍼미션과 관계없이 소유자만 삭제 가능하게 할 때 디렉터리에 other 권한을 제한하는 것
- other 를 대상으로 설정
- 모든 권한 허가가 가능하지만 삭제는 소유자만 가능
- 1000 : o+t
=> 많은 사람들이 보지만 오직 소유자만 파일을 삭제하게 만드는 것
suid(4) , sgid(2), stick bit(1)
suid와 sgid는 user와 group 퍼미션에 s로 표시되고 sticky bit 는 other 퍼미션에 t로 표시된다.
7777: rwsrwsrwt
4777: rwsrwxrwx(u+s)
2777 : rwxrwsrwx(g+s)
1777 : rwxrwxrwt(o+t)
chown , chgrp
소유자 또는 그룹소유자 변경
chown [-R] [유저명] [ 대상]
chown [-R] [유저명] [ 그룹명] [ 대상] -비표준명령
chgrp [-R] [그룹명] [ 대상]
umask 명령 ==기본 퍼미션
==파일을 만들 때 기본적으로 정해져서 만들어지는 퍼미션
ex) touch 로 a라는 파일을 만들었을 때 권한이
-rw-r--r--인 경우 이것이 기본 퍼미션으로 되어 있기 때문이다.
umask 확인
# umask 확인
umask 변경
#umask [제외할 퍼미션]
#umask 077(0077)
기본 퍼미션 설정
디렉터리가 생성될 때 퍼미션 중에서 제외될 퍼미션을 지정 기본 unmask 는 022 ex) 만약 777이라면 022를 빼서 755가 된다.
디렉터리는 777 파일은 666 이다.
파일의 속성
lsattr
파일의 속성 확인
#lsattr [옵션] [대상]
속성
i : 변경, 삭제 링크 금지
옵션
-d ==파일 형식으로 출력(대상이 디렉터리인 경우 사용)
-R ==하위의 모든 파일에 대한 속성 표시
-a == 숨김 파일 출력
chattr 파일의 속성 확인 #chattr [속성 연산] [옵션] [대상]
속성 연산 + : 속성 추가- : 속성 삭제 = : 해당 속성만 갖도록 설정 옵션 -R : 하위의 모든 파일 대한 속성 변경
ps -ef
jobs