오픈인디아나에서 기존 오픈솔라리스의 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

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,