특정 그룹의 사용자가 sudo없이 명령을 실행할 수 있도록 허용


11

암호를 입력하지 않고 sudo로 명령을 실행할 수 있도록 / etc / sudoers를 편집하는 방법을 알고 있지만 그룹의 모든 사용자가 sudo없이 프로그램을 완전히 실행할 수있는 방법이 있습니다. (실행하려는 프로그램은 "mount"및 "umount"입니다.)


당신의 OS는 무엇입니까? NTFS 파티션, EXT 파티션 또는 광학 드라이브를 마운트하려고합니까?
— nate

답변:


13

내가 실행할 수있는 사용자 그룹을 추가하고 싶었 가정 mount및 umount암호 않고 있습니다. 먼저 "anyname"이라는 그룹을 추가하고 싶습니다

sudo groupadd anyname

다음으로 /etc/group사용자 를 편집 하고 추가해야합니다

anyname:x:407:

이 표시되므로 쉼표로 구분 된 사용자를 추가하려는 사용자를 추가하십시오.

anyname:x:407:user1,user2,...

이제 "anyname"그룹의 구성원이 실제로 mountand umount명령을 호출 할 수 있도록 sudo를 구성해야 합니다.

/ etc / sudoers에 다음 줄을 추가하면됩니다.

%anyname ALL=NOPASSWD: /sbin/mount, /sbin/umount

이제 sudo mount암호를 묻지 않지만 항상 엉덩이 입력 sudo에 통증이 있으므로 다음을 동으로 피할 수 있습니다.

"/ usr / bin / mount"라는 스크립트를 만들 수 있으며 (umount와 비슷한 스크립트)

#! /bin/sh
sudo /sbin/mount $*

이를 좀 더 안전하게하기 위해 이러한 스크립트의 소유권을 "anyname"그룹으로 변경하려고 할 수 있습니다.

chgrp anyname /usr/bin/mount /usr/bin/umount

그런 다음 그룹 "anyname"에 대해서만 실행 가능하게하십시오.

chmod g+x /usr/bin/mount  /usr/bin/umount

편집 : 사용중인 OS에 따라 mount 및 umount 명령이있는 위치를 확인하십시오. / sbin 대신 / bin /에있을 수 있으므로 필요한 변경을 수행해야 할 수도 있습니다.

중요 : BTW는 모든 bin 폴더가 서로 링크되어있는 Arch 기반 시스템에서 스크립트를 실행하지 않습니다.


1
감사. 실제로 다음과 같은 함수 마운트를 포함하는 전역 .bashrc를 사용하여 구현했습니다. mount {sudo mount $ *}
— w4etwetewtwet
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.