Hạn chế số lần người dùng được phép đăng nhập


9

Chúng tôi có một số hệ thống Backbox 3.13 được xây dựng trên Ubuntu 12.04. Một trong những thanh thiếu niên của tôi không hiểu khái niệm về thứ gọi là "giấc ngủ" và có xu hướng thức dậy để chơi trên máy tính. Tôi đang cố gắng hạn chế hành động đó. Chúng tôi đã thử Nanny làm việc trong một vài ngày. Sau đó, mặc dù các cài đặt vẫn được giữ nguyên, nó vẫn cho phép teen nói có quyền truy cập vào tài khoản người dùng và Internet của mình.

Sau một số nghiên cứu, tôi quyết định thử sửa đổi /etc/security/time.conf. Rõ ràng, tôi không làm việc đó một cách chính xác bởi vì, bất kể tôi nhập lệnh nào vào tệp, chúng tôi vẫn có thể đăng nhập vào tài khoản người dùng của cô ấy. Chúng tôi không muốn cô ấy có quyền truy cập từ 9 giờ tối đến 6 giờ sáng. Chúng tôi vẫn cần cho tôi truy cập vào máy tính mọi lúc. Dưới đây là một số cú pháp mà tôi đã thử:

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

Tôi sẽ trở nên điên cuồng ở đây với việc cố gắng tìm ra cách để làm điều này. Tôi chắc chắn rằng tôi đang thiếu thứ gì đó đơn giản hoặc tôi đang nhập sai. Bất kỳ trợ giúp sẽ được đánh giá cao.


1
Hãy thử login;*;daughter;A10600-2100. Điều đó chỉ cho phép đăng nhập trong khoảng thời gian từ 6 giờ sáng đến 9 giờ tối. Nếu điều đó không làm việc, thì có lẽ *;*;daughter;A10600-2100. Nếu nó hoạt động, bạn cũng muốn có một croncông việc giết chết các phiên của con gái bạn vào lúc 9 giờ tối vì điều này chỉ ngăn các phiên mới bắt đầu. Có một số chi tiết ở đây
Warwick

Thật không may, điều này đã không làm việc. Tôi đã thử đăng nhập; *; con gái; A10600-1900 để thử nghiệm giải pháp không có kết quả. Tôi cũng đã thử ; ; con gái; A10600-1900 không có kết quả tích cực. Điều này sẽ làm việc, nhưng không. Có phải vì hệ thống Unity?
dùng81117

2
Bạn đã cấu hình pamđể sử dụng pam_time? Nếu không, bạn cần account required pam_time.sotrong cả hai /etc/pam.d/gdm/etc/pam.d/loginngay dưới các authmục.
Warwick

Tôi đã thêm các dòng đó vào tệp / gdm và / đăng nhập rồi nhập lại thông tin vào tệp cấu hình. Chúng tôi vẫn không có niềm vui về kết thúc này. Bây giờ tôi đang làm việc để đảm bảo rằng tôi đã nhập dòng vào đúng vị trí trên tệp / gdm.
dùng81117

Theo Ask.fedoraproject.org/en/question/7260/ , (Xin lỗi về URL dài) Tôi nên chấm dứt lệnh bằng cách nhập một dòng mới. Tôi nhận xét dòng đó với dấu #, phải không? Nó cũng nói rằng tài khoản yêu cầu pam_time.so nằm ở cuối tệp / gdm. Tôi biết một điều chắc chắn. Một khi điều này được tìm ra, tôi sẽ không quên nhanh như vậy một lần nữa!
dùng81117

Câu trả lời:


1

1. Chỉnh sửa /etc/pam.d/common-auth và thêm dòng sau: account required pam_time.so

2. Chỉnh sửa /etc/security/time.conf và thêm hạn chế: *;*;username;Al0800-2200

Ví dụ này cho phép đăng nhập bằng phần mềm nhận biết pam tất cả các ngày từ 8 giờ sáng đến 10 giờ tối hàng ngày.


