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