특정 명령에 대해서만 /etc/sudoers에 NOPASSWD를 추가하세요.

특정 명령에 대해서만 /etc/sudoers에 NOPASSWD를 추가하세요.

비밀번호 없이 Beyond Password를 사용하면 위험이 있나요?

집에 있는 컴퓨터인데, 다른 사용자는 사용하지 않고, 우분투를 설치할 때 기본으로 생성된 단일 사용자만 사용하고 있습니다.

다음 명령에 대해 sudo 비밀번호를 작성하고 싶지 않습니다.

echo 100 > /sys/class/backlight/intel_backlight/brightness

ethtool -s eth0 autoneg off speed 100 duplex full

dhclient eth0

apt-get update && upgrade && dist-upgrade -y

apt-get autoremove && remove && clean && autoclean -y

감사해요.

답변: 다음 단계를 따르면 문제가 해결되는 것 같습니다.

sudo su

/usr/local/bin/scriptname그 안에 라인을 작성 하고 작성하십시오.

#!/bin/bash

command in here without sudo

# the end of the script's name

_

Create /etc/sudoers.d/scriptname and write the following lines in it:

User_Alias scriptname=username
Cmnd_Alias scriptabreviaton=/home/globalisation/r
scriptname ALL=NOPASSWD: scriptabreviaton

/etc/sudoers다음 두 줄 끝에 다음을 추가합니다.

username ALL=(ALL:ALL) ALL
username ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/scriptname

_

chown root:root /etc/sudoers.d/scriptname
chown root:root /usr/local/bin/scriptname
chmod 0700 /usr/local/bin/scriptname
chmod 0440 /etc/sudoers.d/scriptname

_

일반 사용자 이름에서:

sudo /usr/local/bin/scriptname

더 이상 sudo 비밀번호를 묻지 않습니다.

"scriptname", "usernme", "scriptabreviaton"으로 작성할 경우 각각 동일해야 합니다.

답변1

이러한 정확한 명령만 필요한 경우 각 사례에 대한 스크립트를 생성하고 /usr/local/sbin다음 스크립트를 sudoers 파일에 추가할 수 있습니다. 예:

you ALL=(ALL:ALL) ALL
you ALL=(ALL:ALL) NOPASSWD: /usr/local/sbin/backlight.sh
you ALL=(ALL:ALL) NOPASSWD: /usr/local/sbin/upgrade.sh

chown다음을 통해 스크립트를 루팅하고 불필요한 패턴을 모두 제거하는 것을 잊지 마십시오 chmod.

chown root:root /usr/local/sbin/backlight.sh
chmod go-rwx /usr/local/sbin/backlight.sh

관련 정보