0

Có phải ở đây là bạn làm, hoặc bạn đang sử dụng những người thay vì Ls?

Giới hạn thời gian nên đọc "vốn A, L nhỏ " và sau đó là thời gian ...


Chào Nigge. Tôi đã thử cả hai cách khi tôi thấy tài liệu hiển thị cả Al và A1. Cả hai phương pháp đều không hoạt động. Tôi đang có một thời gian cố gắng tìm hiểu tại sao.
dùng81117

Xin lỗi khi nghe nó không phải là nguyên nhân của vấn đề của bạn. Một điều khác để kiểm tra, chỉ để đảm bảo: Hệ thống của bạn có thể sử dụng DM khác không? Nhìn vào / etc / X11 / default-display-manager ...
Jan

Hệ thống đang sử dụng Light DM. Tôi nghĩ rằng khi tôi cài đặt GDM, tôi đã thiết lập nó cho Light DM.
user81117

0

Sau đây làm việc cho tôi:

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

Dòng sau đây /etc/pam.d/common-accountcó thể là một cái gì đó tôi đã thêm hoặc không bị thiếu.

account required  pam_time.so

Tôi cũng có một công việc định kỳ kiểm tra lúc 8:00 tối nếu một trong những đứa trẻ được đăng nhập và đăng xuất chúng nếu vậy ... phần thực sự đăng xuất chúng như sau:

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

Một phương pháp chung hơn là sử dụng cron để khóa và mở khóa tài khoản. Điều này loại bỏ cả các yêu cầu cụ thể của và bất kỳ biến nào liên quan đến trình quản lý cửa sổ. Điều này chỉ nhằm mục đích được áp dụng cho một máy độc lập, không phải máy tính để bàn / máy tính xách tay / máy tính bảng được kết nối với máy chủ xác thực trung tâm.

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

LƯU Ý: Bạn có thể phải điều chỉnh đường dẫn của mình cho lệnh 'passwd'. Xác định đường dẫn thích hợp với 'which'.

Trên hộp CentOS 6 của tôi:

which passwd

/usr/bin/passwd


Tôi không nghĩ rằng điều này sẽ làm việc. Điều gì xảy ra nếu xác thực không được thực hiện đối với cơ sở dữ liệu mật khẩu cục bộ ( /etc/shadow)? passwd -lthậm chí có thể không làm bất cứ điều gì trong trường hợp đó. Điều gì xảy ra nếu máy bị tắt hoặc một công việc định kỳ không chạy vì một số lý do khác? Sau đó, tài khoản có thể ở trạng thái không mong muốn.
jayhendren 4/2/2015

Tôi không biết bất kỳ hệ thống UNIX hoặc Linux nào không xác thực với cơ sở dữ liệu mật khẩu cục bộ, trừ khi nó được kết nối với máy chủ xác thực trung tâm.
Ragansi

Nhận xét trước đây của tôi đã bị cắt sớm. Không nhận ra nhấn enter đã đăng bình luận. Dù sao. Nếu máy bị tắt, thì cron chắc chắn có thể rời khỏi hệ thống ở trạng thái không mong muốn. Bạn có thể sử dụng cron để gọi một tập lệnh nhỏ kiểm tra thời gian và sau đó khóa hoặc mở khóa tương ứng. Chạy nó cứ sau 5 phút, hoặc thậm chí @reboot trong cron.
Ragansi

"trừ khi nó được kết nối với một máy chủ xác thực trung tâm". Đó chính xác là những gì tôi muốn nói.
jayhendren

Trong trường hợp đó, máy chủ xác thực trung tâm của bạn sẽ (hoặc nên ...) có các phương tiện để thực hiện các chức năng khóa đã nói ở trên. Trong trường hợp đó, bạn sẽ không cần (và không cần) thực hiện khóa tài khoản người dùng trên máy cục bộ, trừ khi một cái gì đó được cấu hình ngoài phạm vi, với cách sử dụng auth trung tâm.
Ragansi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.