'Linux'에 해당하는 글 6건

SetUID란

Linux 2016. 3. 18. 23:52

SetUID란?

- SetUID라는 것을 쉽게 말하자면 어떤 대상에 대해 임시적으로 사용자의 권한을 바꿔주는 
  룰(규칙)을 적용시켜주는 역할을 하는 8진수 비트(4000)이다. 
  
  예를 들어 user11이라는 사용자가 어떠한 프로그램을 사용해야 하는데 해당 프로그램은 
  root 만 사용할 수 있다고 가정해보자.
  이사용자가 해당 프로그램을 사용하고 싶다면 root 권한을 가지고 있어야 될 텐데 
  아무 사용자에게 나 root 권한을 줄 수는 없으니
  해당 프로그램을 사용할 때만 잠시 동안 루트권한을 부여해주고 프로그램 사용이 끝나면 
  원래 계정으로 돌아오게끔 할 때 사용하는 게 SetUID이다.

  
  SetUID에 대해 이론적으로 알게됬으니 보안적인 측면에서 볼때의 SetUID의 위험성을 알아보도록 하자.

   - SetUID 설정이 된 파일을 실행을 하게되면 그 파일의 소유자의 계정(ID)으로 해당 프로그램이 작동되게 된다.
     


   - 추후에 수정 후 해당 내용 공개 예정 - 

'Linux' 카테고리의 다른 글

Permission(접근 권한)  (0) 2016.03.18
[finger 명령어]  (0) 2016.03.17
여러명령어를 동시에 내리는 방법  (0) 2016.03.13
[vim editor]  (0) 2016.03.13
[FIND 명령어]  (0) 2016.03.13

WRITTEN BY
CIP_Pooh

,

Permission(접근 권한)

Linux 2016. 3. 18. 22:56

Permission이란?

User(사용자)가 File이나 directory를 read(읽고), write(쓰고), execute(실행) 할 수 있는 자격 또는 접근 허가를 의미한다.
그렇다면 퍼미션이란 게 존재하는 이유가 무엇인지 궁금해질 것이다.

예를 들어보자.

user11이라는 사용자가 apple이라는 파일을 만들었다고 가정한다. 해당 파일을 다른 사용자가 수정을 하고 저장을 한다고 생각해보자. user11이라는 사용자는 자신이 만든 파일이 누군지도 모르는 사용자에 의해 해당 파일 변조를 당한 것이다. 

이런 일이 발생할 수 있다고 가정하는 이유는 Linux(리눅스)는 여러 사람들이 함께 사용하는 다중 사용자 OS이기 때문이다.

이제 본격적으로 Permission에 대해 알아보도록 하자.


파일권한


리눅스, 유닉스 시스템에 사용되는 모든 파일, 폴더는 권한이 설정되어 있다.

누가 이 파일의 주인이고, 누가 실행할 것인지 설정이 되어 있다는 것이다.


접근 권한은 3가지로 나눌 수 있다.


1. 소유자(User)

2. 그룹(group)

3. 다른사용자(others)


위 3개의 다른 사용자에 대해 읽기(r) , 쓰기(w) , 실행(x) 권한을 부여할 수 있다.

각각의 권한을 리눅스 상에서 부여할 때 숫자를 이용한다.

1
2
3
4
777 = rwxrwxrwx
711 = rwx--x--x
755 = rwxr-xr-x
644 = rw-r--r--



위 보기와 같이 각각의 권한에 따라 퍼미션 값(숫자)이 변하는 것을 볼 수 있다.
그렇다면 의문이 들 것이다. 예를 들어 rwx--x--x가 어째서 711인지 말이다.
그 이유는 r(4) , w(3) , x(1) 이렇게 값이 매겨지기 때문이다.

711이 매겨진 파일(또는 디렉터리)은 소유자는 읽고, 쓰고, 실행이 가능하며 
그룹에 소속된 사용자들은 실행밖에 하지 못하며
다른 사용자(파일에 대한 권한이 없는 소유자)들 또한 실행밖에 하지 못한다.


