English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux 사용자 및 그룹 관리

Linux 시스템은 다중 사용자, 다중 작업의 분시 운영 체제로, 시스템 자원을 사용하려는 어떤 사용자든 먼저 시스템 관리자에게 계정을 신청해야 하며, 그 계정으로 시스템에 접근해야 합니다。

사용자 계정은 한편 시스템 관리자가 시스템을 사용하는 사용자를 추적하고 시스템 자원에 대한 접근을 제어하는 데 도움이 되며, 다른 한편으로는 파일을 조직하고 사용자에게 보안 보호를 제공하는 데도 도움이 됩니다。

각 사용자 계정은 독특한 사용자 이름과 각자의 비밀번호를 가집니다。

사용자가 로그인할 때 올바른 사용자 이름과 비밀번호를 입력하면 시스템과 자신의 메인 디렉토리에 접근할 수 있습니다。

사용자 계정 관리를 실현하기 위해 완료해야 할 주요 작업은 다음과 같습니다:

  • 사용자 계정 추가, 삭제 및 수정

  • 사용자 비밀번호 관리

  • 사용자 그룹 관리

1. Linux 시스템 사용자 계정 관리

사용자 계정 관리 작업은 주로 사용자 계정 추가, 수정 및 삭제와 관련됩니다。

사용자 계정 추가는 시스템에 새로운 계정을 생성하고, 이 계정에 사용자 번호, 사용자 그룹, 메인 디렉토리 및 로그인 셸 등의 자원을 할당하는 것입니다. 추가된 계정은 잠금되어 있으며 사용할 수 없습니다。

1사용자 계정을 추가하려면 useradd 명령어를 사용하며, 문법은 다음과 같습니다:

useradd 옵션 사용자명

파라미터 설명:

  • 옵션:

    • -c comment 일정한 설명을 지정합니다。

    • -d 디렉토리 사용자의 메인 디렉토리를 지정합니다. 이 디렉토리가 존재하지 않으면 동시에 사용합니다-m 옵션은 메인 디렉토리를 생성할 수 있습니다。

    • -g 그룹 사용자가 속한 그룹을 지정합니다。

    • -G 사용자 그룹, 그룹 사용자가 속한 추가 그룹을 지정합니다。

    • -s Shell 파일 사용자의 로그인 Shell을 지정합니다。

    • -u 사용자 번호 사용자의 사용자 번호를 지정합니다. 동시에-o 옵션을 사용하면 다른 사용자의 식별 번호를 재사용할 수 있습니다。

  • 사용자 이름:

    새 계정의 로그인 이름을 지정합니다。

예제1

# useradd –d  /home/sam -m sam

이 명령어는 사용자 sam을 생성했으며, 이 중-d와-m 옵션은 로그인 이름 sam에 메인 디렉토리를 생성합니다  /home/sam(/home는 기본 사용자 메인 디렉토리가 있는 부모 디렉토리입니다).

예제2

# useradd -s /bin/sh -g group –G adm,root gem

이 명령어는 사용자 gem을 새로 만들었으며, 이 사용자의 로그인 Shell은 /bin/sh는 group 그룹에 속하며, adm과 root 사용자 그룹에도 속하며, group 그룹은 메인 그룹입니다。

여기서 새로운 그룹을 만들 수 있습니다:#groupadd group 및 groupadd adm

사용자 계정을 추가하는 것은/etc/passwd 파일에 새로운 사용자 기록을 추가하고, 다른 시스템 파일들도 업데이트합니다/etc/shadow, /etc/group 등。

Linux는 사용자 계정을 통합 관리할 수 있는 시스템 관리 도구인 userconf를 제공합니다。

2계정을 제거합니다

사용자 계정이 더 이상 사용되지 않으면 시스템에서 제거할 수 있습니다。사용자 계정을 제거하는 것은/etc/passwd와 같은 시스템 파일에서 해당 사용자 기록을 제거하고, 필요할 때 사용자의 메인 디렉토리도 제거합니다。

이미 있는 사용자 계정을 제거하려면 userdel 명령어를 사용하며, 다음과 같은 형식입니다:

userdel 옵션 사용자명

보통 사용되는 옵션은 -r은 사용자의 메인 디렉토리도 함께 제거하는 역할을 합니다。

예를 들어:

# userdel -r sam

