service finger. 어떤 서비스를 하기위한 initd 데몬. initd 데몬은 컴퓨터가 켜질 때 자동으로 실행되는 프로그램.
cat services | grep finger
/etc의 services 파일 중 grep 명령을 이용해 finger만 찾음.
쉘 스크립트를 만들때, 가장 첫 라인에
#!/bin/bash
를 씀.
쉘 스크립트의 가장 첫 라인에 !/bain/bash 를 쓰게 됨으로 해서, 내가 사용 하려는 명령어 해석기가 bash 쉘 임을 미리 알려준다.
일반적으로 스크립트에서 #는 주석기호이지만, 첫라인의 #!/bin/bash 에서의 #은 주석기호가 아니다.
스크립트의 가장 첫라인에 있는 #! 은 스크립트의 제일 앞에서 이 파일이 어떤 명령어 해석기의 명령어 집합인지를 시스템에게 알려주는 역할을 한다.
#! 은 두 바이트의 "매직넘버"("magic number")로서, 실행 가능한 쉘 스크립트라는 것을 나타내는 특별한 표시자이다.
#! 바로 뒤에 나오는 것은 경로명으로, 스크립트에 들어있는 명령어들을 해석할 프로그램의 위치를 나타내는데 그 프로그램이 쉘인지, 프로그램 언어인지, 유틸리티인지를 나타낸다.
이 명령어 해석기가 주석은 무시하면서 스크립트의 첫 번째 줄부터 명령어들을 실행시킨다.
거의 대부분의 상업용 유닉스 및 리눅스 에서 기본 본쉘인 #!/bin/sh을 쓰면 비록 Bash 만 가지고 있는 몇몇 기능들을 못 쓰게 되겠지만 리눅스가 아닌 다른 머신에 쉽게 포팅 할 수 있게 해준다.. (이렇게 작성된 스크립트는 POSIX sh 표준을 따르게 된다. )
"#!" 뒤에 나오는 경로는 정확히 Full PATH를 기록.
만약 PATH를 잘못 적게 되면, 스크립트를 돌렸을 때 거의 대부분 "Command not found"라는 에러 메세지만 보게 된다.
chmod
chmod [옵션] (u|g|o|a)(+|-)(r|w|x) files directory...
u : user의 퍼미션
g : group의 퍼미션
o : other의 퍼미션
a : user + group + other
+ : 퍼미션 추가
_ : 퍼미션 삭제
= : 퍼미션을 일치시킴
r : 읽기 퍼미션
w : 쓰기 퍼미션
x : 실행 퍼미션 (디렉토리는 탐색 퍼미션)
s : SUID, SGID
t : sticky bit
400 : owner의 읽기
200 : owner의 쓰기
100 : owner의 실행
40 : group의 읽기
20 : group의 쓰기
10 : group의 실행
4 : other의 읽기
2 : other의 쓰기
1 : other의 실행
'Security' 카테고리의 다른 글
hackerschool level5 Hard Link, Symbolic Link (0) | 2011.07.14 |
---|---|
hackerschool level5 Race Condition (0) | 2011.07.14 |
hackerschool level3 system 배열 (0) | 2011.07.14 |
hackerschool level1d redirection (0) | 2011.07.14 |
about hack_first (0) | 2011.07.14 |