명령행 도구 사용을 선호하시거나 X 윈도우 시스템이 설치되지 않은 경우, 이 장에서 명령행을 사용하여 사용자와 그룹을 설정하는 방법을 배워보시기 바랍니다.
시스템에 사용자를 추가하시려면:
useradd 명령을 사용하여 잠겨진 사용자 계정을 생성합니다:
useradd <username> |
passwd 명령을 사용하여 계정에 암호를 지정하고 암호 만료 기한을 설정하여 잠금을 해제합니다:
passwd <username> |
표 25-1에서 useradd 명령에 사용할 수 있는 명령행 옵션이 나와 있습니다.
| 옵션 | 설명 |
|---|---|
| -c comment | 사용자에 대한 설명 |
| -d home-dir | 디폴트 /home/username 디렉토리 대신 사용될 홈 디렉토리 지정 |
| -e date | 계정 만료 기한을 YYYY-MM-DD 날짜 형식으로 지정 |
| -f days | 암호가 만료된 후 계정이 만료될 때까지의 날짜수. (만일 0로 지정하시면, 암호가 완료되자 마자 계정이 비활성화 됩니다. 만일 -1로 지정하시면, 암호가 만료된 후에도 계정이 비활성화되지 않습니다.) |
| -g group-name | 사용자 기본 그룹명 또는 그룹 번호 (반드시 기본 그룹이 존재해야 합니다.) |
| -G group-list | 사용자가 속한 기본 그룹이 아닌 추가 그룹들의 이름과 번호 목록으로 각 그룹은 콤마로 구분됩니다. (그룹이 반드시 존재해야 합니다.) |
| -m | 홈 디렉토리가 없다면 생성합니다 |
| -M | 홈 디렉토리를 생성하지 않음 |
| -n | 사용자에 대한 사용자 개인 그룹을 생성하지 않음 |
| -r | 홈 디렉토리가 없이 사용자 ID (UID) 500 이하의 시스템 계정을 생성함. |
| -p 암호 (password) | crypt로 암호화할 암호 |
| -s | 사용자 로그인 쉘, 디폴트는 /bin/bash |
| -u uid | 사용자 ID. 499 보다 큰 숫자이며 유일한 숫자. |
표 25-1. useradd 명령행 옵션들
시스템에 그룹을 추가하시려면, groupadd 명령을 사용하시기 바랍니다:
groupadd <group-name> |
표 25-2에서 groupadd 명령에 사용되는 명령행 옵션 목록을 보실 수 있습니다.
보안 상의 이유로, 사용자가 주기적으로 암호를 변경하도록 하는 것이 좋습니다. 이것은 사용자 관리 도구의 암호 정보 탭에서 사용자를 추가하거나 편집함으로서 가능합니다.
쉘 프롬프트에서 사용자에 대한 암호 만료 기한을 설정하시려면, chage 명령 다음에 표 25-3의 옵션과 사용자명을 함께 입력하시면 됩니다.
![]() | 중요 |
|---|---|
chage 명령을 사용하기 위해서는 섀도우 암호가 활성화되어야 합니다. |
| 옵션 | 설명 |
|---|---|
| -m days | 사용자가 암호를 변경해야할 최소 날짜수를 지정합니다. 만일 값이 0 이라면, 암호는 만료되지 않습니다. |
| -M days | 암호가 유효한 최대 날짜수를 지정합니다. 이 옵션에 의해 지정된 날짜수와 -d 옵션과 함께 지정된 날짜수를 더한 값이 현재 날짜보다 적다면, 계정을 사용하기 전에 암호를 변경해야 합니다. |
| -d days | 1970년 1월 1일 이후로 암호가 마지막으로 변경된 날짜수를 지정합니다. |
| -I days | 암호가 만료된 후 계정을 잠글 때까지 걸리는 비활성화 기간을 날짜수를 지정합니다. 만일 값이 0 이라면, 암호가 만기되어도 계정이 잠기지 않습니다. |
| -E date | 계정이 잠길 날짜를 YYYY-MM-DD 형식으로 지정합니다. 1970년 1월 1일 이후 날짜수를 사용하는 것도 가능합니다. |
| -W days | 암호가 만료되기 몇일 전에 사용자에게 경고할 것인지 지정합니다. |
표 25-3. change 명령행 옵션
![]() | 힌트 |
|---|---|
만일 chage 명령 다음에 아무런 옵션 없이 사용자명이 바로 사용된다면, 현재 암호 만기값이 보여지며 변경할 값을 요청합니다. |
사용자가 첫 로그인시 암호를 설정하도록 하기 위해서는, 시스템 관리자는 사용자의 암호가 즉시 만료되도록 설정하셔야 합니다. 따라서 사용자는 처음 로그인하는 즉시 암호를 변경해야 합니다.
사용자가 처음으로 콘솔에 로그인할 때 암호를 설정하도록 강제하기 위해서는, 다음과 같은 절차를 따르십시오. 만일 사용자가 SSH 프로토콜을 사용하여 로그인 하였을 경우에는 이 방법이 작용하지 않습니다.
사용자의 암호를 잠금 — 만일 사용자가 존재하지 않는다면, useradd 명령을 사용하여 사용자 계정을 생성합니다. 그러나 암호는 부여하지 않아 그 계정이 잠긴 상태로 남아있게 합니다.
만일 암호가 이미 활성화되었다면, 다음 명령을 사용하여 계정을 잠그십시오:
usermod -L username |
즉시 암호가 만료되도록 강제함 — 다음 명령을 입력하시면 됩니다:
chage -d 0 username |
이 명령은 1970년 1월 1일 이후로 암호가 마지막으로 변경된 날짜에 대한 값을 지정합니다. 이 값은 암호 기한 만료에 어떠한 법칙이 적용되든지에 상관없이 암호가 즉시 만료되도록 강제합니다.
계정 잠금을 해제함 — 이 과정에는 두 가지 방법이 있습니다. 관리자가 초기 암호를 부여하는 방법과 암호를 입력하지 않고 공백으로 남겨두는 방법입니다.
![]() | 경고 |
|---|---|
passwd 명령을 사용하여 암호를 설정하지 마십시오. 그 이유는 이 명령은 방금 설정하신 즉시 암호가 만료되도록 강제하는 설정을 사용할 수 없게 만들기 때문입니다. |
초기 암호를 할당하시려면, 다음과 같은 과정을 따르시기 바랍니다:
python 명령을 사용하여 명령행 python 해석기를 시작합니다. 다음과 같이 나타날 것입니다:
Python 2.2.2 (#1, Dec 10 2002, 09:57:09) [GCC 3.2.1 20021207 (Red Hat Linux 8.0 3.2.1-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> |
프롬프트에서 다음과 같은 명령을 입력하십시오 (여기서 password 부분은 암호화할 암호를 입력하시고 salt는 정확히 2 개의 대문자 또는 소문자 알파벳이나, 숫자, 점 (.), 기호, 또는 슬래시 (/) 기호를 함께 입력하시면 됩니다):
import crypt; print crypt.crypt("password","salt") |
12CsGd8FRcMSM처럼 암호화된 암호가 출력될 것입니다.
출력된 암호화된 암호를 다음 명령으로 앞 뒤 공간이 없이 정확히 복사하여 붙이기 합니다:
usermod -p "encrypted-password" username |
초기 암호를 할당하는 대신, 다음 명령을 사용하여 암호를 입력하지 않고 빈 공간으로 남겨둘 수도 있습니다:
usermod -p "" username |
![]() | 주의 |
|---|---|
빈 암호를 사용하는 것이 사용자나 관리자 모두에게 편리하기는 하지만, 제3의 사용자가 먼저 로그인하여 시스템에 점근할 수 있다는 약간의 위험성이 있기는 합니다. 이러한 위험을 최소화하기 위해서는, 관리자가 계정을 잠금 해제할 시 로그인할 준비가된 사용자를 확인하는 것이 중요합니다. |
다른 방법으로 사용자가 처음 로그인시, 새로운 암호를 요청할 수 있습니다.