이 명령어는 사용자 sam을 시스템 파일(주로/etc/passwd, /etc/shadow, /etc/그룹 등의 기록을 동시에 제거하고 사용자의 메인 디렉토리도 제거합니다。

3계정을 수정합니다

사용자 계정을 수정하는 것은 실제 상황에 따라 사용자의 관련 속성을 변경하는 것을 의미하며, 사용자 번호, 메인 디렉토리, 그룹, 로그인 Shell 등을 포함합니다。

이미 있는 사용자 정보를 수정하려면 usermod 명령어를 사용하며, 다음과 같은 형식입니다:

usermod 옵션 사용자명

보통 사용되는 옵션에는-c, -d, -m, -g, -G, -s, -u와-o와 같은 옵션은 useradd 명령어의 옵션과 동일하며, 사용자에게 새로운 자원 값을 지정할 수 있습니다。

또한, 일부 시스템에서는 다음과 같은 옵션을 사용할 수 있습니다:-l 새로운 사용자 이름

이 옵션은 새로운 계정을 지정하며, 기존의 사용자 이름을 새로운 사용자 이름으로 변경합니다.

예를 들어:

# usermod -s /bin/ksh -d /home/z –g developer sam

이 명령어는 사용자 sam의 로그인 Shell을 ksh로 변경하고, 메인 디렉토리를/home/z,사용자 그룹을 developer로 변경합니다。

4、사용자 패스워드 관리

사용자 관리의 중요한 내용 중 하나는 사용자 패스워드 관리입니다. 사용자 계정이 생성되면 패스워드는 없지만 시스템에 잠금되어 있어 사용할 수 없습니다. 사용할 수 있도록 패스워드를 지정해야 하며, 빈 패스워드를 지정해도 됩니다.

사용자 패스워드를 지정하고 수정하는 Shell 명령어는 passwd입니다. 슈퍼 유저는 자신과 다른 사용자에게 패스워드를 지정할 수 있으며, 일반 사용자는 자신의 패스워드만 수정할 수 있습니다. 명령어의 형식은 다음과 같습니다:

passwd 옵션 사용자명

사용할 수 있는 옵션:

  • -l 패스워드를 잠금하고, 계정을 비활성화합니다.

  • -u 패스워드를 해제합니다.

  • -d 계정에 패스워드를 없애줍니다.

  • -f 강제로 사용자가 다음 로그인 시 패스워드를 변경하도록 합니다.

기본 사용자 이름이면 현재 사용자의 패스워드를 변경합니다.

예를 들어, 현재 사용자가 sam이라면 다음 명령어로 사용자 자신의 패스워드를 변경할 수 있습니다:

$ passwd 
Old password:****** 
New password:******* 
Re-new password:*******

슈퍼 유저라면 다음과 같은 형식으로 어떤 사용자의 패스워드도 지정할 수 있습니다:

# passwd sam 
New password:******* 
Re-new password:*******

일반 사용자가 자신의 패스워드를 변경할 때, passwd 명령어는 먼저 원래 패스워드를 확인하고, 두 번째로 새로운 패스워드를 두 번 입력하도록 요청합니다. 두 번 입력된 패스워드가 일치하면 이 패스워드를 사용자에게 지정합니다; 슈퍼 유저가 사용자에게 패스워드를 지정할 때는 원래 패스워드를 알지 않아도 됩니다.

시스템 보안을 위해 사용자는 더 복잡한 패스워드를 선택해야 합니다. 예를 들어, 더 좋은 것은8길이의 패스워드는 대문자, 소문자 및 숫자를 포함하고 있어야 하며, 이름, 생일 등과는 다르여야 합니다.

사용자에게 빈 패스워드를 지정할 때는 다음과 같은 형식의 명령어를 실행합니다:

# passwd -d sam

이 명령어는 사용자 sam의 패스워드를 제거하여 사용자 sam이 다음 로그인 시 시스템이 이 사용자 로그인을 허용하지 않습니다.

passwd 명령어는 다음과 같이 사용할 수 있습니다 -l(lock) 옵션은 특정 사용자를 잠금하고 로그인을 방지합니다. 예를 들어:

# passwd -l sam

2. Linux 시스템 사용자 그룹 관리

각 사용자는 하나의 사용자 그룹을 가지고 있으며, 시스템은 특정 사용자 그룹에 있는 모든 사용자를 중앙적으로 관리할 수 있습니다. 다른 Linux 시스템은 사용자 그룹의 지정이 다릅니다. 예를 들어, Linux에서 사용자는同名의 사용자 그룹에 속하며, 이 사용자 그룹은 사용자가 생성될 때 함께 생성됩니다.

사용자 그룹의 관리는 사용자 그룹의 추가, 제거 및 수정을 포함합니다. 그룹의 추가, 제거 및 수정은 실제로는/etc/group 파일의 업데이트.

1새로운 사용자 그룹을 추가하려면 groupadd 명령어를 사용합니다. 그 형식은 다음과 같습니다:

groupadd 옵션 사용자 그룹

사용할 수 있는 옵션은 다음과 같습니다:

  • -g GID는 새 사용자 그룹의 그룹 식별 번호(GID)를 지정합니다。

  • -o 일반적으로-g 옵션을 동시에 사용하면, 새 사용자 그룹의 GID는 시스템에 이미 존재하는 사용자 그룹의 GID와 동일할 수 있습니다。

예제1:

# groupadd group1

이 명령어는 시스템에 새로운 그룹 group을 추가합니다1새 그룹의 그룹 식별 번호는 현재 이미 존재하는 가장 큰 그룹 식별 번호에 기반하여 추가됩니다1。

예제2:

# groupadd -g 101 group2

이 명령어는 시스템에 새로운 그룹 group을 추가합니다2또한 새 그룹의 그룹 식별 번호를101。

2이를 통해 이미 존재하는 사용자 그룹을 제거하려면 groupdel 명령어를 사용합니다. 그 형식은 다음과 같습니다:

groupdel 사용자 그룹

예를 들어:

# groupdel group1

이 명령어는 시스템에서 그룹 group을 제거합니다1。

3사용자 그룹의 속성을 변경하려면 groupmod 명령어를 사용합니다. 그语法은 다음과 같습니다:

groupmod 옵션 사용자 그룹

보통 사용되는 옵션은 다음과 같습니다:

  • -g GID는 사용자 그룹에 새로운 그룹 식별 번호를 지정합니다。

  • -o와-g 옵션을 동시에 사용하면, 사용자 그룹의 새 GID는 시스템에 이미 존재하는 사용자 그룹의 GID와 동일할 수 있습니다。

  • -n 새 사용자 그룹을 사용자 그룹 이름을 새 이름으로 변경합니다

예제1:

# groupmod -g 102 group2

이 명령어는 그룹 group을2그룹 식별 번호를102。

예제2:

# groupmod –g 10000 -n group3 group2

이 명령어는 그룹 group을2의 식별 번호를10000이며, 그룹 이름을 group으로 변경합니다3。

4만약 사용자가 여러 사용자 그룹에 속해 있다면, 사용자는 그룹 간으로 전환하여 다른 사용자 그룹의 권한을 가질 수 있습니다。

사용자는 로그인 후에도 명령어 newgrp를 사용하여 다른 사용자 그룹으로 전환할 수 있습니다. 이 명령어의 인수는 목적 사용자 그룹입니다. 예를 들어:

$ newgrp root

이 명령어는 현재 사용자를 root 사용자 그룹으로 전환합니다. 조건은 root 사용자 그룹이 실제로 해당 사용자의 메인 그룹이나 추가 그룹이어야 합니다. 사용자 계정 관리와 유사하게, 사용자 그룹 관리도 통합 시스템 관리 도구를 통해 수행할 수 있습니다。

3. 사용자 계정과 관련된 시스템 파일

사용자 관리 작업을 수행하는 방법은 많지만, 실제로는 모두 관련 시스템 파일을 수정하는 것입니다。

사용자와 사용자 그룹에 관련된 정보는 일부 시스템 파일에 저장되어 있습니다. 이 파일들은 다음과 같습니다:/etc/passwd, /etc/shadow, /etc/group 등。

이제 이 파일들의 내용을 각각 설명합니다。

1,/etc/passwd 파일은 사용자 관리 작업에 관여하는 가장 중요한 파일 중 하나입니다。

Linux 시스템의 각 사용자는/etc/passwd 파일에는 해당 사용자의 일부 기본 속성을 기록한 일치하는 레코드 행이 있습니다。

이 파일은 모든 사용자에게 읽을 수 있습니다. 그 내용은 아래 예제와 유사합니다:

# cat /etc/passwd
root:x:0:0:최고 사용자:/:
daemon:x:1:1:시스템 데몬:/etc:
bin:x:2:2:시스템 명령어 소유자:/bin:
sys:x:3:3:시스템 파일 소유자:/usr/sys:
adm:x:4:4:시스템 계정:/usr/adm:
uucp:x:5:5:UUCP 관리자:/usr/lib/uucp:
auth:x:7:21:인증 관리자:/tcb/files/auth:
cron:x:9:16:크론 데몬:/usr/spool/cron:
listen:x:37:4:네트워크 데몬:/usr/net/nls:
lp:x:71:18:프린터 관리자:/usr/spool/lp:
sam:x:200:50:Sam san:/home/sam:/bin/sh

위의 예시에서 볼 수 있듯이,/etc/passwd 파일의 한 행은 하나의 사용자를 기록하며, 각 행은 콜론(:)으로 구분됩니다:7필드로 구성되며, 각 필드의 형식과 구체적인 의미는 다음과 같습니다:

사용자 이름:비밀번호:사용자 식별 번호:그룹 식별 번호:주석 설명:메인 디렉토리:로그인 셸

1)"사용자 이름"은 사용자 계정을 대표하는 문자열입니다.

