ユーザーがログインできる回数を制限します。

ユーザーがログインできる回数を制限します。

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時に子の1人がログインしていることを確認し、そうであればログアウトする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

関連情報