^ Beyond Linux(r) From Scratch (systemd Edition) - Version 12.1 ^^^ ^ Chapter 4. Security ^^^ |[[.:stunnel-5.72|이전]] | [[.:04-Security|위로]] / [[.:index|처음으로]] | [[.:Tripwire-2.4.3.7|다음]]| |stunnel-5.72 | Tripwire-2.4.3.7| ---- ===== Sudo-1.9.15p5 ===== ==== Sudo 소개 ==== Sudo 패키지를 사용하면 시스템 관리자가 특정 사용자(또는 사용자 그룹)에게 명령과 인수를 로깅하면서 일부(또는 모든) 명령을 루트 또는 다른 사용자로 실행할 수 있는 기능을 부여할 수 있습니다. 이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다. === 패키지 정보 === * 다운로드(HTTP): [[https://www.sudo.ws/dist/sudo-1.9.15p5.tar.gz|sudo-1.9.15p5.tar.gz]] * MD5 sum: 4166279cb188ecb6641c7a2ba5f68270 * 다운로드 크기: 5.1 MB * 필요한 예상 디스크 공간: 53 MB (테스트용 18 MB 추가) * 예상 빌드 시간: 0.2 SBU (병렬 처리=4, 테스트용 0.1 SBU 추가) === Sudo 종속성 === == 선택 사항 == * [[.:Linux-PAM-1.6.0]] * [[.:MIT Kerberos V5-1.21.2]] * [[.:OpenLDAP-2.6.7]] * [[.:Mail Server Software|MTA (sendmail 명령 제공)]] * [[LinuxFromScratch:RangeOverPackages:AFS]] * [[LinuxFromScratch:RangeOverPackages:Libaudit]] * [[LinuxFromScratch:RangeOverPackages:Opie]] * [[LinuxFromScratch:RangeOverPackages:Sssd]] ==== Sudo 설치 ==== 다음과 같이 Sudo를 설치하세요. ./configure --prefix=/usr \ --libexecdir=/usr/lib \ --with-secure-path \ --with-env-editor \ --docdir=/usr/share/doc/sudo-1.9.15p5 \ --with-passprompt="[sudo] password for %p: " && make 결과를 테스트하려면 다음과 같이 실행합니다. ''env LC_ALL=C make check |& tee make-check.log''. \\ ''grep failed make-check.log''로 결과를 확인합니다. 이제 //''root''// 사용자로 make install ==== 명령 설명 ==== * //--libexecdir=/usr/lib//: 프로그램이 설치되는 위치를 지정합니다. 이 디렉터리에 있는 모든 것은 라이브러리이므로 ''/usr/libexec'' 대신 ''/usr/lib'' 아래에 속합니다. * ''--with-secure-path'': ''/sbin'' 및 ''/usr/sbin'' 디렉터리를 ''sudo'' 사용시 ''PATH'' 환경 변수에 추가합니다. * //--with-env-editor//: visudo에 환경 변수 EDITOR를 사용할 수 있도록 합니다. * //--with-passprompt//: 암호 입력 프롬프트를 설정합니다. ''%p''는 비밀번호를 요청하는 사용자의 이름으로 확장됩니다. * ''--without-pam'': Linux-PAM이 설치되어 있을 때 Linux-PAM 지원을 빌드하지 않습니다. * ''--with-all-insults'': 이 스위치는 모든 sudo 비난 셋트를 포함합니다. 사용자가 잘못된 비밀번호를 입력하거나 /etc/sudoers에서 사용하도록 설정한 경우 비난 문구가 인쇄됩니다. 기본적으로 사용하도록 설정하려면 --with-insults를 사용합니다. 다른 스위치로 다양한 비난 세트를 선택할 수 있습니다. **참고** \\ sudo의 ''configure'' 명령에는 많은 옵션이 있습니다. 전체 목록은 ''configure --help'' 출력에서 확인하세요. ==== sudo 설정하기 ==== === 설정 파일 === /etc/sudoers === 설정 정보 === ''sudoers'' 파일은 상당히 복잡할 수 있습니다. 이 파일은 별칭(기본적으로 변수)과 사용자 지정(누가 무엇을 실행할 수 있는지 지정)의 두 가지 항목으로 구성됩니다. 설치 시 어떤 사용자에게도 권한을 주지 않는 기본 구성이 설치됩니다. 몇 가지 일반적인 구성 변경 사항은 수퍼 유저의 경로를 설정하고 휠 그룹의 구성원이 자신의 자격 증명을 제공한 후 모든 명령을 실행할 수 있도록 하는 것입니다. 다음 명령을 사용하여 //''root''// 사용자로 /''etc/sudoers.d/00-sudo'' 구성 파일을 만듭니다: cat > /etc/sudoers.d/00-sudo << "EOF" Defaults secure_path="/usr/sbin:/usr/bin" %wheel ALL=(ALL) ALL EOF **참고** \\ 사용자가 한 명뿐인 매우 간단한 상황에서는 ''/etc/sudoers'' 파일을 직접 편집하는 것이 더 쉬울 수 있습니다. 이 경우 ''secure_path'' 항목이 필요하지 않을 수 있으며 ''sudo -E ...''를 사용하여 권한이 없는 사용자의 전체 환경을 권한이 있는 세션으로 가져올 수 있습니다. ''etc/sudoers.d'' 디렉터리의 파일은 문자 정렬 순서로 파싱됩니다. 추가된 파일의 항목이 이전 항목을 덮어쓰지 않도록 주의하세요. 자세한 내용은 ''man sudoers''를 참조하세요. **참고** \\ Sudo 개발자는 ''**visudo**'' 프로그램을 사용하여 ''sudoers'' 파일을 편집할 것을 적극 권장합니다. 이렇게 하면 구문 분석 및 파일 권한과 같은 기본적인 건전성 검사를 통해 취약한 구성으로 이어질 수 있는 일부 실수를 방지할 수 있습니다. 시스템에 PAM이 설치되어 있는 경우 Sudo는 PAM을 지원하도록 빌드됩니다. 이 경우 //''root''// 사용자로 다음과 같이 PAM 설정 파일을 만드세요. cat > /etc/pam.d/sudo << "EOF" # Begin /etc/pam.d/sudo # include the default auth settings auth include system-auth # include the default account settings account include system-account # Set default environment variables for the service user session required pam_env.so # include system session defaults session include system-session # End /etc/pam.d/sudo EOF chmod 644 /etc/pam.d/sudo ==== 내용 ==== * **설치된 프로그램:** \\ cvtsudoers, sudo, sudo_logsrvd, sudo_sendlog, sudoedit (symlink), sudoreplay, 및 visudo * **설치된 라이브러리:** \\ audit_json.so, group_file.so, libsudo_util.so, sudoers.so, sudo_intercept.so, sudo_noexec.so, 및 system_group.so * **설치된 디렉토리:** \\ /etc/sudoers.d, /usr/lib/sudo, /usr/share/doc/sudo-1.9.15p5, and /var/lib/sudo === 간략한 설명 === * **cvtsudoers** \\ sudoers 파일 형식을 변환합니다. * **sudo** \\ ''/etc/sudoers'' 구성 파일에서 허용하는 다른 사용자로 명령을 실행합니다. * **sudo_logsrvd** \\ sudo 이벤트 및 I/O 로그 서버입니다. * **sudo_sendlog** \\ sudo I/O 로그를 로그 서버로 보냅니다. * **sudoedit** \\ 다른 사용자로 편집기를 호출하는 ''-e'' 옵션을 암시하는 ''**sudo**''의 심볼릭 링크입니다. * **sudoreplay** \\ sudo가 생성한 출력 로그를 재생하거나 나열하는 데 사용됩니다. * **visudo** \\ 사용하면 ''sudoers'' 파일을 더 안전하게 편집할 수 있습니다.