차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
linuxfromscratch:12.1:097-shadow-4.14.5 [2024/05/18 16:47] – 만듦 - 바깥 편집 127.0.0.1 | linuxfromscratch:12.1:097-shadow-4.14.5 [2024/06/15 11:40] (현재) – [8.27.1. Shadow 설치] baecy | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ^ Linux From Scratch - Version 12.1-systemd | ||
+ | ^ Chapter 8. Installing Basic System Software | ||
+ | |[[.096-libxcrypt-4.4.36: | ||
+ | |Libxcrypt-4.4.36 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 8.27. Shadow-4.14.5 ===== | ||
+ | |||
+ | Shadow 패키지에는 비밀번호를 안전하게 처리하기 위한 프로그램이 포함되어 있습니다. | ||
+ | |||
+ | * **빌드 시간:** 0.1 SBU | ||
+ | * **디스크 공간:** 49 MB | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 8.27.1. Shadow 설치 ==== | ||
+ | |||
+ | <WRAP info center round 90%> | ||
+ | **참고** \\ 강력한 암호 사용을 강제하려면 Shadow를 빌드하기 전에 | ||
+ | [[https:// | ||
+ | </ | ||
+ | |||
+ | Coreutils가 더 나은 버전을 제공하므로 **group** 프로그램과 해당 man 페이지의 설치를 비활성화합니다. 또한 [[.: | ||
+ | |||
+ | <code bash> | ||
+ | sed -i ' | ||
+ | find man -name Makefile.in -exec sed -i ' | ||
+ | find man -name Makefile.in -exec sed -i ' | ||
+ | find man -name Makefile.in -exec sed -i ' | ||
+ | </ | ||
+ | |||
+ | 기본 암호 방식을 사용하는 대신 8자 이상의 암호도 허용하는 훨씬 더 안전한 // | ||
+ | |||
+ | <WRAP info center round 90%> | ||
+ | **참고** \\ ''/ | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | sed -e ' | ||
+ | -e ' | ||
+ | -e '/ | ||
+ | -i etc/ | ||
+ | </ | ||
+ | |||
+ | <WRAP info center round 90%> | ||
+ | **참고** \\ Shadow에 Cracklib 지원을 추가해서 빌드하기로 한 경우, 다음과 같이 실행하세요. | ||
+ | <code bash> | ||
+ | sed -i ' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Shadow 컴파일을 준비합니다. | ||
+ | |||
+ | <code bash> | ||
+ | touch / | ||
+ | ./configure --sysconfdir=/ | ||
+ | --disable-static | ||
+ | --with-{b, | ||
+ | --without-libbsd | ||
+ | --with-group-name-max-length=32 | ||
+ | </ | ||
+ | |||
+ | === configure 옵션 설명 === | ||
+ | |||
+ | * **touch / | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | |||
+ | 패키지를 컴파일합니다. | ||
+ | |||
+ | <code bash> | ||
+ | make | ||
+ | </ | ||
+ | |||
+ | 이 패키지는 테스트 스위트를 제공되지 않습니다. | ||
+ | |||
+ | 패키지를 설치합니다. | ||
+ | |||
+ | <code bash> | ||
+ | make exec_prefix=/ | ||
+ | make -C man install-man | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 8.27.2. Shadow 설정 ==== | ||
+ | |||
+ | 이 패키지에는 사용자 및 그룹을 추가, 수정, 삭제하고, | ||
+ | |||
+ | Shadow 비밀번호를 사용하려면 다음 명령을 실행하세요. | ||
+ | |||
+ | <code bash> | ||
+ | pwconv | ||
+ | </ | ||
+ | |||
+ | 섀도화된 그룹 비밀번호를 사용하려면 다음 명령을 실행합니다. | ||
+ | |||
+ | <code bash> | ||
+ | grpconv | ||
+ | </ | ||
+ | |||
+ | **useradd** 유틸리티에 대한 섀도우의 기본 구성에 대한 설명이 필요합니다. 먼저, **useradd** 유틸리티의 기본 동작은 사용자와 동일한 이름의 사용자와 그룹을 만드는 것입니다. 기본적으로 사용자 ID(UID) 및 그룹 ID(GID) 번호는 1000부터 시작됩니다. 즉, **useradd**에 추가 매개변수를 전달하지 않으면 각 사용자는 시스템에서 고유한 그룹의 멤버가 됩니다. 이라한 동작을 원하지 않는 경우 **useradd**에 //-g// 또는 //-N// 매개변수를 전달하거나 ''/ | ||
+ | |||
+ | 둘째, 기본 매개변수를 변경하려면 ''/ | ||
+ | |||
+ | <code bash> | ||
+ | mkdir -p / | ||
+ | useradd -D --gid 999 | ||
+ | </ | ||
+ | |||
+ | === / | ||
+ | |||
+ | * // | ||
+ | * **// | ||
+ | sed -i '/ | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 8.27.3. 루트 비밀번호 설정 ==== | ||
+ | |||
+ | 사용자 //root//의 비밀번호를 설정합니다. | ||
+ | |||
+ | <code bash> | ||
+ | passwd root | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 8.27.4. 섀도우 패키지 구성 ==== | ||
+ | |||
+ | * **설치된 프로그램: | ||
+ | * **설치된 디렉터리** \\ / | ||
+ | * **설치된 라이브러리** \\ libsubid.so | ||
+ | |||
+ | === 간략한 설명=== | ||
+ | |||
+ | * **chage** \\ 의무적인 비밀번호 변경 사이의 최대 일수를 변경하는 데 사용됩니다. | ||
+ | * **chfn** \\ 사용자의 전체 이름 및 기타 정보를 변경하는 데 사용됩니다. | ||
+ | * **chgpasswd** \\ 배치 모드에서 그룹 비밀번호를 업데이트하는 데 사용됩니다. | ||
+ | * **chpasswd** \\ 배치 모드에서 사용자 비밀번호를 업데이트하는 데 사용됩니다. | ||
+ | * **chsh** \\ 사용자의 기본 로그인 셸을 변경하는 데 사용됩니다. | ||
+ | * **expiry** \\ 현재 비밀번호 만료 정책을 확인하고 적용합니다. | ||
+ | * **faillog** \\ 로그인 실패 로그를 검사하고, | ||
+ | * **getsubids** \\ 사용자의 하위 아이디 범위를 나열하는 데 사용됩니다. | ||
+ | * **gpasswd** \\ 그룹에 멤버와 관리자를 추가 및 삭제하는 데 사용됩니다. | ||
+ | * **groupadd** \\ 주어진 이름으로 그룹을 생성합니다. | ||
+ | * **groupdel** \\ 주어진 이름의 그룹을 삭제합니다. | ||
+ | * **groupmems** \\ 사용자가 수퍼유저 권한 없이도 자신의 그룹 멤버십 목록을 관리할 수 있도록 합니다. | ||
+ | * **groupmod** \\ 지정된 그룹의 이름 또는 GID를 수정하는 데 사용됩니다. | ||
+ | * **grpck** \\ 그룹 파일 /etc/group 및 / | ||
+ | * **grpconv** \\ 일반 그룹 파일에서 섀도 그룹 파일을 만들거나 업데이트합니다. | ||
+ | * **grpunconv** \\ / | ||
+ | * **login** \\ 사용자가 로그온할 수 있도록 시스템에서 사용한다. | ||
+ | * **logoutd** \\ 로그온 시간 및 포트에 대한 제한을 적용하는 데 사용되는 데몬입니다. | ||
+ | * **newgidmap** \\ 사용자 네임스페이스의 gid 매핑을 설정하는 데 사용됩니다. | ||
+ | * **newgrp** \\ 로그인 세션 중에 현재 GID를 변경하는 데 사용됩니다. | ||
+ | * **newuidmap** \\ 사용자 네임스페이스의 UID 매핑을 설정하는 데 사용됩니다. | ||
+ | * **newusers** \\ 일련의 연속적인 사용자 계정을 만들거나 업데이트하는 데 사용됩니다. | ||
+ | * **nologin** \\ 계정을 사용할 수 없다는 메시지를 표시하며, | ||
+ | * **passwd** \\ 사용자 또는 그룹 계정의 비밀번호를 변경하는 데 사용됩니다. | ||
+ | * **pwck** \\ 암호 파일 /etc/passwd 및 / | ||
+ | * **pwconv** \\ 일반 비밀번호 파일에서 섀도 비밀번호 파일을 생성하거나 업데이트합니다. | ||
+ | * **pwunconv** \\ / | ||
+ | * **sg** \\ 사용자의 GID가 지정된 그룹의 GID로 설정된 상태에서 지정된 명령을 실행합니다. | ||
+ | * **su** \\ 대체 사용자 및 그룹 ID로 셸을 실행합니다. | ||
+ | * **useradd** \\ 주어진 이름으로 새 사용자를 만들거나 기본 새 사용자 정보를 업데이트합니다. | ||
+ | * **userdel** \\ 지정된 사용자 계정을 삭제합니다. | ||
+ | * **usermod** \\ 지정된 사용자의 로그인 이름, 사용자 식별(UID), | ||
+ | * **vigr** \\ /etc/group 또는 / | ||
+ | * **vipw** \\ etc/passwd 또는 /etc/shadow 파일을 편집합니다. | ||
+ | * libsubid \\ 사용자 및 그룹의 하위 ID 범위를 처리합니다. |