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