이 장에서는 시스템 관리자와 운영자가 특권이 부여된 AFS 조작을 수행하는 방법을 설명합니다.
이 장에서는 지정된 명령을 사용하여 다음 타스크를 수행하는 방법을 설명합니다.
| system:administrators 그룹의 구성원 표시 | pts membership |
| system:administrators 그룹에 사용자 추가 | pts adduser |
| system:administrators 그룹에서 사용자 제거 | pts removeuser |
| 인증 데이터베이스 항목에 ADMIN 플래그 표시 | kas examine |
| 인증 데이터베이스 항목에서 ADMIN 플래그 설정 또는 제거 | kas setfields |
| UserList 파일에 있는 사용자 표시 | bos listusers |
| UserList 파일에 사용자 추가 | bos adduser |
| UserList 파일에서 사용자 제거 | bos removeuser |
완전한 특권이 부여된 AFS 관리자에게는 다음과 같은 특성이 있습니다.
이 절에서는 3가지 특권을 설명하고 특권이 하나 이상 필요한 이유를 설명합니다.
| 주: | 서버 정전으로 상호 인증이 불가능해도 anonymous 사용자에게는 절대로 관리 특권을 부여하지 마십시오. 이런 특권을 부여하면 셀에서 시스템을 액세스할 있는 사용자가 특권이 부여된 명령을 실행할 수 있습니다. 대체 솔루션은 영향 받은 서버 시스템을 비인증 모드에 놓고 여러 명령에서 사용할 수 있는 -noauth 플래그를 사용하여 상호 인증 시도를 방지합니다. 더 자세한 내용은 인증 관리 및 권한 부여 요구조건을 참조하십시오. |
종종 셀의 관리자는 작업을 효과적으로 수행하기 위해 완전한 관리 특권이 필요합니다. 그러나 3가지 유형의 특권을 분리하면 관리자가 자신의 작업을 완료하기 위해 필요한 취소한의 특권 집합만 부여할 수 있게 됩니다.
system:administrators 그룹 특권은 아마도 정상적인 조작(모든 서버가 정상적으로 실행하는 경우)에서 가장 자주 사용되는 가장 기본적인 특권일 것입니다. 기계나 시스템의 정전으로 보호 데이터베이스를 사용할 수 없게 되면 이런 유형의 특권을 요구하는 명령을 실행할 수 없게 됩니다.
ADMIN 플래그 특권은 인증 데이터베이스에 있는 정보 중에서 특히 afs 항목에 있는 서버 암호화 키와 같이 극도로 민감한 정보 때문에 분리됩니다. 기계나 시스템의 정전으로 인증 데이터베이스를 사용할 수 없게 되면 이런 유형의 특권을 요구하는 명령을 실행할 수 없게 됩니다.
특권이 부여된 bos와 vos 명령을 실행할 수 있는 능력은 데이터베이스보다 각 AFS 서버 기계의 로컬 디스크에 있는 /usr/afs/etc/UserList 파일에 기록됩니다. 그러므로 심각한 서버나 네트워크 문제가 발생하면 관리자는 계속 서버 기계에 로그온하고 문제를 해결하는 동안 이런 명령을 사용할 수 있습니다.
AFS 관리 특권의 첫 유형은 멤버쉽입니다. 보호 데이터베이스에 있는 system:administrators 그룹의 구성원은 다음과 같은 특권을 가지고 있습니다.
주어진 파일 서버 기계의 파일 서버가 볼륨에 있는 데이터의 system:administrators 그룹 구성원에게 묵시적으로 부여한 ACL 권한을 변경할 수 있습니다. bos create 명령을 실행하는 기계에서 fs 프로세스를 작성하고 시작하면 -implicit 인수를 fileserver 초기설정 명령에 포함시키십시오. 자세한 구문은 AFS Administration Reference의 fileserver 참조 페이지를 참조하십시오. 추가 권한을 부여하거나 l 권한을 제거할 수 있습니다. 그러나, -implicit 인수의 값을 없음으로 설정해도 파일 서버는 항상 a 권한을 그룹의 구성원에게 자동으로 부여합니다.
% pts membership system:administrators
여기서 m은 membership의 사용할 수 있는 가장 짧은 축약형입니다.
% pts membership system:administrators
% pts adduser -user <user name>+ -group system:administrators
여기서,
% pts membership system:administrators
% pts removeuser -user <user name>+ -group system:administrators
여기서,
인증 데이터베이스 항목에 ADMIN 플래그가 있는 관리자는 인증 데이터베이스를 관리할 수 있게 하는 모든 kas 명령을 실행할 수 있습니다.
인증 서버는 기존 AFS 토큰을 승인하는 대신 자체 인증을 수행합니다. 기본적으로, 이는 AFS-특권 관리자에게 해당하지 않을 수도 있는 로컬(UFS) ID를 인증합니다. -admin_username(-admin으로 축약) 인수를 포함시켜서 인증 데이터베이스 항목에 ADMIN 플래그가 있는 사용자 ID를 명명합니다.
% kas examine <name of user> \
-admin <admin principal to use for authentication>
Administrator's (admin_user) password: admin_password
여기서,
ADMIN 플래그가 켜져 있으면 이 예에서처럼 첫 행에 나타납니다.
% kas e terry -admin admin
Administrator's (admin) password: admin_password
User data for terry (ADMIN)
key version is 0, etc...
인증 서버는 기존 AFS 토큰을 사용하지 않고 자신의 인증 프로세스를 수행합니다. 기본적으로 이것은 로컬(UNIX) ID를 인증하며, AFS가 특권을 부여한 관리자에 해당되지 않을 수 있습니다. -admin 인수를 삽입하여 인증 데이터베이스 항목에 ADMIN 플래그가 있는 ID의 이름을 지정하십시오. 항목에 플래그가 있는 지 확인하려면, ADMIN 플래그가 설정되어 있는지 확인하려면에서 설명한 것처럼 kas examine 명령을 실행하십시오.
다음 명령은 읽기 쉽게 두 행에 걸쳐 표시됩니다.
% kas setfields <name of user>
{ADMIN | NOADMIN} \
-admin <admin principal to use for authentication>
Administrator's (admin_user) password: admin_password
여기서,
각 AFS 서버 기계의 로컬 디스크에 있는 /usr/afs/etc/UserList 파일에 포함시키면 관리자는 지정된 집합에서 명령을 실행할 수 있습니다.
비록 각 AFS 서버 기계의 로컬 디스크에서 파일의 복사본을 별도로 유지해도 보통 모든 복사본을 동일하게 유지합니다. 관리자가 일부 기계에서 특권을 가지고 있으면서 다른 기계에서 특권을 가지고 있지 않으면 혼동될 것입니다.
셀에서 AFS의 미국판을 실행하고 갱신 서버를 사용하여 시스템 제어 기계의 /usr/afs/etc 디렉토리 내용을 분배하면 시스템 제어 기계에 저장된 UserList 파일의 복사본만 편집하십시오. 어떤 기계가 시스템 제어 기계인지 잊은 경우에는 파일 서버 시스템의 네 가지 역할을 참조하십시오.
셀에서 AFS의 각국 언어판을 실행하거나 시스템 제어 기계가 없으면 각 서버 기계에서 UserList 파일을 편집해야 합니다.
성능 문제를 일으킬 수 있는 포맷 오류 발생을 피하려면 절대로 UserList 파일을 직접 편집하지 마십시오. 대신, 이 절의 설명 대로 bos adduser나 bos removeuser 명령을 사용하십시오.
% bos listusers <machine name>
여기서,
% bos listusers <machine name>
% bos adduser <machine name> <user names>+
여기서,
AFS의 각국 언어판을 실행하거나 갱신 서버를 사용하지 않으면 명령을 반복하면서 차례대로 machine name에 대한 각 ASF 서버 기계의 이름을 대체합니다.
% bos listusers <machine name>필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.
% bos listusers <machine name>
% bos removeuser <machine name> <user names>+
여기서,
AFS의 각국 언어판을 실행하거나 갱신 서버를 사용하지 않으면 명령을 반복하면서 차례대로 machine name에 대한 각 ASF 서버 기계의 이름을 대체합니다.