Batasi waktu pengguna diizinkan masuk

9

Kami memiliki beberapa sistem Backbox 3.13 yang dibangun di Ubuntu 12.04. Salah satu remaja saya tidak memahami konsep benda yang disebut "tidur" ini dan cenderung bangun untuk bermain di komputer. Saya mencoba membatasi tindakan itu. Kami sudah mencoba Nanny yang bekerja selama beberapa hari. Kemudian, meskipun pengaturannya masih ada, itu masih memungkinkan remaja tersebut untuk mendapatkan akses ke akun penggunanya dan Internet.

Setelah beberapa penelitian, saya memutuskan untuk mencoba memodifikasi /etc/security/time.conf. Rupanya, saya tidak melakukannya dengan benar karena, tidak peduli perintah mana yang saya masukkan ke dalam file, kita masih bisa masuk ke akun penggunanya. Kami tidak ingin dia memiliki akses dari jam 9 malam hingga jam 6 pagi. Kami masih membutuhkan saya untuk memiliki akses ke komputer sepanjang waktu. Berikut adalah beberapa sintaks yang saya coba:

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

Saya akan gila di sini dengan mencoba mencari cara untuk melakukan ini. Saya yakin itu sesuatu yang sederhana yang saya lewatkan, atau yang saya masukkan salah. Bantuan apa pun akan dihargai.

pengguna81117
sumber
1
Coba login;*;daughter;A10600-2100. Itu seharusnya hanya memungkinkan login antara pukul 06:00 dan 21:00. Jika itu tidak berhasil, maka mungkin *;*;daughter;A10600-2100. Jika berhasil, Anda juga ingin memiliki cronpekerjaan yang membunuh sesi putri Anda pada jam 9 malam karena ini hanya menghentikan sesi baru untuk dimulai. Ada beberapa detail di sini
Warwick
Sayangnya, ini tidak berhasil. Saya mencoba masuk; *; anak perempuan; A10600-1900 untuk menguji solusi tetapi tidak berhasil. Saya juga mencoba ; ; anak perempuan; A10600-1900 tanpa hasil positif. Ini seharusnya bekerja, tetapi tidak. Apakah karena sistem Persatuan?
user81117
2
Sudahkah Anda mengonfigurasi pamuntuk digunakan pam_time? Jika tidak, Anda perlu account required pam_time.sokeduanya /etc/pam.d/gdmdan /etc/pam.d/logintepat di bawah authentri.
Warwick
Saya menambahkan baris-baris itu ke file / gdm dan / login dan kemudian memasukkan kembali info tersebut ke file konfigurasi. Kami masih belum memiliki sukacita di akhir ini. Saya sekarang Googling untuk memastikan saya memasukkan baris ke tempat yang benar pada file / gdm.
user81117
Menurut ask.fedoraproject.org/en/question/7260/… , (Maaf tentang URL yang panjang) Saya harus mengakhiri perintah dengan memasukkan baris baru. Saya berkomentar bahwa garis keluar dengan tanda #, kan? Ia juga mengatakan bahwa akun diperlukan pam_time.so berlaku di akhir file / gdm. Saya tahu satu hal pasti. Setelah ini ditemukan, saya tidak akan lupa dengan cepat lagi!
user81117

Jawaban:

1

1. Edit /etc/pam.d/common-auth dan tambahkan baris berikut: account required pam_time.so

2. Edit /etc/security/time.conf dan tambahkan batasan: *;*;username;Al0800-2200

Contohnya memungkinkan masuk dengan perangkat lunak pam-sadar sepanjang hari antara jam 8 pagi dan 10 malam setiap hari.

Ingmar
sumber
0

Apakah hanya di sini yang Anda lakukan, atau Anda menggunakan yang bukan Ls?

Batasan waktu harus bertuliskan "modal A, L kecil " dan kemudian waktu ...

Jan
sumber
Hai Nigge. Saya sudah mencoba keduanya karena saya telah melihat dokumentasi yang menunjukkan Al dan A1. Tidak ada metode yang bekerja. Saya punya waktu mencoba untuk mencari tahu mengapa.
user81117
Maaf mendengar itu bukan penyebab masalah Anda. Hal lain yang perlu diperiksa, hanya untuk memastikan: Apakah sistem Anda mungkin menggunakan DM lain? Lihat ke / etc / X11 / default-display-manager ...
Jan
Sistem ini menggunakan Light DM. Saya pikir ketika saya menginstal GDM saya mengaturnya untuk Light DM.
user81117
0

Berikut ini bekerja untuk saya:

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

Baris berikut ini /etc/pam.d/common-accountbisa berupa sesuatu yang saya tambahkan atau hapus komentar.

account required  pam_time.so

Saya juga memiliki cron-job yang memeriksa pada pukul 20:00 jika salah satu anak login, dan log off jika demikian ... bagian yang benar-benar log off adalah sebagai berikut:

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"
David
sumber
0

Metode yang lebih umum adalah menggunakan cron untuk mengunci dan membuka kunci akun. Ini menghilangkan persyaratan khusus, dan variabel apa pun yang terkait dengan manajer jendela. Ini hanya dimaksudkan untuk diterapkan pada mesin mandiri, bukan desktop / laptop / tablet yang terhubung ke server otentikasi pusat.

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

CATATAN: Anda mungkin harus menyesuaikan jalur Anda untuk perintah 'passwd'. Tentukan jalur yang tepat dengan 'yang'.

Di kotak CentOS 6 saya:

which passwd

/usr/bin/passwd

Ragansi
sumber
Saya tidak berpikir ini akan berhasil. Bagaimana jika otentikasi tidak dilakukan terhadap basis data kata sandi lokal ( /etc/shadow)? passwd -lbahkan mungkin tidak melakukan apa pun dalam kasus itu. Bagaimana jika mesin dimatikan atau tugas cron gagal dijalankan karena alasan lain? Maka akun itu bisa dalam keadaan yang tidak diinginkan.
jayhendren
Saya tidak mengetahui adanya sistem UNIX atau Linux yang tidak mengautentikasi terhadap basis data kata sandi lokal, kecuali jika terhubung ke server otentikasi pusat.
Ragansi
Komentar saya sebelumnya terputus sebelum waktunya. Tidak sadar menekan enter memasukkan komentar. Bagaimanapun. Jika mesin dimatikan, maka cron pasti dapat meninggalkan sistem dalam keadaan yang tidak diinginkan. Anda dapat menggunakan cron untuk memanggil skrip kecil yang memeriksa waktu, lalu mengunci atau membuka kunci yang sesuai. Jalankan setiap 5 menit, atau bahkan @reboot di cron.
Ragansi
"kecuali itu terhubung ke server otentikasi pusat". Itulah tepatnya yang saya maksud.
jayhendren
Dalam hal ini, server otentikasi pusat Anda akan (atau harus ...) memiliki fasilitas untuk melakukan fungsi-fungsi penguncian yang disebutkan di atas. Dalam hal ini, Anda tidak perlu (dan tidak perlu) melakukan penguncian akun pengguna pada mesin lokal, kecuali ada sesuatu yang dikonfigurasikan di luar ruang lingkup, dengan cara auth central dimaksudkan untuk digunakan.
Ragansi