보통 길이는8개의 문자로 구성되며, 대문자와 소문자와/또는 숫자로 구성되지 않아야 합니다. 로그인 이름에는 콜론(:)이 포함될 수 없습니다. 콜론은 여기서 구분자로 사용됩니다.

호환성을 위해, 로그인 이름에 점(.)를 포함하지 않는 것이 좋으며, 하이픈(-)을 사용하지 않습니다.-)와 플러스(+)로 시작합니다.

2)에서는 암호화된 사용자 비밀번호 문자열을 저장합니다.

”비밀번호” 필드는 사용자 비밀번호의 암호화된 문자열을 저장합니다. 그러나 명문이 아닙니다. 그러나/etc/passwd 파일은 모든 사용자가 읽을 수 있기 때문에 여전히 안전성 문제가 있습니다. 따라서, 많은 Linux 시스템(예: SVR4)에서 모두 shadow 기술을 사용하여 실제로 암호화된 사용자 비밀번호를 저장합니다./etc/shadow 파일에서는而在/etc/passwd 파일의 비밀번호 필드에는 특수 문자 하나만 저장됩니다. 예를 들어 “x” 또는 “*”。

3”사용자 식별 번호”는 정수로, 시스템 내에서 사용자를 식별하는 데 사용됩니다.

일반적으로 사용자 이름과 일일치합니다. 여러 사용자 이름이 동일한 식별 번호를 가지고 있다면, 시스템 내에서는 동일한 사용자로 간주하지만, 다른 비밀번호, 다른 메인 디렉토리 및 다른 로그인 셸 등이 있을 수 있습니다.

