linux 기초 특수 권한 SetUID
리눅스에서는 일반적인 접근 권한 외에 특별한 접근 권한을 제공하는데 이를 특수 접근 권한 이라고 한다.
- 일반적인 권한을 표현할 때 777,555등과 같이 세자리 숫자를 사용하지만, 특수 접근 권한은 네 자리를 사용한다.
네 자리중 맨 앞자리 숫자가 1,2,4이면 특수 접근 권한 설정이 된다.
특수 접근 권한
- SetUID : 맨 앞자리가 4(4000)
- SetGID : 맨 앞자리가 2(2000)
- 스트키 비트(stiky bit): 맨 앞자리가1(1000)
SetUID
- SetUID가 설정된 파일을 실행하면 해당 파일이 실행되는 동안에는 실행한 사용자의 권한이 아니라 파일 소유자의 권한으로 실행할 수 있도록 한다.
[user1@localhost ch1]$ touch aaa.exe
[user1@localhost ch1]$ chmod 755 aaa.exe
[user1@localhost ch1]$ ls -l set.exe
-rwxr-xr-x. 1 user1 user1 0 2월 22 00:45 aaa.exe*
[user1@localhost ch1]$
↑ aaa.exe라는 파일을 만들고, 위와같이 권한을 부여한다.
[user1@localhost ch1]$ chmod4755 aaa.exe
[user1@localhost ch1]$ ls -l aaa.exe
-rwsr-xr-x. 1 user1 user1 0 2월 22 00:45 aaa.exe*
[user1@localhost ch1]$
↑ SetUID 설정을 해준다. SetUID는 접근 권한에서 맨 앞자리에 4를 설정해야 한다. ex.4755
차이점을 잘 살펴보면..x -> s 로 바뀌었다.
- 이렇게 SetUID를 설정하면, 소유자의 실행 권한에 's'가 표시된다. 이는 aaa.exe를 실행하면 항상 user1의 권한을 가지고 실행된다는 의미이다.
이는 실제로 SetUID가 설정되어 있는 명령을 통해 자세히 볼 수 있다. >> passwd 명령어
[user1@localhost ch1]$ ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27848 2월 22일 2015 /usr/bin/passwd*
[user1@localhost ch1]$
↑ Passwd 명령은 기본적으로 사용자 계정의 암호를 바꾸는 것이다. 그런데 실제로 암호가 저장되어 있는 파일인 /etc/shadow 파일은 root계정으로만 수정이 가능하다. 따라서 일반 사용자가 passwd 명령으로 암호를 바꾸려고 할 때 본인의 권한으로 실행한다면 암호를 바꿀 수 없다. /etc/shadow 파일을 수정할 수 없기 때문이다. 그런데 passwd 명령은 SetUID가 설정되어 있기 때문에 소유자인 root권한으로 실행되어 암호를 바꿀 수 있다.
SetUID는 실제로 일반 사용자가 root 권한으로 명령을 실행할 필요가 있는 일부 명령에 설정하여 사용하는데, 이를 이용한 해킹도 등장하여 보안에 신경 써야 한다.
SetGID
- SetGID는 SetUID와 거의 동일하다. SetGID가 설정된 파일을 실행하면 해당 파일이 실행되는 동안에 파일 소유 그룹의 권한으로 실행된다.SetGID는 2755와 같이 접근 권한에서 맨 앞자리에 2를 설정해야 한다.
[user1@localhost ch1]$ chmod2755 aaa.exe
[user1@localhost ch1]$ ls -l aaa.exe
-rwxr-sr-x. 1 user1 user1 0 2월 22 00:45 aaa.exe*
[user1@localhost ch1]$
↑ aaa.exe 파일에 SetGID를 설정하면 그룹의 실행 권한에 's'가 표시 된다.
[ Linux - CentOS ] 명령어 grep (feat.egrep) (0) | 2017.07.14 |
---|---|
[ Linux - CentOS ] SetUID(2) (0) | 2017.07.14 |
[ Linux - CentOS ] du 명령어 (0) | 2017.07.14 |
[ Linux - CentOS ] 리눅스 권한(permission) 설정하기 :: chmod (0) | 2017.07.14 |
[ Linux - CentOS ] vi 사용법 (0) | 2017.07.14 |
좀 알려주세요 현기증 난단 말이에요..