-
[Linux] 사용자 관리오래된/Linux 2009. 3. 19. 00:44
- 명령어들
- useradd
새로운 계정을 만들거나 새로운 계정의 기본정보를 변경하는 경우 사용
useradd -D
새로운 계정을 추가하는 경우 사용되는 시스템에 정의된 기본 옵션 정보를 화면에 표시
dnipen@hayanho:~$ useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
useradd -D [option]
시스템에 정의된 기본 옵션을 [option] 에 설정한 것으로 변경 할 수 있다.
( 이외의 것은 지원되지 않음, Valid default-changing options are: 12/08/2008)
-b, base-dir
이것은 기본 옵션중 HOME의 값을 변경 한다.
일반적으로 새로운 사용자의 Home Directory는 HOME 밑에 사용자 이름으로
생성되어 진다.
-e, expiredate
이것은 기본 옵션중 EXPIRE의 값을 변경 한다.
계정의 비활성화(계정 휴면)될 날짜를 입력한다.(YYYY-MM-DD)
-f, -inactive
이것은 기본 옵션중 INACTIVE의 값을 변경 한다.
현재 지정된 패스워드를 사용할 수 있는 날짜가 지난뒤 계정을 비활성화 시키기
이전까지의 시간을 입력한다.
0을 입력하면 곧바로 비활성화 시키게 되며 -1을 입력하면 이 기능을 사용하지
않는다.
-g, -gid
이것은 기본 옵션중 GROUP의 값을 변경 한다.새로운 사용자의 그룹을 지정하는 것으로 그룹 이름이나 ID 값으로 설정한다.
이것은 반드시 현존하는 그룹이여야만 한다.
기본값은 1 또는 /etc/default/useradd or (useradd -D) 에서 확인 할 수 있다.
-s -shell
이것은 기본 옵션중 SHELL의 값을 변경 한다.새로운 사용자의 로그인 쉘 이름을 입력 한다.
useradd [option] LOGIN(ID)
-D 옵션을 사용하지 않은 상태에서 useradd 를 이용해 새로운 사용자를 추가하는 경우
명시된 option 과 시스템의 기본설정 값(useradd -D)으로 사용자를 추가하게 된다.
사용가능한 옵션들은 다음과 같다.
-c -comment
텍스트 문자로 입력이 가능하며 일반적으로 로그인시 요약 정보로 표시되며현재 사용중인 사용자의 이름 필드 부분에 표시되어 진다.(GUI 환경에서)
-d, -home
사용자의 로그인 디렉토리를 설정한다.
기본은 base-dir/login name 이다.
-G, -groups
','(comma)로 구분된 그룹들에 사용자를 추가한다.
GROUP1,GROUP2,...,GROUPN
그룹과 ',' 사이에 공백문자가 들어가면 안된다.
-m, -create-home
사용자의 홈 디렉토리를 만든다.
-l
lastlog 와 faillog 에 사용자를 추가하지 않는다.
-N, -no-user-group
사용자와 동일한 이름의 그룹을 만들지 않는다.
-o, --non-unique
계정의 UID 값 중복을 허용한다.
-p, --password
암호화된 패스워드를 넣는데, 이것은 crypt 함수를 이용하면 가능하고
값을 넣지 않으면 계정은 비활성화 된다.
-u, --uid
사용자의 ID 값을 넣는데 이것은 존재하지 않는 값이여야 한다.
하지만 -o 옵션을 사용한 경우 이것은 무시된다.
기본적으로 최종 UID 값 중 가장 작은 값이 사용되며 0 ~ 999 사이의 값이 사용된다.
-U, --user-group
사용자와 동일한 이름의 그룹을 생성한다.
또한, 이것은 -N 옵션과 같이 사용될 수 없다.
- usermod [option] login
command line 에 명시된 대로 시스템 계정을 수정한다.
-c, comment
password 파일의 사용자의 comment 필드에 새로운 값을 넣는다.
일반적으로 이것을 수정하기 위해 chfn이 사용된다.
-d, home_dir
사용자의 새로운 로그인 디렉토리를 설정 한다.
-m 옵션을 사용하면 현재 사용자의 디렉토리내의 파일들을 새로운 디렉토리로 옮겨준다.
-e, expire
계정을 비활성화 시킬 날짜를 입력한다. ( YYYY-MM-DD )
-f, inactive
패스워드 사용 기한 만료후 계정을 비활성화 시키기까지의 기간.
0 으로 입력하면 패스워드가 만료되자 마자 계정을 비활성화 시키게 되며,
-1 을 입력하게 되면 이 기능을 나중에 사용하겠다는(기능 사용 안함) 의미이며,
기본 값은 -1 이다.
-g, initial_group
새로운 사용자의 로그인시 그룹 이름이나 ID 값.
그룹 이름 이나 그룹 ID 로 입력하는 경우 반드시 현존 하는 값을 입력해야 하며
기본 group 번호는 1번 이지만 설치시 계정등이 생성되면서 이 값은 바뀐다.
-G, group1,[...]
명시된 그룹 목록의 멤버로 참여한다.
그룹들은 ','(comma)로 구분하여 표시하며 공백이 들어가서는 안된다.
만약 사용자가 현재 어떤 그룹의 멤버 인데 그룹목록에 명시하지 않으면 그룹에서 제거 된다.
-l, login_name
사용자의 로그인 이름이 login 에서 login_name 으로 변견된다.
사용자의 홈디렉토리 이름도 새로운 로그인 이름에 맞게 변경되어야 한다.
-p, password
crypt 함수에서 리턴된 암호화된 패스워드 값을 넣어 패스워드를 설정한다.(crypt 함수에 대한 정보는 man page 섹션 3 에서 확인 할 수 있다.)
-s, shell
사용자의 새로운 shell 이름을 설정한다.
공백을 입력하면 시스템의 기본 로그인 shell 로 설정된다.
-u, uid
사용자의 UID( 사용자 계정 식별 번호) 를 설정한다.
이 값은 유일해야 하지만 -o 옵션을 사용하면 무시된다.
시스템 계정의 경우 0~99 사이의 값을 사용한다.
사용자의 UID 값을 변경하게 되면 사용자의 홈디렉토리내의 사용자 파일의 UID 값은
자동으로 변경되지만 그 밖의 사용자 파일의 UID 값은 변경되지 않는다.
-L
사용자의 패스워드를 잠근다.
암호화된 패스워드 앞부분에 '!'(느낌표) 를 넣는다.
이것으로 인해 패스워드는 비활성화 된다.( 계정 역시 비활성화 )
이것은 -p 옵션이나 -U 옵션과 같이 사용될 수 없다.
-U
사용자의 잠긴 패스워드를 푼다.
암호화된 패스워드 앞부분에 '!'(느낌표) 를 지운다.
이것은 -p 옵션이나 -L 옵션과 같이 사용될 수 없다.
- userdel [-r] login
사용자 계정과 관련된 파일들을 삭제한다.
-r
사용자 홈디렉토리와 홈디렉토리의 파일들을 삭제하며 사용자의 mail spool( 메일 저장 공간 )
을 제거 한다. 다른 파일시스템에 존재하는 사용자 파일들은 직접 삭제 해야 한다.
- passwd [options] [LOGIN]
패스워드, 이름이나, 로그인 shell, 계정 사용 기한을 변경 할 수 있다.
사용자의 패스워드를 변경한다.
root의 경우 모든 사용자의 패스워드를 변경할 수 있으며 부가적으로 사용자의 정보중
이름이나, 로그인 shell, 계정 사용 기한을 변경 할 수 있다.
-a
이 옵션은 -S 옵션과 반드시 같이 사용되어야 하며 시스템 사용자의 모든 상태정보를
보여준다.
-S
계정의 상태 정보를 보여준다. 상태정보는 7개의 필드로 이루어져 있다.
첫번째 필드는 사용자의 로그인 이름(ID), 두번째 필드는 계정의 상태정보를 나타내는
정보로서 (L) 의 경우 계정 잠김, (NP) 패스워드가 없음, (P) 사용가능한 패스워드를 가지고
있음 이다. 세번째 필드는 마지막 패스워드 변경 일자. 네번째 필드 들은 패스워드와 관련된
것으로 최소 사용기간, 최대 사용기간, 경고 기간( 패스워드 만료되기 전 경고 일), 패스워드
만료후 비활성화 까지 기간, 만료 날짜 이다.
-d
사용자 패스워드를 삭제한다( 공백으로 만든다 ).
이것은 계정의 패스워드를 빨리 비활성화 시켜야 할 때 사용된다.
-e
계정의 패스워드를 만료시킨다.
이렇게 되면 사용자는 다음 로그인시 패스워드를 변경 해야 한다.
-i INACTIVE_DAYS
이 옵션은 패스워드 만료후 계정이 비활성화 되기 까지의 기간을 설정한다.
암호만료후 INACTIVE_DAYS 후에 계정은 비활성화 된다.
-k, --keep-tokens
Indicate password change should be performed only for expired
authentication tokens (passwords). The user wishes to keep their
non-expired tokens as before.
비활성화 된 계정의 암호를 변경한다고 되어져 있다.
-l
계정을 잠근다.
-m
패스워드를 바꿀수있는 최소 기간( 최소 암호 사용기간 )
0으로 설정하면 암호를 언제든지 바꿀 수 있다.
-q
오류를 출력하지 않는다.
-r, --repository REPOSITORY
change password in REPOSITORY repository
-u
계정 잠금을 해제한다. 잠그기 이전에 패스워드로 돌아온다.
또한 만료기한이 리셋 된다.
-w WARN_DAYS
패스워드 만료 경고 일수
WARN_DAYS 는 날수를 입력하며 사용자의 암호가 만료되어 가고 있음을 경고한다.
-x MAX_DAYS
패스워드 최대 사용 사용 가능 날수를 설정
MAX_DAYS 이후에는 패스워드를 반드시 변경해야 한다.
- groupadd [-g GID [-o]] [-f] [-K KEY=VALUE] group
새로운 그룹을 만든다.
groupadd 명령어는 새로운 그룹을 만드는데 command line에 명시한 값과 시스템에 정의된
기본값으로 설정하여 만들게 된다..
새로운 그룹은 시스템 파일에 저장 된다.
OPTIONS
-f
이옵션은 명시된 그룹이 이미 존재하는 경우나 성공한 경우 간단히 종료 하도록 한다.
-g GID
그룹의 ID 값을 설정한다. 이 값은 유일해야 한다. -o 옵션을 사용한 경우 이것은 무시된다.
일반적으로 0 ~ 999 의 값을 사용한다.
-o
이 옵션은 유일하지 않은 GID 값을 추가하는 것을 허용한다.
-K KEY=VALUE
/etc/login.defs 의 기본 설정된 상수값을 변경 할 수 있다.(GID_MIN, GID_MAX)
다중 설정도 가능 하다.
(-K GID_MIN = 100 -K GID_MAX=499)
-p PASSWORD
crypt 함수에 의해 반환된 암호화된 값을 사용한다.
기본적으로 이것은 비활성화 되어 있다.
- groupmod [options] GROUP
시스템상에 정의된 그룹을 수정한다.
시스템상에 정의된 그룹을 수정한다.
groupmod 명령어는 명시된 group 데이터베이스 목록중 GROUP의 속성들을 수정한다
OPTIONS
-g GID
주어진 GROUP 의 그룹 ID 값이 옵션에 명시된 GID 로 변경 된다.
이것은 유일해야 하는데 -o 옵션이 사용된 경우 무시된다.
숫자여야 하며 0 ~ 999를 쓰는 것이 일반적이다.
또한, 변경으로 인한 다른 모든 파일들에 설정된 이전 GID 값들은 수동으로 설정해야 한다.
-o
-g 옵션과 같이 사용하면 유일하지 않은 GID 값으로의 변경을 허용 한다.
-n NEW_GROUP
group의 이름이 GROUP 에서 NEW_GROUP 으로 변경된다.
-p
crypt 함수에서 반환된 암호화된 password 값이 들어간다.
이것은 일반적으로 비활성화 되어 있다.
- groupdel group
그룹을 삭제한다.
groupdel 명령은 시스템의 계정 파일을 수정한다.
그룹을 참조하는 모든 목록은 삭제된다.(deleting all entries that refer to group)
사용자가 존재하는 주 그룹은 삭제 할 수 없다.
삭제 하기를 원한다면 먼저 사용자를 삭제 해야 한다.
- newgrp [-] [group]
새로운 그룹으로 로그인 한다.
newgrp 명령은 현재 로그인 세션에서 사용중인 group ID 를 변경하는데 사용된다.
DESCRIPTION
The newgrp command is used to change the current group ID during a
login session. If the optional - flag is given, the user's environment
will be reinitialized as though the user had logged in, otherwise the
current environment, including current working directory, remains
unchanged.
newgrp changes the current real group ID to the named group, or to the
default group listed in /etc/passwd if no group name is given. newgrp
also tries to add the group to the user groupset. If not root, the user
will be prompted for a password if she does not have a password (in
/etc/shadow if this user has an entry in the shadowed password file, or
in /etc/passwd otherwise) and the group does, or if the user is not
listed as a member and the group has a password. The user will be
denied access if the group password is empty and the user is not listed
as a member.
If there is an entry for this group in /etc/gshadow, then the list of
members and the password of this group will be taken from this file,
otherwise, the entry in /etc/group is considered.
- finger [-lmsp] [user ...] [user@host ...]
계정 부가정보 확인 및 수정
사용자 정보를 보여주는 프로그램
Options
-s
사용자의 로그인 ID, 사용자 이름, 접속 정보, 유휴 시간, 로그인 시간, 회사 위치
와 전화번호
-l
여러 줄로 상세 정보를 표시해 주는데 사용자의 홈디렉토리도 보여진다.
-p
Prevents the -l option of finger from displaying the contents of
the ``.plan'', ``.project'' and ``.pgpkey'' files.
-m
Prevent matching of user names. User is usually a login name; how-
ever, matching will also be done on the users' real names, unless
the -m option is supplied. All name matching performed by finger
is case insensitive.
- chfn [option] [username]
계정 부가정보 수정
DESCRIPTION
chfn 명령은 사용자의 finger 정보를 바꾼다. 이것은 /etc/passwd 파일의 정
보를 바꾼다. finger 명령이 사용될 때 바로 이 파일을 참조하기 때문이다.
finger 명령은 chfn 명령에서 바뀐 실재이름, 직장, 직장전화, 집전화번호를
보여준다.
COMMAND LINE
아무 옵션 없이 이 명령을 사용하면, 직접 사용자에게 각각의 바꿀 정보를물
어보지만, 이 정보들을 명령행에서 직접 입력할 수도 있다.
INTERACTIVE MODE
아무 옵션 없이 이 명령을 사용하면, 직접 사용자에게 각각의 바꿀 정보를물
어본다. 이때 정당한 값을 지정해 주고, 원래의 값을 바꾸지 않으려면, 그냥
Enter 글쇠를 누르면 된다.
OPTIONS
-f, --full-name
사용자 실재 이름
-o, --office
사용자 직장
-p, --office-phone
사용자 직장 전화번호
-h, --home-phone
사용자 집 전화 번호
-u, --help
도움말을 보여주고 마친다.
-v, --version
버전 정보를 보여주고 마친다.
- chage [options] [LOGIN]
사용자 패스워드 만료 정보를 변경한다.
chage 명령어는 패스워드 변경일과 마지막 패스워드 변경일을 변경한다.
이 정보는 사용자가 패스워드를 바꿔야 하는 것을 시스템이 알려주기위해 사용된다.
-d LAST_DAY
마지막 패스워드 변경일을 설정한다.
YYYY-MM-DD 형식으로 설정한다.( 이 형식은 지역에 따라 다르게 설정 가능하다. )
-E EXPIRE_DATE
사용자의 계정이 언제까지 사용될 수 있는지 설정한다.
YYYY-MM-DD 로 설정. 사용자 계정이 잠긴경우 관리자의 도움을 받아야 다시 사용
가능해 진다.
-1 로 설정한 경우 계정의 만료일은 삭제 된다.
-i INACTIVE
계정이 잠긴상태에서 패스워드가 만료된후 비활성화 기간을 설정한다.
(Set the number of days of inactivity after a password has expired
before the account is locked.)
-1 로 설정하면 계정의 비활성화 기간은 삭제 된다.
-l
계정의 현재까지의(aging) 정보를 보여준다.
-m MIN_DAYS
패스워드 변경 최소 일 수를 설정한다.(패스워드 최소 사용 일 수)
0 으로 설정한 경우 사용자는 언제든지 패스워드를 변경할 수 있다.
-M MAX_DAYS
패스워드 유효 기간을 설정한다.( 패스워드 최대 사용 일 수 )
패스워드유효기간 + 마지막변경일 < 오늘날짜 이라면 사용자는 계정을 사용하기 위해
패스워드 변경이 필요하다.
이런경우 -W 옵션을 사용하여 사용자에게 경고해 줄 수 있도록 한다.
-1 로 설정하면 패스워드 유효기간은 삭제 된다.
-W WARN_DAYS
패스워드를 변경해야 하는날 이전 경고 일 수.
( 패스워드 유효기간 - 경고일수 = 경고 시작일)
- newusers
사용자 업데이트 와 일괄적으로 새로운 사용자를 추가한다
NAME
newusers - 업데이트 와 일괄적으로 새로운 사용자를 추가한다.
SYNOPSIS
newusers [옵션] [입력]
-c, --crypt-method
암호화 방법 (다음 중 하나: NONE DES MD5 SHA256 SHA512)
-r, --system
시스템 계정을 만듭니다
-s, --sha-rounds
SHA* 암호화 알고리즘의 SHA 라운드 수
newusers [new_users]
DESCRIPTION
newusers 명령어는 사용자 이름 과 패스워드를 파일에서 읽고 존재하는 사용자의
그룹이나 새로운 사용자를 추가 하는데 이 정보를 사용하여 업데이트 한다.
모든 줄은 표준 패스워드 format과 동일하며 예외적으로 다음 부분이 있다.
pw_passwd
새롭게 암호화된 패스워드 값을 사용해서 암호화 한다.
pw_gid
그룹의 이름( 또는 번호(gid))으로 설정한다.
사용자는 이 그룹의 멤버로 추가된다. 존재하지 않는 그룹이름 이나 번호가 설정된 경우
새로운 그룹이 만들어진다.
존재하지 않는 그룹의 번호를 설정한 경우 새로운 그룹의 번호로 사용한다.
pw_dir
디렉토리가 존재하는지 검사하고 존재 하지 않다면 새로운 디렉토리를 이 이름으로 만든다.
디렉토리의 소유권은 사용자로 설정되거나 업데이트 된다.
이 명령어는 많은 수의 사용자들을 추가하거나 환경을 업데이트 해야 하는 경우 사용된다.
CAVEATS
The input file must be protected since it contains unencrypted
passwords.
PAM is not used to update the passwords. Only /etc/passwd and
/etc/shadow are updated, and the various checks or options provided by
PAM modules are not used.
- 관련 파일들
- /etc/passwd
사용자 정보
계정:패스워드:UID:GID:GECOS:디렉토리:쉘
계정
사용자 로그인 ID
패스워드
이전에는 암호화된 문자열이 이곳에 저장되었었으나 현재는 * 로 채워져 있고 실제 암호화된
패스워드는 /etc/shadow 파일에 저장되어 있음
UID
사용자 식별 번호
GID
사용자가 속한 그룹 식별 번호
GECOS
finger 명령어 사용시 보여지는 내용이 들어가며 설정을 하지 않은 경우 비어있다.
디렉토리
사용자의 홈 디렉토리
쉘
사용자 로그인 쉘
- /etc/shadow
사용자의 암호화된 패스워드 및 패스워드 만료일 등
사용자 계정의 암호화된 패스워드와 패스워드의 현재상태(aging) 정보를 포함한다.
계정:암호:마지막 변경일:최소사용기간:최대사용기간:경고기간:만료후비활성화날:만료일:예약
계정
사용자 ID
암호
암호화된 패스워드
마지막 변경일
1970년 1월 1일 이후 마지막 변경일
최소 사용기간
패스워드를 설정한 후 변경할 수 있는 날까지의 기간
최대 사용기간
패스워드를 설정한 후 변경해야 하는 기간
경고기간
패스워드가 만료되어가고 있음을 사용자에게 경고 할 기간
마지막 변경일 + 최대사용기간 - 경고기간 = 경고 시작일
만료후 비활성화 날
패스워드가 만료된후 계정이 비활성화 되는 날
마지막 변경일 + 최대사용기간 + 만료후비활성화날 = 계정 비활성화 일자
만료일
1970년 1월 1일 이후 계정이 만료 되는 날
예약
예약필드
- /etc/group
그룹 정보
/etc/group 파일은 ASCII 파일로 사용자들의 그룹 정보를 담고 있다.
한줄에 하나의 그룹 구성정보를 담고 있다.
group_name:passwd:GID:user_list
group_name
그룹 이름
password
암호화된 그룹의 패스워드. 만약 이 필드가 비어 있다면 패스워드가 필요하지
않은 것이다.
GID
그룹 식별 번호
user_list
그룹의 구성원 이름이 ,(comma)로 구분되어 나열된다.
- /etc/gshadow
그룹의 shadow 파일
/etc/shadow 파일은 그룹계정에 대한 정보를 담고 있다.
각 필드는 :(colon)으로 구분된다.
group_name:passwd:administrators:members
group_name
그룹의 이름
passwd
그룹의 암호화된 패스워드
administratos
,(comma)로 구분된 그룹의 관리자들
members
,(comma)로 구분된 그룹의 구성원들
- /etc/login.defs
shadow password suite configuration
각 라인별로 주석(#) 과 파라미터 타입에 대한 설정이 적혀 있다.
CHFN_RESTRICT (string)
이 파라미터 명시들은 /etc/passwd 파일의 지코스(GECOS)필드의 값들을 사용자가
chfn 프로그램을 이용해서 변경할 수 있도록 한다.
이것은 f, r, w, h 어떤 조합으로 든 설정 할수 있다. 이것들은 각각 Full name, Room number, Work Phone, Home phone 이다.
앞에 나온 조합은 "yes" 로 설정할 경우 "rwh" 와 같고 "no" 로 설정할 경우 "frwh"와
같다. 만약 명시하지 않으면 오직 관리자만이 변경할 수 있다.
가장 좋은 제한적 설정은 chfn을 SUID로 설치하지 않는 것이다.
CONSOLE_GROUPS (string)
그룹들의 목록에 사용자의 보충그룹을 콘솔에서 로그인중인 세션에 설정한다.
기본값은 none이다.
사용 유의 - 이것은 사용자들이 이 그룹들에 지속적으로 접근하는 것을 가능하게 한다.
심지어 콘솔에 로그인 되지 않은 상태에서도.
List of groups to add to the user's supplementary group set when
logging in on the console (as determined by the CONSOLE setting).
Default is none.
Use with caution - it is possible for users to gain permanent
access to these groups, even when not logged in on the console.
DEFAULT_HOME (boolean)
로그인은 허용됐는데 홈디렉토리로 이동할 수 없는경우의 기본 설정
기본 설정 값은 no
만약 yes 로 설정하면 홈디렉토리로 이동할 수 없는 경우 사용자는 루트(/) 디렉토리로
로그인 할 수 있게 된다.
ENCRYPT_METHOD (string)
시스템의 기본 패스워드 암호화 알고리즘을 설정한다.
( commandline 에서 알고리즘을 명시하지 않은 경우 )
이 값들중 하나로 설정 할 수 있다
o DES (default)
o MD5
o SHA256
o SHA512
Note : 이 설정은 MD5_CRYPT_ENAB 파라미터 값을 덮어 쓴다.
Note : 만약 PAM을 사용중이라면 설정값과 PAM 모듈의 설정값을
동일하게 하는것이 좋다.
ENV_HZ (string)
만약 설정을 하면 사용자 로그인시 HZ 환경 변수를 정의할 수 있다.
일반적으로 리눅스에서 이값은 HZ=100 으로 정의한다.
HZ 환경 변수는 사용자( superuser )가 sulogin 을 한 경우에만 설정된다.
If set, it will be used to define the HZ environment variable when
a user login. The value must be preceded by HZ=. A common value on
Linux is HZ=100.
The HZ environment variable is only set when the user (the
superuser) logs in with sulogin.
ENV_PATH (string)
설정을 하면 사용자 로그인시 PATH 환경변수를 정의 사용 할 수 있다.
PATH= 으로 설정을 시작 하며 :(colon)으로 path 목록들을 구분지어 정의 할 수 있다.
(예를들면 /bin:/usr/bin)
기본값은 PATH=/bin:/usr/bin 이다.
ENV_SUPATH (string)
설정을 하면 관리자(superuser) 로그인시 PATH 환경변수를 정의 사용 할 수 있다.
PATH= 으로 설정을 시작하며 :(colon)으로 path 목록들을 구분지어 정의 할 수 있다.
(예를들면 /sbin:/bin:/usr/sbin:/usr/bin)
기본값은 PATH=/bin:/usr/bin 이다.
ERASECHAR (number)
터미널 상에서 문자 삭제 키 ( 010 = backspace(<-), 0177 = DEL )
값은 8진수의 경우 "0" 으로 16진수의 경우 "0x" 로 시작할 수 있다.
FAIL_DELAY (number)
어떤 사용자가 접근을 시도한 시간으로 부터 로그인 실패까지의 대기 시간(초)
Delay in seconds before being allowed another attempt after a login
failure.
FAKE_SHELL (string)
설정을 하면 로그인시 /etc/passwd 에 명시된 사용자의 shell 대신에 설정된 shell을
실행한다.
GID_MAX (number), GID_MIN (number)
useradd, groupadd(수정), newusers 로 그룹들을 만들때 그룹 ID 사용 범위
Range of group IDs used for the creation of regular groups by
useradd, useradd, or newusers.
HUSHLOGIN_FILE (string)
설정되면 이 파일은 로그인중에 일반적으로 떠드는 것들(/etc/motd and /etc/issue)을
제한할 수 있다.
만약 full path 를 명시하면 사용자의 이름이나 shell을 이 파일에서 찾게되고 조용한
(hushed) 모드가 활성화 된다.
만약 full path 를 명시하지 않은경우 사용자의 홈 디렉토리에 이 파일이 존재하는 경우
조용한 모드가 활성화 된다.
KILLCHAR (number)
터미널 상에서 KILL 키 (025 = CTRL/U)
이 값은 8진수의 경우 "0" 으로 시작할 수 있고 16진수 인 경우 "0x" 로 시작할 수 있다.
LOG_OK_LOGINS (boolean)
로그인 성공 로그를 남긴다.
LOG_UNKFAIL_ENAB (boolean)
로그인을 실패한 경우 "알 수 없는 사용자이름" 을 표시한다.
Note: 이 설정은 아이디와 패스워드가 동일한 경우 보안 문제가 있을 수 있다.
( 알 수 없는 사용자 이름을 표시하는 경우 사용자가 그녀의 패스워드 대신 그녀의 로그인
ID 를 넣는 경우 보안 문제가 발생할 수 있다.)
Enable display of unknown usernames when login failures are
recorded.
Note: logging unknown usernames may be a security issue if an user
enter her password instead of her login name.
LOGIN_RETRIES (number)
로그인시 잘못된 패스워드를 다시 입력 할 수 있는 최대 횟수를 설정.
This will most likely be overriden by PAM, since the default
pam_unix module has it's own built in of 3 retries. However, this
is a safe fallback in case you are using an authentication module
that does not enforce PAM_MAXTRIES.
LOGIN_TIMEOUT (number)
로그인 최대 시간(초)(사용자는 이 시간안에 로그인을 해야만 한다.)
MAIL_DIR (string)
메일 저장 디렉토리를 설정한다.
이것은 사용자 계정이 수정되거나 삭제되었을때 메일 박스를 조작하는데 필요하다.
(This is needed to manipulate the mailbox when its corresponding
user account is modified or deleted.)
만약 명시되지 않은경우 컴파일시 기본값으로 사용된다.
MAIL_FILE (string)
사용자들의 메일 저장소 파일들의 사용자 홈디렉토리에서의 상대경로를 설정한다.
MAIL_DIR 과 MAIL_FILE 변수들은 useradd, usermod, userdel, create, move 명령
과 사용자들의 메일 저장소를 지울때 사용된다.
MAX_MEMBERS_PER_GROUP (number)
그룹당 최대 멤버수를 설정한다.
최대 멤버수에 도달하면 새로운 그룹이 생성된다( new line ).( 동일한 이름에 동일한
패스워드, 동일한 GID값을 가진)
기본 값은 0 인데 이것은 그룹의 멤버수에 제한을 두지 않는다는 의미이다.
이것은 그룹 파일안에 그룹들을 분할하여 줄들의 길이를 제한 하도록 한다.
이것은 NIS 그룹들의 줄들이 1024 문자를 넘지 않도록 할 때 유용하다.
(This is useful to make sure that lines for NIS groups are not larger than 1024 characters.)
If you need to enforce such limit, you can use 25.
Note: 분할 그룹( 새로운 줄에 동일한 그룹의 멤버를 정의한 것 )은 모든 툴들이 지원하지
않는다.(심지어 Shadow 툴 모음 까지도) 당신이 진정으로 이것을 원하는 것이 아니라면
설정하지 않는 것이 좋다.
MD5_CRYPT_ENAB (boolean)
만약 패스워드들을 MD5-기반 알고리즘으로 암호화 해야 하는 경우 사용한다.
만약 yes 로 설정하면 새로운 패스워드들은 MD5-기반 알고리즘 으로 암호화 한다.
(If set to yes, new passwords will be encrypted using the
MD5-based algorithm compatible with the one used by recent releases
of FreeBSD.)
이것은 패스워드들의 길이 제한을 해제하고 긴 salt(공개키) 문자열을 사용할 수 있도록
지원한다.
만약 새로운 알고리즘에대해 모르고 있는 상태에서 암호화된 패스워드를 다른 시스템에서
복사해 와야 한다면 no로 설정한다.
(Set to no if you need to copy encrypted passwords to
other systems which don't understand the new algorithm.)
기본값은 no 이다.
이 값은 ENCRYPT_METHOD 변수나 configure에서 command line 옵션중 암호화
알고리즘을 사용한경우 이것으로 대체된다.
이 변수 보다 ENCRYPT_METHOD 를 사용할 것을 권장한다.
Note: 만약 PAM을 사용한다면 PAM 모듈들의 설정과 동일하게 설정할 것을 재권장 한다.
PASS_MAX_DAYS (number)
패스워드의 최대 사용 할 수 있는 기간을 설정 한다.
만약 이 설정보다 오래된 패스워드가 있다면 패스워드를 변경해야 한다(변경하도록 강제한다)
만약 명시하지 않으면 -1 로 보이게 된다.( 이것은 제한을 비활성화 한다. )
PASS_MIN_DAYS (number)
패스워드 변경이 허용되는 날까지의 기간을 설정한다.
급한 사용자들이 패스워드 변경을 시도하면 거절 된다.
만약 명시하지 않으면 -1 로 보이게 된다.( 이것은 제한을 비활성화 한다.)
PASS_WARN_AGE (number)
패스워드가 만료되기 이전에 경고를 하는 기간.
0 으로 설정하면 만료일이 도래 했을때 경고한다.
아무런 명시도 하지 않으면 경고를 하지 않는다.
PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_WARN_AGE 들은 시간제한 계정을 만들때
사용한다. 이 설정들은 현존하는 계정에 아무런 영향도 주지 않는다.
SHA_CRYPT_MIN_ROUNDS (number), SHA_CRYPT_MAX_ROUNDS (number)
ENCRYPT_METHOD 가 SHA256 이나 SHA512로 설정된 경우 SHA rounds 암호화
알고리즘 기본값으로 정의된다. ( command line 에 rouds 값이 설정되지 않은 경우 )
rounds 값을 크게 하면 brute force(패스워드 무작위 대입) 공격을 어렵게 한다.
그러나 인증 사용자들에 의해 CPU 자원이 소모되긴 한다.
명시하지 않으면 libc 가 rounds 기본값을 선택 한다.(5000)
값들은 1000-999999999 범위 안에 있어야 한다.
만약 SHA_CRYPT_MIN_ROUNDS 나 SHA_CRYPT_MAX_ROUNDS 값 중 하나만 설정되어
있다면 설정된 값을 사용하게 된다.
만약 SHA_CRYPT_MIN_ROUNDS 가 SHA_CRYPTE_MAX_ROUNDS 보다 높은 값이라면,
높은 값을 사용하게 된다.
SULOG_FILE (string)
설정하면 해당 파일에 su 활성 로그를 기록한다.
SU_NAME (string)
설정하면 "su -" 를 사용 했을때 표시되는 명령어 이름을 설정할 수 있다.
예를 들면 "su"로 설정하고 "ps"를 실행하면 명령어 이름으로 "-su"가 표시된다.
만약 설정하지 않으면 "ps"를 실행 했을때 실제 사용중인 쉘의 이름이 표시된다.
(예에서 처럼 "-sh"로 표시된다.)
SYS_GID_MAX (number), SYS_GID_MIN (number)
useradd, groupadd, newusers 를 사용하여 시스템그룹을 만들때 사용할 group ID들의
범위를 설정한다.
SYS_UID_MAX (number), SYS_UID_MIN (number)
useradd, newusers 를 사용하여 시스템 사용자들을 만들때 사용할 user ID들의 범위를
설정한다.
SYSLOG_SG_ENAB (boolean)
"syslog" 를 활성화하여 동작중인 것들을 기록한다.
SYSLOG_SU_ENAB (boolean)
"syslog" 를 활성화하여 su 사용을 기록한다. - sulog 파일에 추가 기록 됨.
TTYGROUP (string), TTYPERM (string)
터미널 권한들 : tty로 로그인 하면 group은 TTYGROUP, 권한은 TTYPERM 으로 설정된다.
기본적으로 터미널은 사용자의 주 그룹과 0600 권한으로 설정된다.
TTYGROUP 은 그룹의 이름이나 GID 로 할 수 있다.
If you have a write program which is "setgid" to a special group
which owns the terminals, define TTYGROUP to the group number and
TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign
TTYPERM to either 622 or 600.
TTYTYPE_FILE (string)
If defined, file which maps tty line to TERM environment parameter.
Each line of the file is in a format something like "vt100 tty01".
UID_MAX (number), UID_MIN (number)
useradd, newusers 를 이용해서 사용자를 추가할 때 UID 값의 범위를 설정한다.
UMASK (number)
permission mask 는 이 값으로 초기화 된다.
명시 되지 않으면 permission mask 는 022로 초기화 된다.
USERDEL_CMD (string)
이 명령은 사용자를 삭제할때 실행 된다.
사용자 소유의 것들을 삭제하거나 할때 유용하다.
USERGROUPS_ENAB (boolean)
CROSS REFERENCES
The following cross references show which programs in the shadow
password suite use which parameters.
chfn
CHFN_RESTRICT
chgpasswd
ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB
SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
chpasswd
ENCRYPT_METHOD MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS
SHA_CRYPT_MIN_ROUNDS
gpasswd
ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB
SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
groupadd
GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN
groupdel
MAX_MEMBERS_PER_GROUP
groupmems
MAX_MEMBERS_PER_GROUP
groupmod
MAX_MEMBERS_PER_GROUP
grpck
MAX_MEMBERS_PER_GROUP
grpconv
MAX_MEMBERS_PER_GROUP
grpunconv
MAX_MEMBERS_PER_GROUP
login
CONSOLE_GROUPS DEFAULT_HOME ERASECHAR FAIL_DELAY FAKE_SHELL
HUSHLOGIN_FILE KILLCHAR LOGIN_RETRIES LOGIN_TIMEOUT LOG_OK_LOGINS
LOG_UNKFAIL_ENAB TTYGROUP TTYPERM TTYTYPE_FILE USERGROUPS_ENAB
newgrp
SYSLOG_SG_ENAB
newusers
ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB
PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SHA_CRYPT_MAX_ROUNDS
SHA_CRYPT_MIN_ROUNDS SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX
SYS_UID_MIN UID_MAX UID_MIN UMASK
pwck
PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
pwconv
PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
su
CONSOLE_GROUPS DEFAULT_HOME ENV_PATH ENV_SUPATH SULOG_FILE SU_NAME
SYSLOG_SU_ENAB
sulogin
ENV_HZ
useradd
GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS
PASS_MIN_DAYS PASS_WARN_AGE SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX
SYS_UID_MIN UID_MAX UID_MIN UMASK
userdel
MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD
USERGROUPS_ENAB
usermod
MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP
vipw
MAX_MEMBERS_PER_GROUP
BUGS
Much of the functionality that used to be provided by the shadow
password suite is now handled by PAM. Thus, /etc/login.defs is no
longer used by programs such as: login(1), passwd(1), su(1). Please
refer to the corresponding PAM configuration files instead.
'오래된 > Linux' 카테고리의 다른 글
솔라리스 truss 명령어 (0) 2011.04.09