일반 사용자 식별 번호의 범위는 0~65 5350은 최고 사용자 root의 식별 번호입니다.1~99시스템이 보관하여 관리 계정으로 사용되며, 일반 사용자의 식별 번호는100부터 시작합니다. Linux 시스템에서 이 경계는}}500.

4) 그룹 식별 번호 필드는 사용자가 속한 그룹을 기록합니다.

그것은/etc/group 파일의 하나의 기록.

5) 설명성 설명 필드는 사용자의 일부 개인 정보를 기록합니다.

예를 들어 사용자의 실제 이름, 전화번호, 주소 등이 있습니다. 이 필드는 실제로는 많은 실용적 용도가 없습니다. 다른 Linux 시스템에서 이 필드의 형식은 일관되지 않습니다. 많은 Linux 시스템에서, 이 필드는 finger 명령의 출력으로 사용되는 임의의 설명 텍스트를 저장합니다.

6) 메인 디렉토리, 즉 사용자의 시작 작업 디렉토리.

그것은 사용자가 로그인한 후에 있는 디렉토리입니다. 대부분의 시스템에서, 각 사용자의 메인 디렉토리는 특정 디렉토리 아래에 조직되며, 사용자 메인 디렉토리의 이름은 사용자의 로그인 이름입니다. 각 사용자는 자신의 메인 디렉토리에 읽기, 쓰기, 실행(검색) 권한을 가지며, 다른 사용자의 이 디렉토리에 대한 접근 권한은 상황에 따라 설정됩니다.

