사용자가 2 일 동안 만 명령을 실행할 수있는 방법이 있습니까?


13

특정 시간 동안 sudo 명령 권한을 부여하는 방법은 무엇입니까? sudoers 파일에서만 2 일 동안 특정 명령을 수행 할 권한을 부여 할 수있는 방법이 있습니까?

답변:


18

sudoers 파일은 시간 기반 제한을 지원하지 않지만 쉬운 방법이 있습니다. /etc/sudoers.d/( sudo visudo -f /etc/sudoers.d/yourfile) 에서 변경 사항이있는 파일을 작성하십시오 .

다음에 파일에 추가 (예 file.sh:)

mv /etc/sudoers.d/yourfile /etc/sudoers.d/.yourfile

그러면 변경 사항이 비활성화됩니다.

 sudo at -f file.sh 2pm + 2 days

예:

at -f file.sh 2pm + 2 days
warning: commands will be executed using /bin/sh
job 4 at Thu Oct 15 14:00:00 2015

이 경우 명령을 실행 한 후 2 일 오후 2시에 파일을 이동합니다. at 매뉴얼은 몇 가지 옵션이 있습니다 (당신은 다음 같은 시간, 일, 주, 월, 년, 키워드를 사용하거나 / 빼기 periodes을 추가 할 수 있습니다). 이해하기위한 옵션으로 몇 가지 테스트를 해보십시오 (고려해야 할 사항 : at오후 2시 전후에 시작하는 것이 중요 합니다).

at또한 재부팅 후에도 이러한 종류의 작업에 사용할 수있는 좋은 도구입니다. 그리고 당신은 액세스를 전환 할 수 있습니다 ...

sudo mv /etc/sudoers.d/.yourfile /etc/sudoers.d/yourfile | at 2pm + 2 days
sudo mv /etc/sudoers.d/yourfile /etc/sudoers.d/.yourfile | at 2pm + 4 days
sudo mv /etc/sudoers.d/.yourfile /etc/sudoers.d/yourfile | at 2pm + 6 days
sudo mv /etc/sudoers.d/yourfile /etc/sudoers.d/.yourfile | at 2pm + 8 days

그 사용자가 견딜 수있게하십시오 (이제 wtf를 할 수 있습니다).

읽어보기 /etc/sudoers/:

# As of Debian version 1.7.2p1-1, the default /etc/sudoers file created on
# installation of the package now includes the directive:
# 
#   #includedir /etc/sudoers.d
# 
# This will cause sudo to read and parse any files in the /etc/sudoers.d 
# directory that do not end in '~' or contain a '.' character.
# 
# Note that there must be at least one file in the sudoers.d directory (this
# one will do), and all files in this directory should be mode 0440.
# 
# Note also, that because sudoers contents can vary widely, no attempt is 
# made to add this directive to existing sudoers files on upgrade.  Feel free
# to add the above directive to the end of your /etc/sudoers file to enable 
# this functionality for existing installations if you wish!
#
# Finally, please note that using the visudo command is the recommended way
# to update sudoers content, since it protects against many failure modes.
# See the man page for visudo for more information.

이 내용을 올바르게 읽으면 "."가 포함 된 파일이 실행되지 않습니다. 이름의 아무 곳이나. 그래서 첫 번째 mv명령은 "." 눈에 보이지 않게 만들기 전에. 올바르게 가정하면 "."을 배치 할 수 있습니다. 어딘가에. "~"에주의하면 gEdit와 같은 편집기에서 "백업"기능으로 사용됩니다.


at기본적으로 설치되어 있지 않습니다. 설치하기 위해서

sudo apt-get install at

고맙습니다, 나는 이미 그것을 생각했지만 상황은 여러 사용자가 자신의 목적으로 파일을 사용하고 있기 때문에 bcoz 다른 사용자가 동일한 sudoers 파일을 수정할 때마다 sudoers 파일을 백업하고 복원 할 수 없으므로 오래된 파일을 모두 복원 할 때 사용자 ohter에 의한 변화는 사라질 것입니다 ...
압바스 Kapasi

2
이 선생님은 어떻습니까? 아 그리고 여러 사용자에게 sudoers.d를 자신의 파일 이름으로 사용하도록 제안 할 수도 있습니다. sudoers를 편집하는 것보다 훨씬 나아 보입니다.
Rinzwind

@AbbasKapasi /etc/sudoers.d는 다른 사용자가 사용하지 않는 새 파일을 만듭니다 .
muru

나는 답 전체에 걸쳐 사용 된 명령이 mv아니라고 생각한다 cp.
Cthulhu

3
cp는 어디에 있습니까? 무고한 휘파람
Rinzwind
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.