Ubuntu <= 11.10 Kullanıcı, Ubuntu Kullanıcısı> = 11.10 için bu kılavuzu izleyin. Alt sayfa bildirimini okuyun:
Evet, bu programların tümü güncel değil ve tüm sorularınız burada yanıtlandı ve ebeveyn kontrolünüzle iyi görünün…
Bir kullanıcıyı oturumu kapatmaya zorlamak hakkında konuştuğumuzda, gerçekten bahsettiğimiz konu sisteme erişim veya hizmetler için hesapta zaman kısıtlamaları uygulamaktır. Zaman kısıtlamaları uygulamak için bulduğum en kolay yol, Linux-PAM adlı bir eklenti modülü kullanmak .
Takılabilir Kimlik Doğrulama Modülü (PAM) , kullanıcıların kimliğini doğrulamak için bir mekanizmadır. Özellikle, pam_time
kullanıcıların hizmetlere zamanında erişimini kontrol etmek için modülü kullanacağız .
pam_time
Modülü kullanarak, günün belirli saatlerinde veya belirli günlerde veya çeşitli terminal hatlarında, bir sisteme ve / veya belirli uygulamalara erişim kısıtlamaları koyabiliriz. Yapılandırmaya bağlı olarak, bu modülü, kullanıcılara adlarına, günün saatine, haftanın gününe, başvurdukları hizmete ve isteklerini yaptıkları terminale göre reddetmek için kullanabilirsiniz. .
Kullanırken pam_time
, /etc/security/time.conf
dosyadaki her satırın (veya kuralın) sözdizimini newline ile sonlandırmanız gerekir . Her satırı pound işareti [#] ile yorumlayabilirsiniz; sistem yeni yazıya kadar bu metni görmezden gelecektir.
İşte bir kuralın sözdizimi:
hizmetleri; ttys; kullanıcılar; kere
The first field — services — is a logic list of PAM service names.
The second field — tty — is a logic list of terminal names.
The third field — users — is a logic list of users or a netgroup of users.
The fourth field — times — indicates the applicable times.
İşte tipik bir kurallar kümesi örneği:
login ; * ; !bobby ; MoTuWeThFr0800-2000
login ; * ; !root ; !Al0000-2400
http ; * ; !bobby ; MoTuWeThFr0800-2000
http ; * ; !root; !Al0000-2400
Bu kurallar kullanıcı bobby'sinin 0800 - 2000 saatleri arasında oturum açmasını kısıtlar ve aynı zamanda bu saatler içinde İnternet erişimini de kısıtlar. Kök, herhangi bir zamanda oturum açabilir ve her zaman İnternet’te dolaşabilir.
Not: Sistem bu kurallarla ilgili hataları syslog (3) olarak kaydeder.
Ubuntu Linux ile bir veya daha fazla kullanıcının sisteminize bağlanmasını önlemek için, bilgisayarınızın zaman kısıtlamalarını atamak mümkündür. Zaman kısıtlamaları ile, örneğin, çocuklarınız için bilgisayara erişimi sınırlandırabilir (kısaca bir tür ebeveyn kontrolü) veya hatta saatlerce sunucunuzla bağlantıyı koruyabilirsiniz.
Manuel Yapılandırma
Ne yapacağını anlamak
Bu eğitim boyunca, PAM (Takılabilir Kimlik Doğrulama Modülleri, Takılabilir İngilizce Kimlik Doğrulama Modülleri) kullanacağız. Bağlandıklarında kullanıcı kimlik doğrulamasını kontrol etmenizi sağlar. Ardından, izin verilen oturum açma saatlerini tanımlamak için güvenlik yapılandırma dosyalarını kullanacağız. Bu manipülasyonlar Ubuntu'nun herhangi bir sürümünde yapılabilir ve sadece basit bir metin editörü gerektirir (vim, emacs, nano, gedit, kate, birkaç isim). PAM Modülü ile Kısıtlama saatlerini etkinleştirin
Her şeyden önce, önce /etc/pam.d/
yapılandırılabilir hizmetlerin olduğu yere gidin :
$ Ls /etc/pam.d/
atd common-account common-session gdm login ppp sudo
chfn common-auth cron gdm-autologin Other samba
chsh common-cupsys gnome-screensaver password passwd su
Bilgisayarla olan bağlantıyı engellemek istiyorsak, gdm servisini değiştirmek zorunda kalacağız. Dosyayı gdm olarak düzenleyin ve bu kod satırını ekleyin (dosyanın sonuna):
account required pam_time.so
GDM, Ubuntu, Edubuntu ve Xubuntu giriş ekranı dağıtımlarıdır. KDE kullanan Kubuntu için kdm servisi denir, açacağı dosya olacaktır. Ve PAM'i yapılandırmak için işiniz bitti! Bu, bu hizmette saatlerin kontrolünü sağlayacaktır.
Bir sunucunuz varsa, muhtemelen GUI'niz yoktur. Bu durumda, GDM / KDM takılı değildir ve bağlantı engellenmez. TTY ile bağlantıyı önlemek için, aynı dosyanın giriş bilgilerini değiştirmeli ve daha önce onaylandığından aynı kod satırını eklemelisiniz. Bu işlem aynı zamanda bir GUI yüklemiş olan ve giriş ekranına ve terminallere erişimi engellemek isteyenler için de geçerlidir.
Erişim Saatlerini Yapılandır
Şimdi PAM servisi etkinleştirildikten sonra, yalnızca erişim zamanlarını yapılandırmamız gerekiyor. Açın /etc/security
. Birkaç konfigürasyon dosyası mevcuttur:
$ Ls /etc/security/
access.conf namespace.conf pam_env.conf
group.conf namespace.init time.conf
limits.conf opasswd time.conf.bak
Dosyayı düzenleyin time.conf
. Bazı açıklamalar ve örnekler (İngilizce) tanıtımı. Erişim programlarını ayarlamak için aşağıdaki kod satırını kopyalayıp yapıştırın (her zamanki gibi dosyanın sonunda):
*;*;user;scheduler
Kullanıcı alanı yerine, engellemek istediğiniz giriş hesabını girin.
Birden fazla kullanıcıyı engellemek istiyorsanız, girişlerini | ile ayrılmış olarak üst üste giriş yapın. Şebeke. Örneğin, Patrick, John ve Emily'nin hesaplarını dondurmak istersem:
*;*;Patrick|jean|emilie;scheduler
Sonuç olarak, sisteme erişimi tüm kullanıcılar için özellikle de bir kullanıcı için engellemek istiyorsanız,! ilgili kişiden önce. Örneğin, bilgisayara erişmek istersem, Nicolas ve Xavier dışındaki tüm kullanıcılara reddedilirse:
Nicolas *;*;!|xavier;scheduler
Şimdi alan bölgelerine dönüyorum. Bu alanda gün ve saat seçimine izin verilecek bağlantı mümkün olacak. Önce aşağıdaki kısaltmaları kullanarak haftanın gününü belirtmelisiniz:
Mo : Monday Fr : Friday Wd : Sa/Su
Tu : Tuesday Sa : Saturday wk : Mo/Tu/We/Th/Fr
We : Wenesday Su : Sunday
Th : Thursday Al : All Days
Wk ve Wd yanıltıcı kısaltmalarını karıştırmamaya dikkat edin! İnternette özellikle kötü bir şekilde tanımlanmış: çelişkili bilgileri kolayca bulabilirsiniz!
Ardından son tarihleri belirtiyoruz. Bunlar 4 haneden oluşan 24H olarak biçimlendirilmelidir. Örneğin, 15:17 - 18:34 saatleri arasında kısıtlamak için şunu yazıyoruz: 1517-1834. Marie’nin yalnızca Salı günü, 17:17 - 18:34
*;*;marie;Tu1517-1834
Bu saatler dışındaki bağlantılar yasaklanacaktır. Kullanıcılara gelince, operatörleri kullanmak mümkündür | ve! birkaç kez belirtmek için (! işaretini belirtmek dışında, tüm oturum açma saatlerine izin verildiğini belirtin).
Kod satırının başındaki iki yıldız (joker karakterler) sırasıyla ve tty hizmetleri alanlarıdır. Sisteme tüm erişimi engellemek istediğiniz için, hangi hizmeti veya hangi tty'yi engellemek istediğinizi belirtmeniz gerekmez. Bununla birlikte, belirli bir servisin kullanımını önlemek istiyorsanız, aşağıdaki örneği belirtmeniz yeterlidir:
login;tty1|tty4|tty5;marie;!Wd0000-2400
Bu nedenle, kullanıcı evlenmesi hafta sonu boyunca bir TTY, 4 ve 5'e bağlanamaz.
Bazı Kısıtlamalar Çizelgesi Örnekleri
Mathil her gün 13:20 - 15:20 ve 16:00 - 20:30 saatleri arasında bağlanabilir:
*;*;mathilde;Al1320-1520|Al1600-2030
Stone, Frank ve Florian'ın hafta içi saat 2:00 - 18:45 ve hafta sonu saat 2: 00-10: 15 arasında bağlantı kurmasına izin verilmektedir.
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
Olive'in asla bağlanmasına izin verilmiyor. jessica Çarşamba günü saat 13: 00-16: 00 arasında giriş yapabilir:
*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600
2 farklı satır, her kullanıcı için iki farklı zaman için Oturumun Sona Ermesi
Bir oturumun süresi dolduğunda (kullanıcı zaten bağlıyken geçen süreyi aşıyorsa), PAM kullanıcıya ulaşabilir. Mathil, izin verilen saatlerde bağlanırken, bu saatleri aşmak tamamen ücretsizdir! Bunun için yeni bir program kullanacağız: “` cron ”. Bu uygulama zaman aralıklarında komutları çalıştırır. Bizim durumumuzda, oturum süresi dolduğunda kullanıcının bağlantısını kesmek için 'skill-KILL-u' komutunu kullanacağız. Taşıma çok basittir. Basitçe ´ / etc / crontab´ dosyasını düzenleyin. Ardından aşağıdaki kod satırını ekleyin:
Minute Hour Day * * (s) root skill -KILL -u User
Daha önce olduğu gibi, Dakika alanı programlarını ve istenen zamanı değiştirmek. Sonra, gün (ler) i yasaklı gün (ler) ile doldurun veya haftanın tüm günlerini belirtmek için bir yıldız işareti (*) yazın. Son olarak, giriş hesabı tarafından kullanılan alanı engellenecek şekilde değiştirin ve işte!
Günler cron
işlerle aynı şekilde fark etmez ! Bu programla kullanılacak kısaltmaların listesi:
mon : monday fri : friday
tue : tuesday sat : saturday
wed : wednesady sun : sunday
thu : thursday * : all hours
Bazı cron
iş örnekleri (önceki bölümdeki örneklerle)
jessica Çarşamba günü saat 13: 00-16: 00 arasında giriş yapabilir.
-> Bağlantıyı kes: Salı, saat 16: 00'da.
00 16 * root * wed skill -KILL -u jessica
Mathil, her gün 13:20 - 15:20 ve 16:00 - 20:30 saatleri arasında bağlantıya izin verilir.
-> Bağlantının kesilmesi: Günlük, 20:30 - 15:20 ET.
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
Stone, Frank ve Florian'ın hafta içi saat 2:00 - 18:45 ve hafta sonu saat 2: 00-10: 15 arasında bağlantı kurmasına izin verilmektedir.
-> Bağlantıyı kes (1): Pazartesi, salı, çarşamba, perşembe ve cuma, saat 18: 45'te. -> Bağlantıyı kes (2): Cumartesi ve pazar, saat 10:15.
45 18 * * mon,tue,wed,thu,fri root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
15 22 * * sat,sun root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
Skill-KILL-u komutu, kullanıcıyı GUI'den ve TTY'den ayırır. Sunucu yöneticileri için mükemmel bir şekilde kullanılabilir. Bununla birlikte, bu komut hemen uygulanır ve bağlantı kesilmeden haber verilmez. Bu nedenle söz konusu bilgisayarın veya ağın bu cihaz kullanıcılarının kurulmasını önlemek tercih edilir!
Bir ile kullanıcıların önlemek mümkündür wall
başlattığı komutun cron
bitmeden birkaç dakika süre tüm kullanıcıların terminallerde görüntülenecektir.
40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall
Kullanıcıların GUI'yi engelleyebilmeleri için duvar komutları yerine libnotify-binnotify-send
paketinde yer almaktadır.
40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"
Ubuntu 11.10 Kullanıcının
Kullanıcının çevresinde Pam ile ilgili sorunları olduğunu gördüm ve bununla ilgili bir sürü hata gördüm. Neden sebebi ??? çok basit Ubuntu 11.10 artık GDM'yi desteklemiyor, yeni görüntü yöneticisi lightGDM'dir, sorun şu ki account required pam_time.so
bence bu direktifin nerede olduğunu /etc/pam.d/lightdm
ya da /etc/pam.d/lightdm-autologin
hata yapmayı düşünüyorum ???
bu yüzden hemen etrafınızda bu 2 LightGdm günlük dosyasını kontrol edebilirsiniz:
- /var/log/lightdm/lightdm.log
- /var/log/lightdm/x-0.log
veya LightGdm'i hata ayıklama modunda çalıştır:
LightDM - debug
veya bir hatayı bildirin:
ubuntu-bug lightdm
Böceğin burada olduğunu rapor ediyorum , parmağını çapraz ve bekle ...