Linux2011. 12. 25. 19:32
sudo는 일시적으로 root 권한을 받아와서 실행하는
setUID / setGUID 프로그램이고 정책(policy)의 일종이다.
즉, 이러한 권한 자체가 설정이 잘못되었을 경우 도용으로 인한 프로그램의 실행을 막을 방법은 없다는 것이다.
그런 이유로 커널수준에서 특정 권한을 막을 방법이 필요하게 되었고 이를 보완하기위해 만들어진 것이 selinux 이다.
라고는 하는데..

솔찍히 Fedora 쪽에서는 sudo의 주력 도입이 debian 보다는 늦은 편이었고
그로 인해서 초기에 sudo에 익숙해지는데 조금 불편함을 느꼈지만
반대로 Fedora에서는 초기에 selinux를 넣은데 반해 우분투에서는 기본 패키지로 추가하지 않아
Selinux를 끄거나 하는 불편함은 존재하지 않는걸 봐서는 미묘한 배포판의 컨셉의 차이라고 해야하나...



SUDO
sudo는 /etc/sudoers의 설정에 따라 움직인다.
wheel은 페도라에서 사용하는 그룹으로 우분투의 경우 admin 그룹을 지칭하고
wheel/admin은 말그대로 관리자 권한을 가지는 그룹을 의미한다. 


wheel 그룹에 대한 간단한 설명

그룹 (Wheel)

휠그룹은 무엇을 위한 것인가? 대부분 오랫동안 사용되어오면서 모호한 표현이라 생각한다. 이것은 사용자 권한을 나누기 위해 사용된다. root, 휠그룹, 그밖의 사용자로 3개의 계층으로 분류되어 있다. 

보통 휠그룹은 그에 속한 그룹 사용자들만 su root 를 사용할 수 있도록 하는 기능이다. FSF(자유소프트웨어 재단) 그룹은 이 원칙에 별로 따르지 않는데 왜냐하면 그것이 수학적 알고리즘이 아니기 때문이다. 

사용자를 최소로 구분하는 것은 sudo 에 의한다. 가장 많은 sudo 권한을 위한 자격으로 휠그룹 멤버쉽이라 불리는 것이 있다. 

역사적으로 말하면 그것은 초기 BSD중의 하나에서 시작되었다 생각한다. 

휠그룹을 만들므로써 휠의 기능을 쉽게 다시 만들 수 있으며 그리고 su 와 sudo (둘다 setuid 프로그램이다.)를 wheel 그룹으로 만들고 나서 다른 사용자에 대해서는 사용권한을 제거한다. 

  # chgrp wheel /bin/su /bin/sudo
  # chown o-rwx /bin/su /bin/sudo

물론 이것은 실제적으로 정상적인 사용자들에게 su와 sudo 를 사용할 수 없게 만든다. 문제는 서버에 어떤 정상적인 사용자들이 있는가이다. 
 
[링크 : http://zicman.egloos.com/2449683]  

sudoer 추가하기 

Fedora 
# visudo                       #  /etc/sudoers 파일이 열린다. `%wheel ALL=(ALL)` 라인 추가
# usermod -G wheel <userid>

Ubuntu 
# visudo                       #  /etc/sudoers 파일이 열린다. `%admin ALL=(ALL)` 라인 추가
# usermod -G admin <userid>
 
[링크 : http://wiki.kldp.org/wiki.php/sudo]  

The sudo philosophy
===================
Sudo is a program designed to allow a sysadmin to give limited root privileges
to users and log root activity.  The basic philosophy is to give as few
privileges as possible but still allow people to get their work done.

[링크 : http://www.sudo.ws/sudo/readme.html]  

[링크 : http://www.sudo.ws/sudo/sudoers.man.html]

SELINUX
SELinux에 대해서는 머만 하려고 하면 다 막혀서 항상 FC4 이후로는 항상 끄고 살았던 기억만.. OTL

[링크 : http://www.ibm.com/developerworks/kr/library/l-selinux/
[링크 : https://wiki.ubuntu.com/SELinux
    [링크 : http://packages.ubuntu.com/lucid/selinux-policy-ubuntu

2010/02/04 - [Linux/Ubuntu] - sudo 사용가능하도록 설정하기

'Linux' 카테고리의 다른 글

localtime() 과 mktime()을 이용하기  (0) 2012.03.27
partitionless disk  (2) 2012.01.06
조이스틱 / 조이패드 on ubuntu  (2) 2011.12.23
iptables MASQUERADE (공유기 만들기?)  (0) 2011.12.04
리눅스를 라우터로 만들기  (0) 2011.12.02
Posted by 구차니