7) 사용자가 로그인한 후, 사용자의 작업을 커널에 전달하는 프로세스를 시작해야 합니다. 이 프로세스는 사용자가 시스템에 로그인한 후 실행되는 명령 해석기나 특정 프로그램이며, 이를 셸이라고 합니다.

셸은 사용자와 Linux 시스템 간의 인터페이스입니다. Linux의 셸은 여러 가지가 있으며, 각각 특징이 다릅니다. 일반적으로 사용되는 것은 sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell) 등.

시스템 관리자는 시스템 상황과 사용자 습관에 따라 사용자에게 특정 셸을 지정할 수 있습니다. 셸을 지정하지 않으면, 시스템은 기본 로그인 셸로 sh를 사용하며, 이 필드의 값은/bin/sh.

사용자의 로그인 셸도 특정 프로그램으로 지정할 수 있습니다(이 프로그램은 명령 해석기가 아닙니다).

이 특징을 활용하여, 사용자가 특정 애플리케이션만 실행할 수 있도록 제한할 수 있습니다. 그 애플리케이션이 실행되고 끝나면, 사용자는 자동으로 시스템에서 로그아웃됩니다. 일부 Linux 시스템에서는 이 필드에 등록된 프로그램만 나타날 수 있도록 요구합니다.

8) 시스템에 가상 사용자(pseudo users)라는 유형의 사용자가 있습니다.

이 사용자들은/etc/passwd 파일에도 기록이 하나 있지만, 로그인할 수 없습니다. 그들의 로그인 셸은 비어 있습니다. 그들의 존재는 주로 시스템 관리를 편리하게 하고, 시스템 프로세스가 파일 소유자에 대한 요구를 충족시키기 위함입니다.

일반적인 가상 사용자는 다음과 같습니다:

가상 사용자 의미 
bin 실행 가능한 사용자 명령 파일 소유 
sys 시스템 파일 소유 
adm 계정 파일 소유 
uucp UUCP 사용 
lp lp 또는 lpd 서브시스템 사용 
nobody NFS 사용

계정 파일을 가진

1위에 나열된 가상 사용자 외에도 많은 표준 가상 사용자가 있습니다. 예를 들어, audit, cron, mail, usenet 등이 있으며, 이들은 각각 관련 프로세스와 파일에 필요합니다.

그리고/etc/passwd 파일은 모든 사용자가 읽을 수 있습니다. 사용자의 비밀번호가 너무 간단하거나 패턴이 명확하다면, 일반 컴퓨터는 쉽게 해독할 수 있으므로, 보안 요구가 높은 Linux 시스템은 암호화된 비밀번호 문자열을 분리하여 별도의 파일에 저장합니다. 이 파일은/etc/shadow 파일. 슈퍼 유저만이 이 파일을 읽을 수 있는 권한을 가지며, 이는 사용자 비밀번호의 보안을 보장합니다.

2,/etc/shadow의 기록 행과/etc/passwd의 일대일 대응, 이는 pwconv 명령어에 의해/etc/passwd에 있는 데이터를 자동으로 생성

그 파일 형식은/etc/passwd과 유사하게, 여러 필드로 구성되며, 필드는 ":"로 구분됩니다. 이 필드는 다음과 같습니다:

