2008년 9월 30일 화요일

linux 패스워드변경, 사용자정보, 파일검색, 파일의 접근권한

* 사용자 패스워드변경 : passwd user_name
* 사용자 삭제 : userdel user_name(디랙토리는 수동으로삭제해야함.)

* cat /var/log/messages | more

↑pipe line : 파이프라인을 기준으로 왼쪽 명령어의
실행결과를 오른쪽 명령어의 입력으로
넘겨주는 역할

가. 시스템에 접속한 사용자 정보 확인. (who, w, whoami, id)

1 - who : 현재 시스템에 로그인한 사용자의 정보를 간략하게 출력.
shell>who
shell>who 접속한 사용자 ID

2 - w : 현재 시스템에 로그인한 사용자의 정보를 상세히 출력
shell>w

3 - whoami - 현재 시스템에 로그인한 자신의 정보를 확인
shell>whoami or who am i

4 - id : 현재 시스템에 로그인한 자신의 id값 정보를 확인
shell>id *uid(user id) : 사용자id 500부터 시작 , gid(group id) : 그룹id

나. 터미널 장치

1 - tty : 콘솔모드를 통해 접속
2 - pts : 윈도우 환경에서 접속

다. 파일 검색 명령어(locate, whereis, which, find..)

1 - locate : 리눅스 시스템 내에 존재하는 모든 파일과 디렉토리의 목록을
데이터베이스 파일내에 저장시켜두고 그 안에서 찾고자하는 파일이나
디렉토리명을 검색
->사용법 : shell>locate 찾고자하는파일명
*locate 명령어는 인자로 들어오는 파일명을 포함하는 모든 파일들을 검색
*새로운 프로그램의 설치나 기존프로그램의 삭제등으로 인해 디비내용을
업데이트 시켜야 할 경우에는 updatedb 명령어를사용 (shell>updatedb)

2 - whereis : 인자로 들어오는 파일명을 PATH에 등록되어 있는 경로에서만
검색을 하여 출력함
->사용법 : shell>whereis 찾을 파일명 *PATH확인 : echo $PATH


*PATH를 관리하는 파일

ⅰ - glbal 설정파일(/etc/profile)
(전역,전체)
ⅱ - local 설정파일($HOME/.bash_profile)
(지역,자기자신)

3 - which : whereis 명령어와 동일 , 실행파일만 검색

4 - find : 검색하고자 하는 파일명을 자신이 알고 있는 조건들을 활용해서 해당 조건에
가장 부합되는 것들만 검색하고자 할 때 사용
->사용법 : shell>find 검색할디렉토리 -[검색조건] -print
->검색조건 : ①파일명을 기준으로 검색 : -name
②파일의 소유자를 기준으로 검색 : -user
③파일의 소유그룹을 기준으로 검색 : -group
④파일의 퍼미션을 기준으로 검색 : -perm
↑접근권한
->사용예 : ①/home 디렉토리 내의 어딘가에 abc123.ppt라는 파일이 있는데 어디
있는지를 모름 shell>find /home -name abc123.ppt -print
②/var 디렉토리내에 존재하는 파일들중 소유자가 hani로 되어있는
파일 검색 shell>find /var -user hani -print

라. 파일의 접근권 변경 (chmod : change mode) : 퍼미션 변경

-특정 파일이나 디렉토리의 접근권한 정보를 자신이 원하는 대로 변경
-사용법 : shell>chmod ±권한 파일명/디렉토리명
권한종류 : r(read) - 읽기권한
w(write) - 쓰기권한
x(execute) - 실행권한
*리눅스에서 파일이나 디렉토리의 권한 정보는 user, group, others 에 따라서
다르게 설정가능하다
-|rwx|r-x|r-x abc.txt
파일의 |use|gro|others
종류 | r|up |

-user : 해당 파일의 소유자의 접근권한을 의미
-group : 해당 파일의 소유그룹의 접근권한을 의미
-others : 해당 파일의 소유자와 소유그룹을 제외한 사용자의 접근권한을 의미

ex)rwxr-xr-x hani hani ```` abc.txt
①위의 abc.txt 파일의 접근권한중 소유자에게 쓰기권한을 뺏어버리고싶은 경우
=>shell>chmod u-w abc.txt
②소유그룹의 권한중에서 실행할 권한을 뺏어 버리고 others에게는 읽기권한을
뺏고 싶은 경우
=>shell>chmod g-x,o-r abc.txt
③소유자에게 쓰기권한 부여, 소유그룹에게 읽기 쓰기권한 부여, others에게
실행권한 뺏기
=>shell>chmod u+w,g+rw,o-x abc.txt

ex2)rw-r-xr-- hani hani abc.txt
①abc.txt 파일의 권한을 아래와 같이 변경
user : 읽고 쓰고 실행할권한
group : 읽고 쓰기권한만 가짐
others : 실행할 권한만 가짐
②①번과정을 거친후 다시 다음과 같이 변경
user : 읽고 쓰기권한만 가짐
group : 읽기권한만 가짐
others : 아무런 권한도 주지 않음

ex3)shell>chmod 654 abc.txt (8진수사용)

*특수 퍼미션 - 4000 값을 가지는 setuid(set user id) 파일
2000 값을 가지는 setgid(set group id) 파일
-setuid- 특정파일을 실행시킬때 실행되는 동안만큼은 해당 파일의 소유자 권한을
가지도록 작동하는 특수비트 파일
-setgid- 특정파일 실행시킬때 실행되는 동안만큼은 해당파일의 소유그룹권한을
가지도록 작동하는 특수비트 파일
-setuid가 설정된 파일은 소유자권한중 x권한이 setuid를 나타내는 s권한으로
변경됨
rwxr-xr-x abc.txt(일반파일)
rwsr-xr-x abc.txt(setuid가 설정된 파일) shell>chmod 4755 abc.txt
rwxr-sr-x abc.txt(setgid가 설정된 파일) shell>chmod 2755 abc.txt

* 백도어(Back door) : Backdoor 프로그램을 실행하면 root권한을 획득하수있는 프로그램
-setuid가 부여된 프로그램이 백도어일 가능성이 높음

댓글 없음:

댓글 쓰기