목차

Linux From Scratch - Version 12.1-systemd
Chapter 8. Installing Basic System Software
이전 위로 / 처음으로 다음
Libxcrypt-4.4.36 GCC-13.2.0

8.27. Shadow-4.14.5

Shadow 패키지에는 비밀번호를 안전하게 처리하기 위한 프로그램이 포함되어 있습니다.


8.27.1. Shadow 설치

참고
강력한 암호 사용을 강제하려면 Shadow를 빌드하기 전에 CrackLib-2.9.11 BLFS를 참조해서 CrackLib를 설치해야 합니다. 그리고 아래 설명 명령에 –with-libcrack을 추가합니다.

Coreutils가 더 나은 버전을 제공하므로 group 프로그램과 해당 man 페이지의 설치를 비활성화합니다. 또한 8.3, "Man-pages-6.06"에서 이미 설치된 man 페이지를 덮어쓰는 것을 방지합니다.

sed -i 's/groups$(EXEEXT) //' src/Makefile.in
find man -name Makefile.in -exec sed -i 's/groups\.1 / /'   {} \;
find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /'   {} \;

기본 암호 방식을 사용하는 대신 8자 이상의 암호도 허용하는 훨씬 더 안전한 YESCRYPT 방식의 암호 암호화를 사용하세요. 또한 Shadow가 기본적으로 사용하는 사용자 사서함의 /var/spool/mail 위치를 현재 사용되는 /var/mail 위치로 변경해야 합니다. 그리고 /bin/sbin/usr에 있는 해당 위치에 대한 심볼릭 링크일 뿐이므로 PATH에서 제거하세요.

참고
/bin 및/또는 /sbinPATH에 포함하려면 LFS를 빌드한 후 .bashrc에서 PATH를 수정하세요.

sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \
    -e 's:/var/spool/mail:/var/mail:'                   \
    -e '/PATH=/{s@/sbin:@@;s@/bin:@@}'                  \
    -i etc/login.defs

참고
Shadow에 Cracklib 지원을 추가해서 빌드하기로 한 경우, 다음과 같이 실행하세요.

sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs

Shadow 컴파일을 준비합니다.

touch /usr/bin/passwd
./configure --sysconfdir=/etc   \
            --disable-static    \
            --with-{b,yes}crypt \
            --without-libbsd    \
            --with-group-name-max-length=32

configure 옵션 설명

패키지를 컴파일합니다.

make

이 패키지는 테스트 스위트를 제공되지 않습니다.

패키지를 설치합니다.

make exec_prefix=/usr install
make -C man install-man


8.27.2. Shadow 설정

이 패키지에는 사용자 및 그룹을 추가, 수정, 삭제하고, 비밀번호를 설정 및 변경하고, 기타 관리 작업을 수행하는 유틸리티가 포함되어 있습니다. 비밀번호 섀도잉의 의미에 대한 자세한 설명은 압축을 푼 소스 트리에 있는 doc/HOWTO 파일을 참조하세요. Shadow 지원을 사용하는 경우 비밀번호를 확인해야 하는 프로그램(디스플레이 관리자, FTP 프로그램, pop3 데몬 등)은 반드시 Shadwo와 호환되어야 한다는 점에 유의하세요. 즉, Shadow로 처리된 비밀번호로 작업할 수 있어야 합니다.

Shadow 비밀번호를 사용하려면 다음 명령을 실행하세요.

pwconv

섀도화된 그룹 비밀번호를 사용하려면 다음 명령을 실행합니다.

grpconv

useradd 유틸리티에 대한 섀도우의 기본 구성에 대한 설명이 필요합니다. 먼저, useradd 유틸리티의 기본 동작은 사용자와 동일한 이름의 사용자와 그룹을 만드는 것입니다. 기본적으로 사용자 ID(UID) 및 그룹 ID(GID) 번호는 1000부터 시작됩니다. 즉, useradd에 추가 매개변수를 전달하지 않으면 각 사용자는 시스템에서 고유한 그룹의 멤버가 됩니다. 이라한 동작을 원하지 않는 경우 useradd-g 또는 -N 매개변수를 전달하거나 /etc/login.defs에서 USERGROUPS_ENAB의 설정을 변경해야 합니다. 자세한 내용은 useradd(8)을 참조하세요.

둘째, 기본 매개변수를 변경하려면 /etc/default/useradd 파일을 생성하고 필요에 맞게 조정해야 합니다. 다음과 같이 생성합니다.

mkdir -p /etc/default
useradd -D --gid 999

/etc/default/useradd 매개변수 설명


8.27.3. 루트 비밀번호 설정

사용자 root의 비밀번호를 설정합니다.

passwd root


8.27.4. 섀도우 패키지 구성

간략한 설명