로그인 이름:암호화된 비밀번호:최종 수정 시간:최소 시간 간격:최대 시간 간격:경고 시간:비활동 시간:만료 시간:기호
  • "로그인 이름"은/etc/passwd 파일의 로그인 이름과 일치하는 사용자 계정

  • "비밀번호" 필드는 암호화된 사용자 비밀번호 문자열을 저장하며, 길이가13개 문자. 비어 있으면 해당 사용자는 비밀번호가 없으며, 로그인할 때 비밀번호가 필요하지 않습니다; 만약 { ./0-9A-Za-z }에 있는 문자가 있으면 해당 사용자는 로그인할 수 없습니다.

  • "최종 수정 시간"은 특정 시점부터 사용자가 비밀번호를 마지막으로 변경한 날짜까지의 일수를 의미합니다. 시점은 시스템에 따라 다를 수 있습니다. 예를 들어, SCO Linux에서는 이 시점은1970년1월1일.

  • "최소 시간 간격"은 비밀번호를 변경하는 두 번째 날짜와의 최소 일수를 의미합니다.

  • "최대 시간 간격"은 비밀번호가 유효한 최대 일수를 의미합니다.

  • "경고 시간" 필드는 시스템이 사용자에게 경고를 시작한 날짜부터 사용자의 비밀번호가 공식적으로 만료될까지의 일수를 의미합니다.

  • "비활동 시간"은 사용자가 로그인 활동이 없었지만 계정이 여전히 유효한 최대 일수를 의미합니다.

  • "만료 시간" 필드는 절대 일수를 제공하며, 이 필드를 사용하면 해당 계정의 유효 기간이 제공됩니다. 만료 후, 이 계정은 더 이상 유효한 계정이 아니며, 로그인을 할 수 없습니다.

  • 아래는/etc/shadow의 한 예제:

    # cat /etc/shadow
    root:Dnakfw28zf38w:8764:0:168:7:::
    daemon:*::0:0::::
    bin:*::0:0::::
    sys:*::0:0::::
    adm:*::0:0::::
    uucp:*::0:0::::
    nuucp:*::0:0::::
    auth:*::0:0::::
    cron:*::0:0::::
    listen:*::0:0::::
    lp:*::0:0::::
    sam:EkdiSECLWPdSa:9740:0:0::::

    3、用户组的所有信息都存放在/etc/group文件中。

    将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。

    每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。

    当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。

    用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。

    用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:

    组名:口令:组标识号:组内用户列表
  • "组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

  • "口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。

  • "组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。

  • "组内用户列表"是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

  • /etc/group文件的一个实例如下:

    root::0:root
    bin::2:root,bin
    sys::3:root,uucp
    adm::4:root,adm
    daemon::5:root,daemon
    lp::7:root,lp
    users::20:root,sam

    四、添加批量用户

    添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户的方法。Linux系统提供了创建大量用户的工具,可以让您立即创建大量用户,方法如下:

    (1)先编辑一个文本用户文件。

    每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下:

    user001::600:100:user:/home/user001:/bin/bash
    user002::601:100:user:/home/user002:/bin/bash
    user003::602:100:user:/home/user003:/bin/bash
    user004::603:100:user:/home/user004:/bin/bash
    user005::604:100:user:/home/user005:/bin/bash
    user006::605:100:user:/home/user006:/bin/bash

    (2)以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:

    # newusers < user.txt

    그런 다음 vipw나 vi 명령어를 실행할 수 있습니다. /etc/passwd를 확인합니다 /etc/passwd 파일에 이 사용자의 데이터가 이미 있는지 확인하고, 사용자의 홈 디렉토리가 이미 생성되었는지 확인합니다。

    (3)명령어 실행/usr/sbin/pwunconv.

    를 /etc/shadow가 생성한 shadow 비밀번호를 decoding하여 다시 /etc/passwd에서 제거하고,/etc/shadow의 shadow 비밀번호 필드를 제거합니다. 이는 다음 단계의 비밀번호 변환 작업을 쉽게 하기 위한 것입니다. 즉, 먼저 shadow password 기능을 취소합니다.

    # pwunconv

    (4)각 사용자의 비밀번호 대조 파일을 편집합니다。

    형식은 다음과 같습니다:

    사용자 이름:비밀번호

    예제 파일 passwd.txt 내용은 다음과 같습니다:

    user001:123456
    user002:123456
    user003:123456
    user004:123456
    user005:123456
    user006:123456

    (5)root 권한으로 명령어 실행 /usr/sbin/chpasswd.

    사용자 비밀번호를 생성하면, chpasswd은 encoding된 /usr/bin/passwd 명령어로 encoding된 비밀번호를 쓰습니다 /etc/passwd의 비밀번호 필드.

    # chpasswd < passwd.txt

    (6)비밀번호가编码된 후 쓰입니다./etc/passwd의 비밀번호 필드 뒤에 쓰입니다.

    명령어 실행 /usr/sbin/pwconv은 비밀번호를 shadow password로编码하고, 결과를 /etc/shadow.

    # pwconv

    이렇게 많은 사용자가 생성되었습니다. 이후에/home 아래 이 사용자의 홈 디렉토리 권한 설정이 모두 올바르게 설정되었는지 확인하고, 사용자 비밀번호가 올바르게 설정되었는지 로그인을 통해 확인하세요。