Kullanıcının oturum açmasına izin verilen süreleri kısıtlama


9

Ubuntu 12.04 üzerine kurulu birkaç Backbox 3.13 sistemimiz var. Gençlerimden biri "uyku" adı verilen bu kavramın kavramını anlamıyor ve bilgisayarda oynamaya başlıyor. Bu eylemi sınırlamaya çalışıyorum. Birkaç gün çalıştı dadı denedik. Ardından, ayarlar hala yerinde olmasına rağmen, söz konusu gencin kullanıcı hesabına ve İnternetine erişmesine izin veriyordu.

Biraz araştırma yaptıktan sonra değiştirmeyi denemeye karar verdim /etc/security/time.conf. Görünüşe göre, doğru bir şekilde yapmıyorum, çünkü dosyaya hangi komutları girersem gireyim, yine de kullanıcı hesabına giriş yapabiliriz. Biz 21:00 ile 06:00 arasında erişim olmasını istemiyoruz. Yine de her zaman bilgisayara erişebilmem gerekiyor. İşte denedim birkaç sözdizimi:

1. login;*;username;A12100-0600
2. login;*;username;!A12100-0600
3. login;*;username;!A12100-0600
   login;*;my username;A10000-2400
4. login;*;!username;A12100-0600

Bunu nasıl yapacağımı anlamaya çalışarak buraya deliriyorum. Eminim eksik olduğum ya da yanlış girdiğim basit bir şey. Herhangi bir yardım takdir edilecektir.


1
Deneyin login;*;daughter;A10600-2100. Bu sadece 06:00 ile 21:00 arasında oturum açmaya izin vermelidir. Bu işe yaramazsa, belki de *;*;daughter;A10600-2100. cronÇalışırsa, saat 9'da kızınızın oturumlarını öldüren bir işe sahip olmak istersiniz, çünkü bu sadece yeni oturumların başlatılmasını durdurur. Burada bazı detaylar var
Warwick

Ne yazık ki, bu işe yaramadı. Giriş yapmayı denedim; *; kız; çözümü boşuna test etmek için A10600-1900. Ben de denedim ; ; kız; A10600-1900 olumlu sonuç vermedi. Bu işe yarıyor ama işe yaramıyor. Birlik sistemi yüzünden mi?
user81117

2
Eğer yapılandırılmış mı pamkullanmak pam_time? Değilse , girişlerin account required pam_time.soher ikisinde /etc/pam.d/gdmve /etc/pam.d/loginhemen altında olmanız gerekir auth.
Warwick

Bu satırları / gdm ve / login dosyalarına ekledim ve bilgileri yapılandırma dosyasına yeniden girdim. Bu konuda hala sevinçimiz yok. Şimdi / gdm dosyasındaki doğru noktaya satır girdiğinden emin olmak için Google'a gidiyorum.
user81117

Ask.fedoraproject.org/en/question/7260/… 'a göre , (Uzun URL için özür dilerim) Komutu yeni bir satıra girerek sonlandırmalıyım. Bu satırı # işareti ile yorumluyorum, değil mi? Ayrıca gerekli hesap pam_time.so / gdm dosyasının sonuna gider diyor. Kesinlikle bir şey biliyorum. Bu çözüldükten sonra tekrar çabucak unutmayacağım!
user81117

Yanıtlar:


1

1. /etc/pam.d/common-auth dosyasını düzenleyin ve aşağıdaki satırı ekleyin: account required pam_time.so

2. /etc/security/time.conf dosyasını düzenleyin ve kısıtlamayı ekleyin: *;*;username;Al0800-2200

Örnek, günlük olarak sabah 8 ile akşam 10 arasında pam kullanan yazılımlarla oturum açmaya izin verir.


0

Sadece burada mı yoksa L'ler yerine mi kullanıyorsunuz?

Zaman kısıtlamaları "başkent A, küçük L " ve ardından zamanı okumalıdır ...


