/usr
/bin : 일반 명령
/sbin : 시스템 관련 명령
/etc : 설정파일
/lib: ~.so
include
x11 : gui와 관련해서
c로 시작하는 것(character device 한글자로 입력받는것. 키보드처럼)과 b로 시작하는 것(block단위로 입력받는것)-> file
d로 시작하면 디렉토리
l : 링크 걸려 있는것
var
log
/usr/lib/var
/private/var
race condition!
메일 큐 \
메일 큐에 담길 이름 예측해서 ln-s /var/spool/mail~ /etc/passwd
메일로 /etc/passwd 넘어간다!
해결방법으로 tmpnam이라는 함수 사용했지만 랜덤하지 않다는 점에서 문제
drwxrwxrwt
t는 스티키 비트
swap space
not enough space 부팅이 안된다!
tmp를 꽉 채우는 방법
touch: 파일이 생성된다!
quota
파일 갯수를 늘려서 문제를 일으킬 수 있다 경고를 하지 않는다!
실행파일 유무 확인
echo $PATH
gzip, tar 압축! 어떻게 풀까?
gzip -dc a.tar.gz | tar xvf -
Makefile
tar -xvf a.tar
tar -cvf a.tar /directory (묶고 싶은 디렉토리)
tar로 묶인거 tarball
rsh, rlogin->ssh, slogin
취약 안전
shell related commands
IFS /
/usr/local/bin/
이것도 바꿀 수 있다
setenv IFS=""
->
$PROG=/usr/local/bin/mutt
exec($PROG)
usr
local
bin
mutt
을 각각 실행시켜버린다.
tmp에 usr, local, bin이름으로 된 실행파일을 넣어놓으면 취약!
getenv(): 환경 변수 불러옴
echo $PWD
echo
r
ls
1. 걍 find실행 결과
r ! find/ -name ls -print