정보보안 스터디 - 6주차 7일 - 퍼미션 설정, vim편집기 사용법
☞ zip 압축
윈도우 처럼 쓸 수 있습니다.
zip file1.zip file1 zip -r dir1.zip dir1 디렉토리의 압축 unzip dir1.zip |
☞ 퍼미션 권한 설정
rwx
3비트
777
심볼릭 모드 chmod u+rwx,g-w,o=rwx file1 |
수치 모드 chmod 777 file1 |
중요한 점은 하위디렉토리에 수정 권한이 있다고하더라도
상위 디렉토리의 실행 권한이 없으면 불가능하다는 점입니다.
cd , ls 가 파일로 이동하는건데 실행권한에 들어가기 때문입니다.
useradd user11 chown user1.user1 file1 소유자변경 |
usermod -s /bin/csh user1 쉘 종류, 만료기간 등 passwd 설정가능 |
4000 SetUI
원래는 passwd를 수정해야하기 때문에 실행권한이 필요합니다.
하지만 passwd파일에 아무나 수정권한을 주게 되면 보안에 취약해질 수 밖에 없기 때문에
user1에 대해서만 수정권한을 줘야합니다.
그래서 setUID세팅을 해주면 됩니다.
usermod 파일에 대해서 설정했을 경우
chmod 4755 /usr/bin/usermod
다른 유저가 그 명령어를 실행했을 때 잠깐이나마 root가 되는 것입니다.
usermod -s bin/csh user1로 설정이 가능합니다.
심볼릭은 실행권한과 겹쳐져 s로 되어있고, 실행권한이 없을 경우 S대문자입니다.
diff file1.txt file2.txt
setUID로인한 권한상승 등 정기검사에서 바뀐점이 있는지 비교합니다.
외부에서 악성코드를 다운받게되어 권한상승되는 경우가 있기 때문에
이 경우는 빨리 삭제해줘야합니다.
2000 SetGID
그룹에 대해서 권한을 줍니다.
1000 sticky bit
setUID/GID는 파일에 권한을 주지만
sticky bit은 디렉토리에 권한을 줍니다.
대표적으로 /tmp 디렉토리가 있습니다. /tmp 안에서는
user1 user2가 서로 디렉토리와 파일을 만들고
쓰기 권한이 있다고 하더라도 다른 유저가 만든 것을 삭제를 못한다.
심볼릭은 t입니다.
umask는 새로 파일, 디렉토리를 만들때 권한을 자동으로 지정해줍니다.
모든 사용자의 쓰기 권한을 없애기 위해서 기본값이 0022로 되어있습니다.
777
-0/022
755 입니다.
굳이 설정 변경할 필요는 없습니다.
☞ vim 편집기 설정
홈디렉토리의 .vimrc에서
초기화되지 않도록 초기 세팅을 설정할 수 있습니다.
nu 라인번호 표시 ts=4 tabspace bg=light 배경색 알림 set title 타이틀 표시 set paste 복붙할 때 간격이 일정하게 |
☞ vim 편집기 사용법
명령모드
hljk로 커서를 움직이고 $ 끝으로 = End ^ 문장 앞으로 = Home |
gg 가장위로 G 가장 마지막으로 ctl G 현재위치 확인 |
x 한글자씩 지우기 |
u 뒤로 |
dd 라인 삭제 |
yy 복사 3yy 3줄복사 |
p 붙여넣기 3p 3번붙여넣기 P 윗줄에 붙여넣기 |
i 입력모드
그래픽 기반처럼 사용가능합니다.
:w 저장 |
:q 나오기 |
:wq! 강제 |
/검색어 검색할 수 있고 n, shift+n으로 검색결과 이동합니다. |
강제 종료를 하거나
유저1이 사용하고 있는 문서에 다른유저가 들어오면
주목메세지가 뜹니다.
상황에 대비하기 위해 백업되어 swp로 저장되어있습니다.
R을 눌러 복구하고 난뒤에는 swp파일을 삭제해도 됩니다.
:! 명령어를 사용가능합니다.
:! 매번 쓰기에는 불편하기 때문에
:!bash를 해서 일반 프롬프트처럼 쓸 수 있습니다.
하지만 ps -f에서 프로세스를 확인하면 Vim에서 쉘이 실행되고 있는 것을 확인 가능합니다.
exit으로 나옵니다.
치환
:%s/abc/#abc abc >> #abc로 치환 |
:3,10s/^/# 3~10라인의 첫글자를 모두 #로 치환 |
☞ PS1, PS2 환경변수
PS는 프롬프트 양식으로 임의로 설정이 가능합니다.
기본값
PS1='[\u@\h \W]\$ '
W는 해당 디렉토리만 표시됩니다.
w는 상위 디렉토리까지 표시됩니다.
환경변수로 설정되었기 때문에 변경해줍니다.
env | grep PS1
환경변수에 설정안하고 1회성이라면
set | grep PS1
에서 확인가능합니다.
이것 역시 설정이 초기화 되기 때문에
초기 설정은 .bashrc에서 변경가능합니다.
설정 후에는 재부팅할 필요없이 아래 명령어를 씁니다.
source .vimrc
PS2
기호는 >로
따옴표를 닫지 않아서 명령어가 끝나지 않았다고 판단되거나
역슬래쉬 썼을 때 나옵니다.
>cat \ >/etc\ >/passwd\ >... =cat /etc/passwd | grep user1 |
역슬래쉬는 명령어가 길어질 때 한줄을 연장합니다.