이와 같이 퍼미션 값을 부여하면 권한이 있는 사용자만이 해당 파일에 대해 액세스가 가능하다는 것을 알 수 있다.





'Linux' 카테고리의 다른 글

SetUID란  (0) 2016.03.18
[finger 명령어]  (0) 2016.03.17
여러명령어를 동시에 내리는 방법  (0) 2016.03.13
[vim editor]  (0) 2016.03.13
[FIND 명령어]  (0) 2016.03.13

WRITTEN BY
CIP_Pooh

,

[finger 명령어]

Linux 2016. 3. 17. 19:49

finger 명령어란?

finger 명령어는 local user or remote user의 계정 정보를 확인하는 명령어이다.
finger 명령어는 지정된 계정 사용자의 정보를 /etc/passwd 파일에서 읽어와 보여준다.
finger 명령어로 확인 가능 한 user의 정보는 UID(user identifier) , User name , home directory 
기본 사용 shell , 현재 로그인 정보 등을 볼 수 있다.

명령어의 위치 : /usr/bin/finger


finger 서비스가 동작 중이라면 로컬 서버의 사용자 정보뿐만 아니라 원격지 서버의 사용자 계정 정보도 확인이 가능하므로 운용 중인 서버의 finger 서비스를 막아두는 것이 좋다.

finger 서비스 비활성화 여부 확인 방법 및 조치 방법


1
2
3
 “/etc/xinetd.d/finger” 파일에서 서비스 비활성화 여부 확인
 # cat /etc/xinetd.d/finger | grep disable
 disable = no



1
2
3
4
5
6
7
8
9
10
11
1. vi 편집기를 이용하여 “/etc/xinetd.d/finger” 파일을 연 후
 # vi /etc/xinetd.d/finger
2. 아래와 같이 설정 (Disable = yes 설정)
 service finger
{
socket_type = stream
 wait = no
 user = nobody
 server = /usr/sbin/in.fingerd
 disable = yes
}


 





'Linux' 카테고리의 다른 글

SetUID란  (0) 2016.03.18
Permission(접근 권한)  (0) 2016.03.18
여러명령어를 동시에 내리는 방법  (0) 2016.03.13
[vim editor]  (0) 2016.03.13
[FIND 명령어]  (0) 2016.03.13

WRITTEN BY
CIP_Pooh

,

Linux에서는 명령어를 한 줄로 동시에 내릴 수 있다.


사용법

사용하고자 하는 명령어 뒤에 세미콜론(;) 을 붙여준 뒤 추가적으로 

실행할 명령어를 적어주면 된다.


예제


1
pwd;ls -al



여러 명령어를 동시에 내릴 때 사용하는 세미콜론은 한 줄에 여러 명령어를 내릴 수 있도록 한 것이며, 각 명령어가 동시에 실행된다는 의미는 아니고 앞의 명령어의 실행이 끝난 뒤 뒤의 명령어가 실행되는 순차적인 측면이 있다.





'Linux' 카테고리의 다른 글

SetUID란  (0) 2016.03.18
Permission(접근 권한)  (0) 2016.03.18
[finger 명령어]  (0) 2016.03.17
[vim editor]  (0) 2016.03.13
[FIND 명령어]  (0) 2016.03.13

WRITTEN BY
CIP_Pooh

,

[vim editor]

Linux 2016. 3. 13. 16:08

vim이란?


 - (Vi IMproved)은 Bram Moolenaar가 만든 vi 호환 텍스트 편집기이다.


vim 내부에서 잠시동안 쉘을 실행시키는 방법

1
2
- :![명령어]
ex) :!id



'Linux' 카테고리의 다른 글

SetUID란  (0) 2016.03.18
Permission(접근 권한)  (0) 2016.03.18
[finger 명령어]  (0) 2016.03.17
여러명령어를 동시에 내리는 방법  (0) 2016.03.13
[FIND 명령어]  (0) 2016.03.13

WRITTEN BY
CIP_Pooh

,

[FIND 명령어]

Linux 2016. 3. 13. 14:27

