태그 보관물: password

password

sudo는 실제로`sudo`가 필요하지 않은 명령이 주어지면 암호를 요청할지 여부를 어떻게 결정합니까? 할 때

적용 할 때 sudo실제로 필요가없는 명령에 sudo,

  • 때로는 암호를 묻지 않습니다. 내에서 예를 들어 $HOME, sudo ls.

  • 그러나 나는 어떤 명령을 잊어 버렸지 만 다른 명령에 대해서는 기억합니다.

그래서 sudo실제로 필요하지 않은 명령이 주어지면 암호를 요청할지 여부를 결정 하는 방법이 궁금합니다 sudo. /etc/sudoers그것을 지정하는 규칙 이 있습니까?

내 진짜 문제는 내가 사용할 때 du일부 디렉토리에 대해 “권한 거부”를 표시하고 때로는 일부 디렉토리에 대한 권한이 없기 때문에 그렇지 않다는 것입니다. 나는 관계없이 신청 sudo하고 du, 나는 자신의 디렉토리에 관계없이 암호를 요구받을 것이라고 생각했다.



답변

일반적인 구성에서는 명령이 관련이 없습니다. sudo를 처음 사용할 때 비밀번호를 입력해야하며 다음 15 분 동안 특정 쉘에서 비밀번호가 필요하지 않습니다.

컴퓨터의 관점에서 볼 때“sudo가 필요한 명령”과 같은 것은 없습니다. 모든 사용자는 모든 명령을 실행할 수 있습니다. 결과는 “Permission denied”또는 “No such file or directory”와 같은 오류 메시지 일 뿐이지 만 항상 명령을 실행할 수 있습니다.

예를 들어, du액세스 권한이없는 내용이있는 디렉토리 트리에서 실행 하면 권한 오류가 발생합니다. 그것이 “권한이 거부되었다”는 의미입니다. 를 실행 sudo du하면 sudo가 du루트로 실행 되므로 권한 오류가 발생하지 않습니다 (루트 계정의 핵심 : root¹에는 항상 권한이 있음). 당신이 실행하면 sudo du, du루트로 실행하고, sudo결국이에 관여하지 않습니다 du시작했다. du에서 권한 오류가 발생하는지 여부는 sudo 작동 방식과 완전히 관련이 없습니다.

유용한 작업을 수행 하려면 sudo가 필요한 명령이 있습니다 . 유용성은 인간의 개념입니다. root로 실행할 때 명령이 유용한 기능을 수행하지만 계정에서는 실행할 수없는 경우 sudo (또는 명령을 루트로 실행하는 다른 방법)를 사용해야합니다.

sudo가 암호를 요구하는지 여부는 두 가지입니다.

  1. 구성에 따라 sudo는 인증 여부를 결정합니다. 기본적으로 sudo에는 비밀번호가 필요합니다. 이 authenticate옵션 은 옵션을 false로 설정 하고 NOPASSWD태그에 적용 가능한 규칙을 포함하여 여러 가지 방법으로 끌 수 있습니다 .
  2. sudo에 암호가 필요한 경우 캐시 된 값을 사용하는 내용 일 수 있습니다. sudo가 암호를 요구하는 이유는 암호를 호출하는 사람을 인증하는 것이 아니라 (사용자가 암호를 호출 한 것을 알고있는 sudo는) 키보드를 제어하는 ​​사람이 아니라 여전히 명령에 있는지 확인하기 때문입니다. 기본적으로 sudo는 15 분 전에 비밀번호를 입력 한 경우 여전히 명령을 사용하고 있다고 믿습니다 (이 timeout옵션 은 옵션 으로 변경 가능 ). 동일한 터미널에 비밀번호를 입력해야합니다. 한 터미널에 로그인 한 상태로 해당 터미널을 그대로두고 다른 터미널을 사용하면 다른 사람이 사용할 수 있습니다.tty_tickets

¹ 거의이 스레드의 범위를 벗어납니다.


답변

sudo명령을 실행하라는 명령이 다른 사용자 (일반적으로 루트)로 실행되어야하는지 여부는 알 수 없으며 구성 만 알고 있습니다. sudo어떤 사용자를 “대상”으로, 어떤 명령 을 실행할 수 있는지를 결정 합니다. 또한 암호가 필요한지 여부와 암호를 유지할지 여부를 결정합니다.

기본 데비안 구성을 사용하는 경우, 후자가 여기에 관련된 것일 가능성이 높습니다. sudo지정된 터미널에서 처음 사용할 때 암호를 묻게되면 일정 시간 동안 인증 토큰이 유지됩니다. sudo해당 기간 내에 동일한 터미널에서 재사용 하면 비밀번호를 묻는 메시지가 표시되지 않습니다.


답변

실제로 sudo가 필요없는 명령에

명령 sudo를 필요로 하거나 필요로하는 것은 아닙니다 . 달릴 때

sudo -u user command

시스템은 command로 실행 됩니다 user.

호출의 성공 여부와 비밀번호 요청 여부는 보안 정책 sudoers(일반적으로에서 구성됨)에 따라 다릅니다 /etc/sudoers.


답변