Merhaba Nigge. Hem Al hem de A1'i gösteren belgeleri gördüğüm için her iki şekilde de denedim. Her iki yöntem de çalışmaz. Nedenini anlamaya çalışırken biraz ayı yaşıyorum.
user81117

Sorunun nedeni olmadığını duyduğuma üzüldüm. Kontrol etmek için başka bir şey, sadece emin olmak için: Sisteminiz belki de başka bir DM kullanıyor mu? İçine / etc / X11 / default ekran-manager Bak ...
Jan

Sistem Light DM kullanıyor. GDM'yi yüklediğimde Light DM için kurduğumu düşünüyorum.
user81117

0

Benim için aşağıdaki işler:

*;*;child1|child2|child3;Wk0445-1958|Sa0445-2300|Su0445-1958

Aşağıdaki satır, /etc/pam.d/common-accounteklediğim veya önermediğim bir şey olabilir.

account required  pam_time.so

Ayrıca, çocuklardan biri giriş yaptığında saat 20: 00'de kontrol eden bir cron işim var ve eğer öyleyse onları kapatır ... Aslında onları oturumunu kapatan kısım aşağıdaki gibidir:

echo 'logging off - Following children are still logged in...'
for n in $active_children ; do echo "  " $n ; done
festival --tts <<EOT
Is is bedtime. Good bye and good night.
EOT
for n in $active_children
do
    killall -HUP -u $n
done
sleep 15
for n in $active_children
do
    killall      -u $n
done
echo "[`date`] - done"

0

Daha genel bir yöntem, hesabı kilitlemek ve kilidini açmak için cron kullanmaktır. Bu, pencere yöneticisinin hem özel gereksinimlerini hem de değişkenlerini ortadan kaldırır. Bu, merkezi bir kimlik doğrulama sunucusuna bağlı bir masaüstü / dizüstü bilgisayar / tablet için değil, yalnızca bağımsız bir makineye uygulanacak şekilde tasarlanmıştır.

0 21 * * * /usr/bin/passwd -l childsUserName 0 6 * * * /usr/bin/passwd -u childsUserName'

NOT: 'passwd' komutu için yolunuzu ayarlamanız gerekebilir. 'Hangi' ile uygun yolu belirleyin.

CentOS 6 kutumda:

which passwd

/usr/bin/passwd


Bunun işe yarayacağını sanmıyorum. Yerel parola veritabanına ( /etc/shadow) karşı kimlik doğrulaması yapılmazsa ne olur ? passwd -lbu durumda hiçbir şey yapamayabilir. Makine kapatılırsa veya bir cron işi başka bir nedenden dolayı başarısız olursa ne olur? O zaman hesap istenmeyen bir durumda olabilir.
jayhendren

Merkezi bir kimlik doğrulama sunucusuna bağlı olmadıkça, yerel parola veritabanında kimlik doğrulaması yapmayan herhangi bir UNIX veya Linux sisteminin farkında değilim.
Ragansi

Önceki yorumum erken kesildi. İsabet enter fark etmedi yorum yayınladı. Neyse. Makine kapanırsa, cron sistemi kesinlikle istenmeyen bir durumda bırakabilir. Zamanı kontrol eden ve daha sonra buna göre kilitlenen veya kilidi açan küçük bir komut dosyasını çağırmak için cron'u kullanabilirsiniz. Her 5 dakikada bir, hatta cron'da @reboot ile çalıştırın.
Ragansi

msgstr "merkezi bir kimlik doğrulama sunucusuna bağlı değilse". Demek istediğim bu.
jayhendren

Bu durumda, merkezi kimlik doğrulama sunucunuzda yukarıda belirtilen kilitleme işlevlerini yerine getirme olanakları bulunur (veya gerekir ...). Bu durumda, kapsam dışında bir şey yapılandırılmadıkça, merkezi yetkilendirmenin nasıl kullanılması gerektiği ile ilgili olarak, yerel makinede kullanıcı hesabı kilitlemelerini gerçekleştirmeniz gerekmez (ve gerekmemesi gerekir).
Ragansi
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.