사용자가 로그인할 수 있는 횟수를 제한합니다.

사용자가 로그인할 수 있는 횟수를 제한합니다.

Ubuntu 12.04를 기반으로 구축된 여러 Backbox 3.13 시스템이 있습니다. 나의 십대 중 한 명은 "수면"의 개념을 이해하지 못하고 일어나서 컴퓨터를 하는 경향이 있습니다. 나는 이 행동을 제한하려고 노력하고 있습니다. 우리는 유모를 시험해 보았고 며칠 동안 효과가 있었습니다. 그런 다음 설정이 그대로 유지되었음에도 불구하고 십대가 자신의 사용자 계정과 인터넷에 액세스할 수 있도록 허용했습니다.

약간의 조사 끝에 수정을 시도하기로 결정했습니다 /etc/security/time.conf. 확실히 파일에 어떤 명령을 입력하더라도 우리는 여전히 그녀의 사용자 계정에 로그인할 수 있기 때문에 올바르게 수행하고 있지 않습니다. 우리는 그녀가 오후 9시에서 오전 6시 사이에 방문하는 것을 원하지 않습니다. 우리는 여전히 항상 컴퓨터를 사용해야 합니다. 내가 시도한 몇 가지 구문은 다음과 같습니다.

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

나는 이것을 수행하는 방법을 알아 내려고 미친 듯이 노력하고 있습니다. 나는 간단한 것을 놓치고 있거나 오타를 범했다고 확신합니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

1. /etc/pam.d/common-auth를 편집하고 다음 줄을 추가합니다. account required pam_time.so

2. /etc/security/time.conf를 편집하고 제한 사항을 추가합니다. *;*;username;Al0800-2200

이 예에서는 매일 오전 8시부터 오후 10시 사이에 pam 지원 소프트웨어를 사용하여 로그인할 수 있습니다.

답변2

여기서만 하고 있는 건가요, 아니면 L 대신에 그걸 사용하는 건가요?

제한 시간은 "대문자 A,리틀 엘"그럼 시간은...

답변3

다음은 나에게 효과적이었습니다.

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

다음 줄은 /etc/pam.d/common-account아마도 내가 추가했거나 주석 처리를 해제한 내용일 것입니다.

account required  pam_time.so

오후 8시에 자식 중 한 명이 로그인되어 있는지 확인하고, 그렇다면 로그아웃하는 cron 작업도 있는데... 실제 로그아웃 부분은 다음과 같습니다.

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"

답변4

보다 일반적인 방법은 cron을 사용하여 계정을 잠그거나 잠금 해제하는 것입니다. 이렇게 하면 창 관리자 관련 요구 사항과 창 관리자 관련 변수가 제거됩니다. 이는 중앙 인증 서버에 연결된 데스크탑/노트북/태블릿이 아닌 독립형 컴퓨터에서만 작동합니다.

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

참고: "passwd" 명령에 대한 경로를 조정해야 할 수도 있습니다. 올바른 경로를 결정하려면 "which"를 사용하세요.

내 CentOS 6 시스템에서:

which passwd

/usr/bin/passwd

관련 정보