사용자가 로그인 할 수있는 시간 제한


9

우분투 12.04에 구축 된 여러 Backbox 3.13 시스템이 있습니다. 10 대 중 한 명이 "수면"이라는 개념을 이해하지 못하고 컴퓨터에서 게임을 즐기는 경향이 있습니다. 그 행동을 제한하려고합니다. 우리는 며칠 동안 일한 Nanny를 시도했습니다. 그런 다음 설정이 그대로 유지 되었음에도 불구하고 여전히 십대 자녀가 자신의 사용자 계정과 인터넷에 액세스 할 수있게되었습니다.

약간의 연구 끝에, 나는 수정을 시도하기로 결정했다 /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
시도하십시오 login;*;daughter;A10600-2100. 오전 6시에서 오후 9시 사이의 로그인 만 허용해야합니다. 그래도 작동하지 않으면 아마도 *;*;daughter;A10600-2100. 작동하면 cron오후 9시에 딸의 세션을 죽이는 작업을 원할 것 입니다. 새 세션이 시작되지 않기 때문입니다. 여기에 몇 가지 세부 사항이 있습니다
Warwick

불행히도 이것은 작동하지 않았습니다. 나는 솔루션을 테스트하기 위해 login; *; daughter; A10600-1900을 시도했다. 나는 또한 시도했다 ; ; daughter; A10600-1900이며 긍정적 인 결과는 없습니다. 이것은 작동하지만 작동하지 않습니다. Unity 시스템 때문입니까?
user81117

2
pam를 사용 하도록 구성 했습니까 pam_time? 그렇지 않다면, 당신은 필요 account required pam_time.so모두 /etc/pam.d/gdm/etc/pam.d/login바로 아래 auth항목.
Warwick

해당 줄을 / gdm 및 / login 파일에 추가 한 다음 구성 파일에 정보를 다시 입력했습니다. 우리는 여전히이 목표에 기쁨이 없습니다. 인터넷 검색을 통해 / gdm 파일의 올바른 지점에 줄을 입력했는지 확인하십시오.
user81117

ask.fedoraproject.org/en/question/7260/… 에 따르면 (긴 URL에 대해 죄송합니다) 새 줄을 입력하여 명령을 종료해야합니다. 그 줄을 # 기호로 주석 처리했습니다. 그렇습니까? 또한 계정 필수 pam_time.so는 / gdm 파일의 끝에 간다고 말합니다. 나는 확실히 한 가지를 알고있다. 이것이 이해되면 다시는 빨리 잊을 수 없습니다!
user81117

답변:


1

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

2. /etc/security/time.conf를 편집하고 제한을 추가하십시오. *;*;username;Al0800-2200

이 예에서는 매일 오전 8시에서 오후 10시 사이에 pam-aware 소프트웨어로 로그인 할 수 있습니다.


0

바로 여기 있습니까, 아니면 Ls 대신 사용합니까?

시간 제한은 "자본 A, 작은 L "을 읽은 다음 시간을 읽어야 합니다.


안녕 니제 Al과 A1을 모두 보여주는 문서를 보았을 때 두 가지 방법으로 시도했습니다. 두 방법 모두 작동하지 않습니다. 왜 그런지 알아 내려고 노력하고 있습니다.
user81117

문제의 원인이 아니라 니 유감입니다. 확인해야 할 또 다른 사항 : 시스템에서 다른 DM을 사용하고 있습니까? / etc / X11 / default-display-manager를 살펴보십시오 ...
Jan

시스템이 Light DM을 사용하고 있습니다. GDM을 설치할 때 Light DM에 맞게 설정했다고 생각합니다.
user81117

0

다음은 나를 위해 작동합니다.

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

다음 줄은 /etc/pam.d/common-account내가 추가하거나 주석 처리하지 않은 것일 수 있습니다.

account required  pam_time.so

또한 자녀 중 하나가 로그인했는지 오후 8시에 확인하고 그렇다면 로그 오프합니다. 실제로 로그 오프하는 부분은 다음과 같습니다.

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

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

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

참고 : 'passwd'명령에 대한 경로를 조정해야 할 수도 있습니다. 'which'로 올바른 경로를 결정하십시오.

내 CentOS 6 상자에서 :

which passwd

/usr/bin/passwd


나는 이것이 효과가 있다고 생각하지 않습니다. 로컬 비밀번호 데이터베이스 ( /etc/shadow) 에 대해 인증을 수행하지 않으면 어떻게됩니까? passwd -l이 경우에도 아무것도하지 않을 수 있습니다. 기계가 종료되거나 다른 이유로 cron 작업이 실행되지 않으면 어떻게됩니까? 그런 다음 계정이 원치 않는 상태 일 수 있습니다.
jayhendren

중앙 인증 서버에 연결되어 있지 않으면 로컬 비밀번호 데이터베이스에 대해 인증되지 않는 UNIX 또는 Linux 시스템을 인식하지 못합니다.
Ragansi

내 이전 의견이 너무 일찍 끊어졌습니다. Enter 키를 쳤다는 사실을 몰랐다. 어쨌든. 기계가 꺼지면 cron이 시스템을 바람직하지 않은 상태로 유지할 수 있습니다. cron을 사용하여 시간을 확인한 다음 그에 따라 잠금 또는 잠금 해제하는 작은 스크립트를 호출 할 수 있습니다. 5 분마다 또는 심지어 cron에서 @reboot를 실행하십시오.
Ragansi

"중앙 인증 서버에 연결되어 있지 않으면" 그것이 바로 내가 의미하는 바입니다.
jayhendren

이 경우 중앙 인증 서버에는 위에서 언급 한 잠금 기능을 수행 할 수있는 기능이 있어야합니다. 이 경우, 중앙 인증이 사용되는 방식에 따라 범위를 벗어나는 구성이 없으면 로컬 컴퓨터에서 사용자 계정 잠금을 수행 할 필요가 없으며 필요하지도 않습니다.
Ragansi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.