새로 만들 예시 사용자는 다음과 같습니다.
sudo
관리자egg
: 시스템 관리 명령어 실행- 일반 사용자
ham
: 소스 파일 관리 및 웹 애플리케이션 실행
ham
일반 사용자 권한으로 Django 서버를 실행하고 root 권한이 필요한 명령어를 실행할 수 없도록 합니다.
새로 만들 예시 그룹은 다음과 같습니다.
- 일반 그룹
spam
egg
와 ham
사용자는 모두 spam
그룹 소속입니다.
하지만 egg
사용자는 sudo
, su
명령어 실행할 수 있도록 sudo
관리자 그룹에도 속하도록 합니다.
sudo
그룹은 우분투 설치 시 시스템 제공 기본 그룹이므로 우리가 직접 추가할 필요는 없습니다.
sudo
사용자 egg
관리자 추가
새로운 사용자 egg
는 spam
일반 그룹의 사용자이면서 sudo
명령어를 사용할 수 있는 sudo
그룹의 사용자입니다.
따라서 egg
사용자는 시스템 관리자입니다.
일반 그룹 spam
추가
egg
사용자는 sudo
그룹의 사용자이면서 spam
일반 그룹의 사용자이기 때문에 egg
사용자를 만들기 전에 spam
그룹을 먼저 추가해야 합니다.
# groupadd spam
sudo
그룹은 이미 우분투 시스템에서 제공하는 기본 그룹이므로 여기서 추가할 필요가 없습니다.
sudo
사용자 egg
관리자 추가 및 비밀번호 지정
sudo
그룹의 사용자인 egg
관리자를 추가하고 비밀번호를 지정합니다.
# useradd -g spam -G sudo,spam -b /home -m -s /bin/bash egg
# passwd egg
sudo
그룹의 사용자만 su/sudo 명령어 허용
일반 사용자 아무나 su
, sudo
명령을 실행하지 못하도록 해야 합니다.
# dpkg-statoverride --update --add root sudo 4750 /bin/su
# dpkg-statoverride --update --add root sudo 4750 /usr/bin/sudo
이제 sudo
그룹의 사용자만 실행할 수 있습니다.
덮어쓴 파일의 소유권, 실행권한 등을 확인하고 싶다면 var/lib/dpkg/statoverride
파일을 확인합니다.
일반 사용자 ham
추가
새로운 일반 사용자 ham
은 spam
일반 그룹의 사용자이지만 sudo
그룹의 사용자는 아니므로 sudo
명령어를 사용할 수 없습니다.
앞서 일반 그룹 spam
을 만들었으므로 다시 만들 필요가 없습니다.
일반 사용자 ham
추가
# useradd -g spam -b /home -m -s /bin/bash ham
egg
사용자는 추가 후 비밀번호를 설정했는데 ham
계정은 비밀번호를 설정하지 않습니다.
어차피 egg
로 로그인해서 아래와 같이 사용자 대치로 사용할 것이기 때문입니다.
$ sudo su ham
사용자 추가 결과 확인
앞서 egg
와 ham
사용자가 올바르게 추가되었는지 확인해보도록 합니다.
/etc/passwd
파일에서 사용자 등록 여부 확인
/etc/passwd
파일 끝에 egg
와 ham
새로운 사용자가 추가된 것을 확인할 수 있습니다.
egg:x:1000:1000::/home/egg:/bin/bash
ham:x:1001:1000::/home/ham:/bin/bash
groups
명령어로 사용자가 속한 그룹 확인
groups
명령어로 새로 추가한 egg
와 ham
사용자의 속한 그룹을 확인할 수 있습니다.
# groups egg
egg : spam sudo
egg
사용자는 spam
과 sudo
두 그룹에 속한 것을 확인할 수 있습니다.
반면에 ham
사용자는 spam
그룹에만 속한 것을 알 수 있습니다.
# groups ham
ham : spam
명령어 요약
# groupadd spam
# useradd -g spam -G sudo,spam -b /home -m -s /bin/bash egg
# passwd egg
# useradd -g spam -b /home -m -s /bin/bash ham
# dpkg-statoverride --update --add root sudo 4750 /bin/su
# dpkg-statoverride --update --add root sudo 4750 /usr/bin/sudo