/etc/sudoers
via를 편집하려고 하는데 visudo
루트 권한을 변경하는 방법을 모르겠습니다.
를 사용하려고 할 때 루트가 되고 싶습니다 su user1
.
답변1
사실 좋은 생각은 아니지만 가능합니다. 누군가 지적했듯이 루트가 컴퓨터의 신이 되는 것을 막을 수는 없지만 "su" 프로그램을 수정하여 비밀번호를 요청할 수는 있습니다. 이는 루트가 자신의 su 버전을 컴파일하여 사용하지 않는 한 다른 계정에 다시 로그인하는 것을 방지합니다.
먼저, su를 다시 빌드하려면 컴파일러가 필요합니다. 루트로서 다음을 실행합니다.
apt-get install build-essential
그런 다음 다운로드하여 준비하세요.GNU Coreutils:
ftp://ftp.task.gda.pl/pub/gnu/coreutils/coreutils-8.13.tar.gz
tar xvf coreutils-8.20.tar.xz
cd coreutils-8.20
./configure
지금 방문하세요소스 코드디렉토리 및 찾기su.c문서. 223행에서 다음을 찾을 수 있습니다:
if (getuid () == 0 || !correct || correct[0] == '\0')
다음으로 변경하세요.
if (!correct || correct[0] == '\0')
이제 다시coreutils-8.20디렉터리를 만들고 make를 실행합니다. 컴파일하는 데 시간이 오래 걸릴 수 있습니다. 완료되면 현재 su 바이너리를 새 su 바이너리로 덮어씁니다.
cp src/su `which su`
다시 말하지만, 당신은 잘못하고 있습니다.
답변2
- 루트는 어떤 일을 하기 위해 비밀번호가 필요하지 않습니다. 루트는 범용 사용자입니다. 루트=수퍼유저=관리자=척노리스
- @Cry Havok이 지적했듯이 /etc/sudoers는 그것과 아무 관련이 없습니다
su
.sudo
참고 사항: su - <user>
일반 사용자(루트가 아니거나 권한이 없는 사용자)로 실행하면 항상 비밀번호를 묻습니다.
답변3
루트는 인증 없이 모든 사용자가 될 수 있습니다. su
암호를 묻는 메시지를 표시하도록 명령이 구성되어 있더라도 루트는 다른 프로그램을 사용하여 낮은 수준의 시스템 호출을 실행할 수 있습니다. 이 su
명령은 일반적으로 보안에 유용하지 않기 때문에 암호를 요구하지 않도록 구성되며 많은 비대화형 스크립트는 권한이 낮은 사용자로 작업을 수행하기 위해 암호를 사용합니다.
우분투(그리고 다른 많은 사람들이 사용하는폴리아크릴아미드), su
다음 줄을 사용하면 루트로 실행할 때 비밀번호 프롬프트가 표시되지 않습니다 /etc/pam.d/su
.
auth sufficient pam_rootok.so
와 sudo
는 su
완전히 다른 프로그램입니다. su
구성을 변경하여 변경할 수 없는 동작입니다 sudo
.
답변4
루트는 비밀번호를 묻는 메시지를 표시하지 않습니다. 그 이유는 /etc/pam.d/su
.
auth sufficient pam_rootok.so
특정 사용자를 인증하기 위해 루트를 요구하려면 이 전에 몇 줄을 추가해야 한다고 생각합니다.