오픈인디아나에서 기존 오픈솔라리스의 pfexec는 제대로 작동하지 않는다. 따라서, sudo를 쓰거나 혹은 pfexec를 쓰기위한 관리자를 추가해준다.
pfexec 사용하고 싶을 때:
usermod -P "Primary Administrator" username
su - root
했는데
Password:
Roles can only be assumed by authorized users
라고 나오면서 전환이 안될시:
su: Sorry
sudo -i
를 입력해서 root 권한을 획득한 뒤, vi /etc/user_attr
해서 본인의 계정이 적힌 곳을 확인한다. 아래와 같이 되어있을 것이다.
username::::type=normal;profiles=Primary Administrator
아래처럼 해준다.
username::::type=normal;profiles=Primary Administrator;roles=root
사용자 추가명령어
useradd -d /export/home/jswlinux -c "Brian Jung" -g staff -m -u 101 -s /bin/bash jswlinux
리눅스의 sudo와 비슷한 사용자 루트권한 주기
1. 권한 줄 사람의 역할을 /etc/security/exec_attr
에서 고른다.
예)
Primary Administrator:suser:cmd:::*:uid=0;gid=0
여기서 Primary Administrator는 uid=0, gid=0
이므로 root나 마찬가지다.
User Management는 exec_attr
파일 안에 명시된 명령어에 한해서 root처럼 명령어를 수행한다.
역할부여 전
jswlinux@opensolaris:~$ useradd UX: useradd: ERROR: Permission denied.
2. 권한을 줄 때는 반드시 루트에서 실행
usermod -P 'User Management' USERNAME
만약 해당유저가 로그인 중이라면 다시 로그인해야 적용
3. 역할확인
id -a sudo id -a
4. 역할에 해당하는 명령어는, 명령어 앞에 pfexec/sudo를 붙임으로서 실행 가능.
sudo useradd
역할부여 후
jswlinux@opensolaris:~$ sudo useradd UX: useradd: ERROR: invalid syntax. usage: useradd [-u uid [-o] | -g group | -G group[[,group]...] |-d dir | -b base_dir | -s shell | -c comment | -m [-k skel_dir] | -f inactive | -e expire | -A authorization [, authorization ...] | -P profile [, profile ...] | -R role [, role ...] | -K key=value | -p project [, project ...]] login useradd -D [-g group | -b base_dir | -f inactive | -e expire -A authorization [, authorization ...] | -P profile [, profile ...] | -R role [, role ...] | -K key=value ... -p project] | [-s shell] | [-k skel_dir] jswlinux@opensolaris:~$
5. pfexec를 매번 붙이는 게 귀찮을 경우
pfexec bash
6. 해당사용자의 역할(직위) 해제
usermod -P '' USERNAME 이후 pfexec id -a
Leave a Reply