사용sudo -u

사용sudo -u

UserA와 UserB라는 2명의 사용자가 있습니다. userB는 userA로 일부 명령을 실행해야 합니다. 이러한 옵션을 /etc/sudoers다음과 같이 지정했습니다 .

userA ALL=(ALL) ALL
userB ALL=(vinoth) /sbin/fdisk

userB로 이 명령을 실행합니다.

sudo -u userA fdisk -l 

사용자 B의 비밀번호를 묻습니다. 암호를 입력한 후 명령은 fdisk 출력을 제공하지 않습니다.

답변1

  1. 구성에서 다음을 허용합니다.

    • userA임의의 사용자로 임의의 명령 실행
    • userBfdisk다음으로 실행vinoth
  2. fdisk기본적으로 장치 접근 권한이 필요하며 root, 예를 들어 실행할 수 없습니다 userA. 실행할 수는 있지만 fdisk -l결과가 인쇄되지는 않습니다.

  3. 최종 sudo명령은 전이적이지 않습니다. userBaccount 를 사용하여 계정에서 명령을 실행 하면 자격 증명을 사용하여 실행 sudo -u userA <command>되며 <command>설정이 정의되어 있다는 사실이 userA이 명령에 적용되지 않습니다.userAsudoers


사용sudo -u

userB명령 실행을 허용하려면 userA다음을 입력해야 합니다 sudoers.

userB ALL=(userA) /usr/bin/whoami

그런 다음 쉘에 로그인 userB하고 다음을 실행하십시오.

$ sudo -u userA whoami
userA

하지만 userA실행 권한이 있으면 whoami실행됩니다. 맞지 않습니다 fdisk.


fdisk일반 사용자에 대해 활성화

fdiskroot계정 자체 에 국한되지는 않지만 디스크 장치( /dev저장되어 있고 일반 사용자가 액세스할 수 없는 곳)에 대한 액세스가 필요합니다. 사용자에게 실행 권한을 부여하려면 fdisk다음을 수행할 수 있습니다.

  1. sudo계정에 대해 활성화합니다. sudo fdisk -l효율적으로 운영한다는 것은 fdisk계정별로 운영한다는 것을 의미합니다 root.

  2. disk그룹 에 계정을 추가하면 fdisk -l계정 자격 증명 없이도 실행할 수 있습니다 sudo.

관련 정보