탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1에서 사용자 계정 및 사용자 환경 관리 Oracle Solaris 11.1 Information Library (한국어) |
사용자 계정 및 사용자 환경 관리의 새로운 기능 또는 변경된 기능
2. 명령줄 인터페이스를 사용하여 사용자 계정 관리(작업)
이 단원에서는 다음과 같은 정보에 대해 설명합니다.
기본 시스템 관리 작업 중 하나는 사이트에서 각 사용자에 대한 사용자 계정을 설정하는 것입니다. 일반적인 사용자 계정에는 시스템의 root 암호 없이, 사용자가 시스템에 로그인하고 이용하는 데 필요한 정보가 포함됩니다. 사용자 계정 구성 요소는 사용자 계정 구성 요소에 설명되어 있습니다.
사용자 계정을 설정할 때 미리 정의된 사용자 그룹에 사용자를 추가할 수 있습니다. 일반적인 그룹 사용법은 파일 및 디렉토리에 그룹 사용 권한을 설정하여 해당 그룹에 속한 사용자만 액세스를 허용하는 것입니다.
예를 들어, 일부 사용자만 액세스할 수 있는 조건부 파일을 포함하는 디렉토리를 만들 수 있습니다. topsecret 프로젝트에 참여하는 사용자가 포함된 topsecret라는 그룹을 설정할 수 있습니다. 또한 topsecret 그룹에 대해 읽기 권한을 보유한 topsecret 파일을 설정할 수 있습니다. 이렇게 하면 topsecret 그룹의 사용자만 파일을 읽을 수 있게 됩니다.
역할이라는 특수 유형의 사용자 계정을 사용하여 선택한 사용자에 특수 권한을 부여할 수 있습니다. 자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 역할 기반 액세스 제어(개요)를 참조하십시오.
다음 절에서는 사용자 계정의 다양한 구성 요소를 설명합니다.
사용자 이름(로그인 이름이라고도 함)으로 자신의 시스템과 적절한 액세스 권한이 있는 원격 시스템에 액세스할 수 있습니다. 내가 만든 각 사용자 계정에 대해 사용자 이름을 선택해야 합니다.
사용자 이름을 쉽게 추적할 수 있도록 표준 지정 방법을 수립해 보십시오. 또한 이름은 사용자가 기억하기 쉬워야 합니다. 사용자 이름을 선택할 때 간단한 체계는 이름 이니셜과 성의 처음 7자를 사용하는 것입니다. 예를 들어, Ziggy Ignatz는 zignatz가 됩니다. 이 체계에서 중복 이름이 발생할 경우 이름 이니셜, 중간 이름 이니셜과 성의 처음 6자를 사용할 수 있습니다. 예를 들면 Ziggy Top Ignatz는 ztignatz가 됩니다.
여전히 중복 이름이 발생할 경우 다음 체계를 사용하여 사용자 이름을 만들어 보십시오.
이름 이니셜, 중간 이름 이니셜, 성의 처음 5자
고유한 이름이 생길 때까지 1, 2, 3 등의 숫자 붙이기
사용자(로그인) 이름 설정에 대한 세부 지침은 사용자 이름, 사용자 ID 및 그룹 ID 지정 지침을 참조하십시오.
각 사용자 이름에는 UID(사용자 식별 번호)가 연관됩니다. UID 번호는 사용자가 로그인을 시도하는 시스템에 대해 사용자 이름을 식별합니다. 그리고 시스템에서 UID 번호를 사용하여 파일 및 디렉토리의 소유자를 식별합니다. 수많은 여러 시스템에 한 개인에 대한 사용자 계정을 만드는 경우 항상 동일한 사용자 이름과 ID 번호를 사용하십시오. 이렇게 하면 사용자가 소유권 문제 없이 시스템 간에 파일을 쉽게 옮길 수 있습니다.
UID 번호는 2147483647보다 작거나 같은 정수여야 합니다. UID 번호는 일반 사용자 계정과 특수 시스템 계정에 모두 필요합니다. 다음 표는 사용자 계정 및 시스템 계정에 예약되어 있는 UID 번호를 나열합니다.
표 1-1 예약된 UID 번호
|
UID에 0-99를 지정하지 마십시오. 이러한 UID는 Oracle Solaris에서 할당용으로 예약되어 있습니다. 정의상, root는 항상 UID 0, daemon은 UID 1, 의사 사용자 bin은 UID 2를 갖습니다. 더불어, uucp 로그인과 who, tty, ttytype과 같은 의사 사용자 로그인에는 낮은 UID를 부여하여 passwd 파일의 시작 부분에 오도록 해야 합니다.
UID 설정에 대한 추가 지침은 사용자 이름, 사용자 ID 및 그룹 ID 지정 지침을 참조하십시오.
사용자(로그인) 이름과 마찬가지로, 고유한 UID 번호 지정 체계를 채택해야 합니다. 일부 회사는 고유한 사원 번호를 지정합니다. 그러면 관리자가 사원 번호에 숫자를 추가하여 각 사원의 고유한 UID 번호를 만듭니다.
보안 위험을 최소화하려면 삭제된 계정의 UID를 재사용하지 않아야 합니다. 불가피하게 UID를 재사용해야 한다면, 이전 사용자가 설정한 속성에 신규 사용자가 영향을 받지 않도록 "깨끗이 정리하십시오". 예를 들어, 이전 사용자가 프린터 거부 목록에 포함되어 프린터 액세스가 거부되었을 수 있습니다. 그러나 해당 속성이 신규 사용자에 부적절할 수 있습니다.
UID 및 그룹 ID(GID)는 부호 있는 정수의 최대값, 또는 2147483647까지 지정할 수 있습니다.
다음 표는 UID 및 GID 제한 사항을 설명합니다.
표 1-2 큰 UID 및 GID 제한 사항 요약
|
그룹은 파일이나 다른 시스템 리소스를 공유할 수 있는 사용자 모음입니다. 예를 들어, 동일한 프로젝트에 참여하는 사용자는 그룹을 형성할 수 있습니다. 그룹은 전통적으로 UNIX 그룹으로 알려져 있습니다.
각 그룹에는 이름, 그룹 식별(GID) 번호 및 그룹에 속하는 사용자 이름 목록이 있어야 합니다. GID 번호는 시스템에 대해 내부적으로 그룹을 식별합니다.
사용자가 속하는 그룹에는 다음과 같은 두 가지 유형이 있습니다.
그룹 이름 설정에 대한 세부 지침은 사용자 이름, 사용자 ID 및 그룹 ID 지정 지침을 참조하십시오.
때때로, 사용자의 보조 그룹은 중요하지 않습니다. 예를 들어, 파일 소유권은 보조 그룹이 아닌 기본 그룹에 반영됩니다. 그러나 다른 응용 프로그램이 사용자의 보조 그룹 멤버쉽에 의존할 수 있습니다. 예를 들어, 이전 Solaris 릴리스에서 Admintool 소프트웨어를 사용하려면 사용자가 sysadmin 그룹(그룹 14)의 구성원이어야 합니다. 그러나 그룹 14가 현재 기본 그룹인 경우 문제가 되지 않습니다.
groups 명령은 사용자가 속한 그룹을 나열합니다. 사용자는 한 번에 하나의 기본 그룹만 가질 수 있습니다. 그러나 newgrp 명령을 사용하여 사용자의 기본 그룹을 다른 소속 그룹으로 일시적으로 변경할 수 있습니다.
사용자 계정을 추가할 때 사용자에 기본 그룹을 지정하거나, 기본값인 staff(그룹 10)를 받아들여야 합니다. 기본 그룹은 이미 존재해야 합니다. 기본 그룹이 존재하지 않으면 GID 번호로 그룹을 지정하십시오. 사용자 이름은 기본 그룹에 추가되지 않습니다. 사용자 이름이 기본 그룹에 추가된 경우 목록이 너무 길어질 수 있습니다. 새 보조 그룹에 사용자를 지정하기 전에 그룹을 만들어서 GID 번호를 지정해야 합니다.
그룹은 시스템에 로컬화하거나 이름 서비스를 통해 관리할 수 있습니다. 그룹 관리를 간소화하려면 NIS와 같은 이름 서비스나 LDAP과 같은 디렉토리 서비스를 사용해야 합니다. 이러한 서비스를 통해 그룹 멤버쉽을 중앙에서 관리할 수 있습니다.
사용자를 추가할 때 사용자의 암호를 지정할 수 있습니다. 또는 사용자가 처음 시스템에 로그인할 때 암호를 지정하도록 강제할 수 있습니다. 사용자 이름이 공개적으로 알려져 있더라도 암호를 비밀로 유지하고 사용자에게만 알려야 합니다. 각 사용자 계정에 암호를 지정해야 합니다.
사용자 암호는 다음 구문을 준수해야 합니다.
암호 길이는 /etc/default/passwd 파일의 /etc/passwd 변수로 식별된 값과 최소 일치해야 합니다. 기본적으로 이 값은 6으로 설정됩니다.
이 릴리스에서 기본 암호 해싱 알고리즘은 SHA256으로 변경되었습니다. 결과적으로 이전 Oracle Solaris 릴리스와 같은 8자 제한이 사용자 암호에 더 이상 적용되지 않습니다. 8자 제한은 이전 crypt_unix(5) 알고리즘을 사용하는 암호에만 적용됩니다. 이 알고리즘은 기존 passwd 파일 항목 및 NIS 맵과의 역호환성을 위해 보존되었습니다.
암호의 최대 문자 수는 이전 암호의 crypt_unix 및 다른 암호의 경우 SHA256과 같은 알고리즘에 따라 달라집니다. 암호가 기존 암호로부터 변경되었고 crypt_unix 암호인 경우, policy.conf 파일에 암호 알고리즘 변경이 필요하지 않는 한 최대 길이는 8로 설정됩니다.
새 암호는 해당 암호 알고리즘에 대해 허용되는 최대 문자 수 이내의 복잡성 규칙과 일치해야 합니다. 따라서 사용자가 crypt_unix 알고리즘을 사용 중일 때 20자 암호를 입력하면 암호가 처음 8자까지 복잡성 규칙과 일치해야 합니다. 암호 알고리즘이 다른 알고리즘인 경우 입력한 전체 암호(이 경우 20자) 내에서 암호가 복잡성 규칙과 일치해야 합니다.
각 암호는 /etc/default/passwd 파일에 지정된 구성된 복잡성 제약 조건을 충족해야 합니다.
각 암호는 /etc/default/passwd 파일에 지정된 대로 사전에 포함된 단어가 아니어야 합니다.
암호 기록 검사를 지원하는 이름 서비스에 있는 사용자 계정의 경우 이전 암호 기록이 정의되어 있으면 새 암호가 이전 암호 기록에 포함되지 않아야 합니다.
암호 규칙은 passwd(1) 매뉴얼 페이지에서 자세히 설명합니다.
컴퓨터 시스템을 더 안전하게 하려면 사용자가 암호를 정기적으로 변경해야 합니다. 높은 레벨의 보안을 위해 사용자는 6주마다 암호를 변경해야 합니다. 더 낮은 레벨의 보안을 유지하려면 3개월에 한 번이 적당합니다. 시스템 관리자 로그인(예: root 및 sys)은 매달, 또는 root 암호를 아는 사람이 이직하거나 재배정될 때마다 변경되어야 합니다.
대부분의 컴퓨터 보안 위반은 적법한 사용자의 암호를 짐작하는 것에서 비롯됩니다. 고유 명사, 이름, 로그인 이름 및 기타 사용자를 잘 아는 사람이 짐작할 수 있는 암호를 사용하지 않았는지 확인해야 합니다.
좋은 암호는 다음과 같이 구성됩니다.
문구(beammeup).
문구의 모든 단어의 첫 글자로 구성된 의미 없는 말. 예: SomeWhere Over The RainBow에 해당하는 swotrb
문자가 숫자나 기호로 대체된 단어. 예: snoopy에 해당하는 sn00py.
다음 사항은 암호에 사용하지 마십시오.
내 이름(철자가 정방향, 역방향, 혼합형이든)
가족이나 애완동물의 이름
자동차 등록 번호
전화 번호
주민 등록 번호
사원 번호
취미나 관심사에 관련된 단어
계절적 테마(예: Santa in December)
사전에 있는 단어
홈 디렉토리는 개인 파일을 저장하기 위해 사용자에 할당된 파일 시스템의 부분입니다. 홈 디렉토리에 할당하는 공간량은 사용자가 만드는 파일 종류, 해당 크기 및 만들어진 파일 수에 따라 다릅니다.
홈 디렉토리는 사용자의 로컬 시스템 또는 원격 파일 서버에 위치할 수 있습니다. 어느 쪽이든, 규약상 홈 디렉토리는 /export/home/username으로 만들어야 합니다. 대형 사이트의 경우 홈 디렉토리를 서버에 저장해야 합니다. 각 사용자에 별개의 파일 시스템을 사용합니다(예: /export/home/alice 또는 /export/home/bob). 각 사용자에 대한 별개의 파일 시스템을 만들면 각 사용자의 요구에 기초하여 등록 정보나 속성을 설정할 수 있습니다.
홈 디렉토리 위치에 관계없이, 사용자는 대개 /home/username이라는 마운트 지점을 통해 홈 디렉토리에 액세스합니다. AutoFS를 사용하여 홈 디렉토리에 마운트하는 경우 임의 시스템의 /home 마운트 지점 아래에 디렉토리를 만들 수 없습니다. AutoFS가 활성일 때 시스템이 /home을 특수 상태로 인식합니다. 홈 디렉토리 자동 마운트에 대한 자세한 내용은 Oracle Solaris 11.1에서 네트워크 파일 시스템 관리의 Autofs 관리 작업 개요를 참조하십시오.
네트워크 어디서든 홈 디렉토리를 사용하려면 홈 디렉토리를 항상 $HOME으로 참조하고 /export/home/username을 사용하면 안됩니다. 후자는 시스템에 특정합니다. 더불어, 사용자의 홈 디렉토리에 만든 심볼릭 링크는 상대 경로(예: ../../../x/y/x)를 사용해야 합니다. 그래야 홈 디렉토리가 어디서 마운트되든 링크가 유효합니다.
CLI를 사용하여 사용자 계정을 만들 때 홈 디렉토리 추가 방법에 대한 자세한 내용은 사용자 계정 설정 지침을 참조하십시오.
대형 사이트의 사용자 계정을 관리하는 경우 LDAP, NIS 등과 같은 이름 또는 디렉토리 서비스 사용을 고려해 보십시오. 이름 또는 디렉토리 서비스를 사용하면 모든 시스템의 /etc 파일에 사용자 계정 정보를 저장하는 대신, 중앙집중 방식으로 사용자 계정 정보를 저장할 수 있습니다. 사용자 계정에 이름 서비스 또는 디렉토리 서비스를 사용할 때 동일한 사용자 계정을 사용하여 시스템 사이를 이동할 수 있으며 시스템마다 중복된 정보를 둘 필요가 없습니다. 또한 이름 지정 서비스 또는 디렉토리 서비스를 사용하면 사용자 계정 정보의 일관성이 유지됩니다.
홈 디렉토리에 파일을 만들고 저장하는 것 외에도, 사용자가 작업할 도구 및 리소스에 액세스할 수 있는 환경이 필요합니다. 사용자가 시스템에 로그인할 때 초기화 파일에 의해 사용자 작업 환경이 결정됩니다. 이러한 파일은 사용자의 시작 셸로 정의되는데, 릴리스에 따라 다를 수 있습니다.
사용자 작업 환경을 관리하는 좋은 전략은 사용자의 홈 디렉토리에 .bash_profile, .bash_login, .kshrc 또는 .profile과 같은 사용자가 정의한 사용자 초기화 파일을 제공하는 것입니다.
주 - 사용자 작업 환경을 관리하기 위해 /etc/profile 또는 /etc/.login과 같은 시스템 초기화 파일을 사용하지 마십시오. 이러한 파일은 시스템에 로컬로 상주하고 중앙에서 관리되지 않습니다. 예를 들어, AutoFS를 사용하여 네트워크의 시스템에서 사용자의 홈 디렉토리를 마운트하는 경우 사용자가 시스템 사이를 이동할 때 일관된 환경을 보장하려면 각 시스템에서 시스템 초기화 파일을 수정해야 합니다.
사용자 초기화 파일의 사용자 정의에 대한 자세한 내용은 사용자 작업 환경 사용자 정의를 참조하십시오.
RBAC를 통해 사용자 계정을 사용자 정의하는 방법에 대한 자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 역할 기반 액세스 제어(개요)를 참조하십시오.
사용자 이름, UID 및 GID는 여러 도메인에 걸쳐 있을 수 있는 조직 내에서 고유해야 합니다.
사용자/역할 이름, UID 및 GID를 만들 때 다음 지침을 따르십시오.
사용자 이름 – 2-8자의 문자 및 숫자를 포함해야 합니다. 첫 글자는 문자여야 합니다. 적어도 1자가 소문자여야 합니다.
주 - 사용자 이름에 마침표(.), 밑줄(_), 하이픈(-)이 포함될 수 있지만 이러한 문자는 일부 소프트웨어 제품에 문제를 일으킬 수 있으므로 사용하지 않는 것이 좋습니다.
시스템 계정 – 기본 /etc/passwd 및 /etc/group 파일에 포함된 사용자 이름, UID, GID 중 어떤 것도 사용하지 마십시오. UID 및 GID에 0-99를 사용하지 마십시오. 이러한 번호는 Oracle Solaris에서 할당용으로 예약되어 있으므로 아무도 사용하면 안됩니다. 이 제한 사항은 현재 사용 중이 아닌 번호에도 적용됩니다.
예를 들어, gdm은 GNOME Display Manager 데몬에 예약된 사용자 이름/그룹 이름이므로 다른 사용자에 사용하면 안됩니다. 기본 /etc/passwd 및 /etc/group 항목의 전체 목록은 표 1-3 및 표 1-4를 참조하십시오.
nobody 및 nobody4 계정은 실행 중인 프로세스에 절대로 사용하면 안됩니다. 이러한 두 계정은 NFS에서 사용하도록 예약되어 있습니다. 이러한 계정을 실행 중인 프로세스에 사용하면 예상치 않은 보안 위험이 발생할 수 있습니다. 비루트로 실행하는 프로세스는 daemon 또는 noaccess 계정을 사용해야 합니다.
시스템 계정 구성 – 기본 시스템 계정의 구성은 절대로 변경하면 안됩니다. 여기에는 현재 잠겨 있는 시스템 계정의 로그인 셸 변경이 포함됩니다. 단, 이 규칙의 유일한 예외로 root 계정에 대한 암호 및 암호 에이징 매개변수는 설정할 수 있습니다.
주 - 잠긴 사용자 계정의 암호를 변경하면 암호가 변경되지만 더 이상 계정의 잠금이 동시에 해제되지 않습니다. 이제 passwd -u 명령을 사용하여 계정의 잠금을 해제하는 두번째 단계가 필요합니다.