양쪽 이전 판 이전 판 다음 판 | 이전 판 |
linuxfromscratch:12.1:097-shadow-4.14.5 [2024/06/11 06:26] – [8.27.1. Shadow 설치] baecy | linuxfromscratch:12.1:097-shadow-4.14.5 [2024/06/15 11:40] (현재) – [8.27.1. Shadow 설치] baecy |
---|
</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> |
</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> |
| |
| |
<WRAP info center round 90%> | <WRAP info center round 90%> |
**참고** \\ Shadow에 Cracklib 지원을 추가해서 빌드하는 경우 다음과 같이 실행하세요. | **참고** \\ 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 |
</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에 대한 지원을 추가합니다. |
| |
패키지를 컴파일합니다. | 패키지를 컴파일합니다. |
---- | ---- |
| |
==== 8.27.2. 섀도 구성하기 ==== | ==== 8.27.2. Shadow 설정 ==== |
| |
이 패키지에는 사용자 및 그룹을 추가, 수정, 삭제하고, 비밀번호를 설정 및 변경하고, 기타 관리 작업을 수행하는 유틸리티가 포함되어 있습니다. 비밀번호 섀도잉의 의미에 대한 자세한 설명은 압축을 푼 소스 트리에 있는 doc/HOWTO 파일을 참조하세요. Shadow 지원을 사용하는 경우 비밀번호를 확인해야 하는 프로그램(디스플레이 관리자, FTP 프로그램, 팝3 데몬 등)은 반드시 Shadwo와 호환되어야 한다는 점에 유의하세요. 즉, Shadow로 처리된 비밀번호로 작업할 수 있어야 합니다. | 이 패키지에는 사용자 및 그룹을 추가, 수정, 삭제하고, 비밀번호를 설정 및 변경하고, 기타 관리 작업을 수행하는 유틸리티가 포함되어 있습니다. 비밀번호 섀도잉의 의미에 대한 자세한 설명은 압축을 푼 소스 트리에 있는 doc/HOWTO 파일을 참조하세요. Shadow 지원을 사용하는 경우 비밀번호를 확인해야 하는 프로그램(디스플레이 관리자, FTP 프로그램, pop3 데몬 등)은 반드시 Shadwo와 호환되어야 한다는 점에 유의하세요. 즉, Shadow로 처리된 비밀번호로 작업할 수 있어야 합니다. |
| |
Shadow 비밀번호를 사용하려면 다음 명령을 실행하세요. | Shadow 비밀번호를 사용하려면 다음 명령을 실행하세요. |
</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'' 파일을 생성하고 필요에 맞게 조정해야 합니다. 다음과 같이 생성합니다. |
=== /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> |
---- | ---- |
| |
==== 8.27.3. 루트 비밀번호 설정하기 ==== | ==== 8.27.3. 루트 비밀번호 설정 ==== |
| |
사용자 //root//의 비밀번호를 선택하고 실행하여 설정합니다. | 사용자 //root//의 비밀번호를 설정합니다. |
| |
<code bash> | <code bash> |