Kullanıcının yalnızca 2 gün boyunca komut yürütmesine izin vermenin bir yolu var mı


13

Bir sudo komutuna belirli bir süre için izin nasıl verilir? sadece sudoers dosyasında 2 gün boyunca belirli bir komutu yerine getirme hakkı vermenin bir yolu var mı?

Yanıtlar:


18

Sudoers dosyası zamana dayalı kısıtlamayı desteklemiyor, ancak kolay bir yöntem var. Şunundaki değişikliklerle /etc/sudoers.d/(ile sudo visudo -f /etc/sudoers.d/yourfile) bir dosya oluşturun :

Bir dosyaya ekleyin (örnek:) file.shaşağıdakiler

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

Bu, değişikliklerinizi devre dışı bırakacaktır:

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

Misal:

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

Bu durumda, komutu verdikten 2 gün sonra dosyayı saat 2'de taşır. El at kitabında bazı seçenekler vardır (zaman, gün, hafta, ay, yıl, sonraki gibi anahtar kelimeler kullanabilir veya periyot ekleme / çıkarma yapabilirsiniz). Anladığınızdan emin olmak için bazı testler yapın (Dikkate alınacak bir şey: atgünün kendisinden önce 14: 00'den önce veya sonra başlatırsanız önemlidir .)

atayrıca yeniden başlatmalarda hayatta kalır, bu nedenle bu tür şeyler için kullanmak için iyi bir araçtır. Ve erişimi açıp kapatabilirsiniz ...

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

ve kullanıcının çıldırmasını sağlayın (şimdi ne yapabilirim).

README şurada /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.

Bunu doğru okursam "." İle herhangi bir dosya yürütmez. adın herhangi bir yerinde. Böylece ilk mvkomutu "." önünü de görünmez yapıyor. Doğru kabul edilirse, bir "." herhangi bir yer. "~" 'A dikkat edin, gEdit gibi editörler tarafından "yedekleme" özelliği olarak kullanılır.


atvarsayılan olarak yüklenmez. Yüklemek

sudo apt-get install at

Thanx, ben zaten düşündüm ama durum kendi amaçları için dosyayı kullanan birden çok kullanıcı, bu nedenle bcoz diğer kullanıcılar da aynı sudoers dosyasını değiştirdiğimde her zaman sudoers dosyasını yedeklemek ve geri yüklemek mümkün değil Diğer kullanıcılar tarafından yapılan değişiklikler kaybolacak ...
Abbas Kapasi

2
Bu efendim nasıl? Oh ve birden fazla kullanıcılarınıza sudoers.d'yi kendi dosya adlarıyla kullanmaları için kendilerine önerebilir miyim. Sudo'ları düzenlemekten çok daha iyi görünüyor.
Rinzwind

@AbbasKapasi /etc/sudoers.ddiğer kullanıcılarınız tarafından kullanılmayacak yeni bir dosya oluşturun .
muru

Bence tüm cevap boyunca kullanılan emir olmalı mv, değil cp.
Cthulhu

3
nerede cp görüyorsun? masumca ıslık çalar
Rinzwind
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.