FIND 명령어란?

- find 명령어는 파일 시스템에서 주어진 조건으로 파일을 찾을 때 사용한다.


사용법


1
2
find where_to_search expressions
ex) find ./ -name file1

옵션


-empty

 비어 있는 파일, 단 일반 파일 또는 일반 디렉터리에 한함

-uid n

 지정된 n 값의 UID를 갖는 파일

-gid n

 지정된 n 값의 GID를 갖는 파일

-group

 지정한 그룹명에 소속된 파일

-name

 지정된 형식의 패턴을 가지는 파일

-newer 파일

 지정한 파일보다 더 최근에 변경된 적이 있는 파일

-used n

 파일이 변경된 이후 최근 n 일 이후에 액세스 된 적이 있는 파일

-user uname

 지정한 uname의 소유로 된 모든 파일(UID로 지정 가능)

-admin n

 최근 n 분 이전에 액세스 된 적이 있는 파일

-anewer 파일

 지정한 파일보다 더 최근에 액세스 된 적이 있는 파일

-atime n

 최근 n*24 시간 전에 액세스 된 적이 있는 파일

-mmin n

 최근 n 분 이전에 변경된 적이 있는 파일

-mtime n

 최근 n*24 시간 이전에 변경된 적이 있는 파일

-executable

 실행 가능한 파일

-readable

 읽기 가능한 파일

-writable

 쓰기 가능한 파일

-fstype type

 지정한 파일시스템 타입(type)에 존재하는 파일

-nogroup

 소속 그룹이 존재하지 않는 파일

-nouser

 소속 사용자(ID)가 존재하지 않는 파일

-path 패턴

 파일명이 패턴에 매칭 되는 파일

-perm 모드

 모드에서 지정된 퍼미션과 일치하는 퍼미션을 가진 파일만 해당됨.

-perm -mode

 모드에서 지정된 퍼미션을 가진 모든 파일.

-regex 패턴

 패턴에서 지정한 정규 표현식에 매칭 되는 파일

-size n[cwbkMG]

 지정된 n 단위의 디스크 공간을 사용하는 파일. 디폴트는 b

-type 타입

 지정한 파일 타입에 해당하는 파일. b, c, d, p, f, l, s 등이 있음

수행할 작업


 -delete

 검색된 파일들을 삭제

 -exec command

 지정한 command를 실행

 -exec command {} +

 검색된 파일들을 차례대로 매칭하면서 지정된 command를 수행

 -ls 

 'ls - dils'를 수행

 -ok command ;

 -exec 와 같지만 실행하기 전에 먼저 사용자에게 표준 입력으로 수행할 

  command를 입력 받는다. 만약 입력이 없다면 지정된 command를 수행한다.

 -print

 검색된 파일들에 대하여 전체 파일 경로로 파일 리스트를 표준 출력으로 출력한다.

 -printf format

 검색된 파일들에 대하여 지정 format 형식으로 표준 출력으로 출력


연산자


 ()

 괄호( ) 안의 연산이 먼저 행해짐

 ! expr

 expr 이 거짓일 때 참, 참일 때 거짓이 됨.

 -not expr

 위의! expr 과 동일함 (POSIX 호환용)

 expr1 expr2

 AND 의 의미. expr1 이 거짓일 때에는 expr2는 평가되지 않음

 expr1 -a expr2

 'expr1 expr2' 와 같음

 expr1 -and expr2

 'expr1 expr2' 와 같음 (POSIX 호환용)

 expr1 -o expr2

 OR 의 의미. expr1 이참일 경우 expr2는 평가되지 않음.

 expr1 -or expr2

 'expr1 -o expr2' 와 같은 의미





'Linux' 카테고리의 다른 글

SetUID란  (0) 2016.03.18
Permission(접근 권한)  (0) 2016.03.18
[finger 명령어]  (0) 2016.03.17
여러명령어를 동시에 내리는 방법  (0) 2016.03.13
[vim editor]  (0) 2016.03.13

WRITTEN BY
CIP_Pooh

,