linuxfromscratch:12.1:097-shadow-4.14.5

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linuxfromscratch:12.1:097-shadow-4.14.5 [2024/05/19 12:27] baecylinuxfromscratch: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  ^^^ ^  Linux From Scratch - Version 12.1-systemd  ^^^
 ^  Chapter 8. Installing Basic System Software  ^^^ ^  Chapter 8. Installing Basic System Software  ^^^
-|[[.096-libxcrypt-4.4.36:|이전]]  |  [[.:08-introduction|위로]] / [[.:12.1|처음으로]]  |  [[.:098-gcc-13.2.0|다음]]|+|[[.096-libxcrypt-4.4.36:|이전]]  |  [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]]  |  [[.:098-gcc-13.2.0|다음]]|
  
 |Libxcrypt-4.4.36  |  GCC-13.2.0| |Libxcrypt-4.4.36  |  GCC-13.2.0|
줄 11: 줄 11:
 Shadow 패키지에는 비밀번호를 안전하게 처리하기 위한 프로그램이 포함되어 있습니다. Shadow 패키지에는 비밀번호를 안전하게 처리하기 위한 프로그램이 포함되어 있습니다.
  
-**대략적인 빌드 시간:** 0.1 SBU \\ +  * **빌드 시간:** 0.1 SBU 
-**필요한 디스크 공간:** 49 MB+  **디스크 공간:** 49 MB
  
 ---- ----
줄 20: 줄 20:
 <WRAP info center round 90%> <WRAP info center round 90%>
 **참고** \\ 강력한 암호 사용을 강제하려면 Shadow를 빌드하기 전에  **참고** \\ 강력한 암호 사용을 강제하려면 Shadow를 빌드하기 전에 
-CrackLib를 설치해서 강력한 암호 사용을 강제하려면 Shadow를 빌드하기 전에 [[https://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/cracklib.html|CrackLib-2.9.11 BLFS]]를 참조하세요. 그런 다음 아래 구성 명령에 --with-libcrack을 추가합니다.+[[https://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/cracklib.html|CrackLib-2.9.11 BLFS]]를 참조해서 CrackLib를 설치해야 합니다. 그리고 아래 설명 명령에 //--with-libcrack//을 추가합니다.
 </WRAP> </WRAP>
  
-Coreutils가 더 나은 버전을 제공하므로 ''group'' 프로그램과 해당 man 페이지의 설치를 비활성화합니다. 또한 [[.:073-man-pages-6.06|8.3, "Man-pages-6.06"]]에서 이미 설치된 man 페이지를 덮어쓰는 것을 방지합니다:+Coreutils가 더 나은 버전을 제공하므로 **group** 프로그램과 해당 man 페이지의 설치를 비활성화합니다. 또한 [[.:073-man-pages-6.06|8.3, "Man-pages-6.06"]]에서 이미 설치된 man 페이지를 덮어쓰는 것을 방지합니다.
  
 <code bash> <code bash>
줄 32: 줄 32:
 </code> </code>
  
-기본 암호 방식을 사용하는 대신 8자 이상의 암호도 허용하는 훨씬 더 안전한 YESCRYPT 방식의 암호 암호화를 사용하세요. 또한 Shadow가 기본적으로 사용하는 사용자 사서함의 /var/spool/mail 위치를 현재 사용되는 /var/mail 위치로 변경해야 합니다. 그리고 /bin 및 /sbin은 /usr에 있는 해당 위치에 대한 심볼릭 링크일 뿐이므로 경로에서 제거하세요.+기본 암호 방식을 사용하는 대신 8자 이상의 암호도 허용하는 훨씬 더 안전한 //YESCRYPT// 방식의 암호 암호화를 사용하세요. 또한 Shadow가 기본적으로 사용하는 사용자 사서함의 ''/var/spool/mail'' 위치를 현재 사용되는 ''/var/mail'' 위치로 변경해야 합니다. 그리고 ''/bin'' 및 ''/sbin''은 ''/usr''에 있는 해당 위치에 대한 심볼릭 링크일 뿐이므로 ''PATH''에서 제거하세요.
  
 <WRAP info center round 90%> <WRAP info center round 90%>
-**참고** \\ 어떤 이유로 /bin 및/또는 /sbin을 PATH에 포함하려면 LFS를 빌드한 후 .bashrc에서 PATH를 수정하세요.+**참고** \\ ''/bin'' 및/또는 ''/sbin''을 ''PATH''에 포함하려면 LFS를 빌드한 후 ''.bashrc''에서 ''PATH''를 수정하세요.
 </WRAP> </WRAP>
  
줄 46: 줄 46:
  
 <WRAP info center round 90%> <WRAP info center round 90%>
-**참고** \\ Cracklib 지원으로 Shadow를 빌드하기로 선택한 경우 다음 명령을 실행하세요:+**참고** \\ Shadow에 Cracklib 지원을 추가해서 빌드하기로 한 경우다음과 같이 실행하세요.
 <code bash> <code bash>
 sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs
줄 63: 줄 63:
 </code> </code>
  
-=== 새로운 구성 옵션의 의미는 다음과 같습니다: ===+=== configure 옵션 설명 ===
  
-  * **touch /usr/bin/passwd** \\ 일부 프로그램에서는 해당 위치가 하드코딩되어 있기 때문에 /usr/bin/passwd 파일이 존재해야 하며, 파일이 존재하지 않으면 설치 스크립트가 잘못된 위치에 파일을 생성합니다. +  * **touch /usr/bin/passwd** \\ 일부 프로그램에서는 해당 위치가 하드코딩 되어있기 때문에 ''/usr/bin/passwd'' 파일이 존재해야 하며, 파일이 존재하지 않으면 설치 스크립트가 잘못된 위치에 파일을 생성합니다. 
-  * **//--with-{b,yes}crypt//** \\ 셸은 이 스위치를 두 개의 스위치, --with-bcrypt와 --with-yescrypt로 확장합니다. 이를 통해 섀도우는 Libxcrypt에서 암호 해싱을 위해 구현한 Bcrypt 및 Yescrypt 알고리즘을 사용할 수 있습니다. 이러한 알고리즘은 기존 SHA 알고리즘보다 더 안전합니다(특히 GPU 기반 공격에 훨씬 더 강합니다). +  * //--with-{b,yes}crypt// \\ 셸은 이 스위치를 두 개의 스위치, //--with-bcrypt//와 //--with-yescrypt//로 확장합니다. 이를 통해 섀도우는 Libxcrypt에서 암호 해싱을 위해 구현한 Bcrypt 및 Yescrypt 알고리즘을 사용할 수 있습니다. 이러한 알고리즘은 기존 SHA 알고리즘보다 더 안전합니다(특히 GPU 기반 공격에 훨씬 더 강합니다). 
-  * **//--with-group-name-max-length=32//** \\ 허용되는 사용자 이름의 최대 길이는 32자입니다. 그룹 이름의 최대 길이를 동일하게 설정합니다. +  * //--with-group-name-max-length=32// \\ 허용되는 사용자 이름의 최대 길이는 32자입니다. 그룹 이름의 최대 길이를 동일하게 설정합니다. 
-  * //**--without-libbsd**// \\ LFS에 없는 libbsd의 readpassphrase 함수를 사용하지 않도록 합니다. 대신 소스에 포함된 복사본을 사용합니다.+  * //--without-libbsd// \\ LFS에 없는 libbsd의 readpassphrase 함수를 사용하지 않도록 합니다. 대신 소스에 포함된 복사본을 사용합니다. 
 +  * //--with-libcrack// \\ Cracklib에 대한 지원을 추가합니다.
  
 패키지를 컴파일합니다. 패키지를 컴파일합니다.
줄 87: 줄 88:
 ---- ----
  
-==== 8.27.2. 섀도 구성하기 ====+==== 8.27.2. Shadow 설정 ====
  
-이 패키지에는 사용자 및 그룹을 추가, 수정, 삭제하고, 비밀번호를 설정 및 변경하고, 기타 관리 작업을 수행하는 유틸리티가 포함되어 있습니다. 비밀번호 섀도잉의 의미에 대한 자세한 설명은 압축을 푼 소스 트리에 있는 doc/HOWTO 파일을 참조하세요. Shadow 지원을 사용하는 경우 비밀번호를 확인해야 하는 프로그램(디스플레이 관리자, FTP 프로그램, 팝3 데몬 등)은 반드시 Shadwo와 호환되어야 한다는 점에 유의하세요. 즉, Shadow로 처리된 비밀번호로 작업할 수 있어야 합니다.+이 패키지에는 사용자 및 그룹을 추가, 수정, 삭제하고, 비밀번호를 설정 및 변경하고, 기타 관리 작업을 수행하는 유틸리티가 포함되어 있습니다. 비밀번호 섀도잉의 의미에 대한 자세한 설명은 압축을 푼 소스 트리에 있는 doc/HOWTO 파일을 참조하세요. Shadow 지원을 사용하는 경우 비밀번호를 확인해야 하는 프로그램(디스플레이 관리자, FTP 프로그램, pop3 데몬 등)은 반드시 Shadwo와 호환되어야 한다는 점에 유의하세요. 즉, Shadow로 처리된 비밀번호로 작업할 수 있어야 합니다.
  
 Shadow 비밀번호를 사용하려면 다음 명령을 실행하세요. Shadow 비밀번호를 사용하려면 다음 명령을 실행하세요.
줄 97: 줄 98:
 </code> </code>
  
-섀도화된 그룹 비밀번호를 사용하려면 다음 명령을 실행합니다:+섀도화된 그룹 비밀번호를 사용하려면 다음 명령을 실행합니다.
  
 <code bash> <code bash>
줄 103: 줄 104:
 </code> </code>
  
-''useradd'' 유틸리티에 대한 섀도우의 기본 구성에 대한 설명이 필요합니다. 먼저, ''useradd'' 유틸리티의 기본 작은 사용자와 동일한 이름의 사용자와 그룹을 만드는 것입니다. 기본적으로 사용자 ID(UID) 및 그룹 ID(GID) 번호는 1000부터 시작됩니다. 즉, ''useradd''에 추가 매개변수를 전달하지 않으면 각 사용자는 시스템에서 고유한 그룹의 멤버가 됩니다. 이라한 동작을 원하지 않는 경우 ''useradd''에 //-g// 또는 //-N// 매개변수를 전달하거나 ''/etc/login.defs''에서 //USERGROUPS_ENAB//의 설정을 변경해야 합니다. 자세한 내용은 useradd(8)을 참조하세요.+**useradd** 유틸리티에 대한 섀도우의 기본 구성에 대한 설명이 필요합니다. 먼저, **useradd** 유틸리티의 기본 작은 사용자와 동일한 이름의 사용자와 그룹을 만드는 것입니다. 기본적으로 사용자 ID(UID) 및 그룹 ID(GID) 번호는 1000부터 시작됩니다. 즉, **useradd**에 추가 매개변수를 전달하지 않으면 각 사용자는 시스템에서 고유한 그룹의 멤버가 됩니다. 이라한 동작을 원하지 않는 경우 **useradd**에 //-g// 또는 //-N// 매개변수를 전달하거나 ''/etc/login.defs''에서 //USERGROUPS_ENAB//의 설정을 변경해야 합니다. 자세한 내용은 [[https://man.archlinux.org/man/useradd.8|useradd(8)]]을 참조하세요.
  
 둘째, 기본 매개변수를 변경하려면 ''/etc/default/useradd'' 파일을 생성하고 필요에 맞게 조정해야 합니다. 다음과 같이 생성합니다. 둘째, 기본 매개변수를 변경하려면 ''/etc/default/useradd'' 파일을 생성하고 필요에 맞게 조정해야 합니다. 다음과 같이 생성합니다.
줄 114: 줄 115:
 === /etc/default/useradd 매개변수 설명 === === /etc/default/useradd 매개변수 설명 ===
  
-  * //**GROUP=999**// \\ ''/etc/group'' 파일에서 사용되는 그룹 번호의 시작을 설정합니다. 특정 값 999는 위의 //--gid// 매개변수에서 가져온 것입니다. 원하는 값으로 설정할 수 있습니다. ''useradd''는 UID 또는 GID를 재사용하지 않는다는 점에 유의하세요. 이 매개변수에서 식별된 번호가 사용되면 사용 가능한 다음 번호를 사용합니다. 또한 시스템에 이 번호와 동일한 ID를 가진 그룹이 없는 경우 //-g// 매개변수 없이 ''useradd''를 처음 사용하면 계정이 올바르게 생성되었더라도 오류 메시지(useradd: 알 수 없는 GID 999)가 생성됩니다. 그렇기 때문에 [[.:063-creating_essential_files_and_symlinks|7.6. "필수 파일 및 심볼 링크 만들기"]] 에서 이 그룹 ID로 사용자 그룹을 만들었습니다. +  * //**GROUP=999**// \\ ''/etc/group'' 파일에서 사용되는 사용자 그룹 번호의 시작을 설정합니다. 특정 값 999는 위의 //--gid// 매개변수에서 가져온 것입니다. 원하는 값으로 설정할 수 있습니다. **useradd**는 UID 또는 GID를 재사용하지 않는다는 점에 유의하세요. 이 매개변수에서 식별된 번호가 사용되면 사용 가능한 다음 번호를 사용합니다. 또한 시스템에 이 번호와 동일한 ID를 가진 그룹이 없는 경우 //-g// 매개변수 없이 **useradd**를 처음 사용하면 계정이 올바르게 생성되었더라도 오류 메시지(useradd: 알 수 없는 GID 999)가 생성됩니다. 그렇기 때문에 [[.:063-creating_essential_files_and_symlinks|7.6. "필수 파일 및 심볼 링크 만들기"]] 에서 이 그룹 ID로 사용자 그룹을 만들었습니다. 
-  * **//CREATE_MAIL_SPOOL=yes//** \\ ''useradd''가 각 새 사용자에 대한 사서함 파일을 만듭니다. ''useradd''는 이 파일의 그룹 소유권을 0660 권한이 있는 //mail// 그룹에 할당합니다. 이러한 파일을 만들지 않으려면 다음 명령을 실행하세요. \\ <code bash>+  * **//CREATE_MAIL_SPOOL=yes//** \\ **useradd**가 새로운 사용자에 대한 사서함 파일을 만듭니다. **useradd**는 이 파일의 그룹 소유권을 0660 권한이 있는 //mail// 그룹에 할당합니다. 이러한 파일의 생성을 원하지 않는다면 다음과 같이 실행하세요. \\ <code bash>
 sed -i '/MAIL/s/yes/no/' /etc/default/useradd sed -i '/MAIL/s/yes/no/' /etc/default/useradd
 </code> </code>
줄 121: 줄 122:
 ---- ----
  
-==== 8.27.3. 루트 비밀번호 설정하기 ====+==== 8.27.3. 루트 비밀번호 설정 ====
  
-사용자 //root//의 비밀번호를 선택하고 실행하여 설정합니다.+사용자 //root//의 비밀번호를 설정합니다.
  
 <code bash> <code bash>
줄 131: 줄 132:
 ---- ----
  
-==== 8.27.4. 섀도우의 내용 ====+==== 8.27.4. 섀도우 패키지 구성 ====
  
   * **설치된 프로그램:** \\ chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, getsubids, gpasswd, groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, login, logoutd, newgidmap, newgrp, newuidmap, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (newgrp에 링크), su, useradd, userdel, usermod, vigr (vipw에 링크) 및 vipw   * **설치된 프로그램:** \\ chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, getsubids, gpasswd, groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, login, logoutd, newgidmap, newgrp, newuidmap, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (newgrp에 링크), su, useradd, userdel, usermod, vigr (vipw에 링크) 및 vipw
줄 137: 줄 138:
   * **설치된 라이브러리** \\ libsubid.so   * **설치된 라이브러리** \\ libsubid.so
  
-=== 간한 설명 ===+=== 간한 설명===
  
   * **chage** \\ 의무적인 비밀번호 변경 사이의 최대 일수를 변경하는 데 사용됩니다.   * **chage** \\ 의무적인 비밀번호 변경 사이의 최대 일수를 변경하는 데 사용됩니다.
  • linuxfromscratch/12.1/097-shadow-4.14.5.1716121649.txt.gz
  • 마지막으로 수정됨: 2024/05/19 12:27
  • 저자 baecy