Ubuntu 12.04上に構築されたいくつかのBackbox 3.13システムがあります。私のティーンエイジャーの一人は、「睡眠」と呼ばれるこのことの概念を理解しておらず、コンピューターで遊ぶために立ち上がる傾向があります。私はその行動を制限しようとしています。私たちは数日間働いたナニーを試しました。その後、設定がまだ適切であったとしても、それはまだその十代が彼女のユーザーアカウントとインターネットにアクセスすることを可能にしていました。
調査の結果、/etc/security/time.conf
を変更してみることにしました。どうやら、ファイルにどのコマンドを入力しても、彼女のユーザーアカウントにログインできるため、正しく実行されていないようです。彼女に9 PMから午前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. /etc/pam.d/common-authを編集して、次の行を追加します。account required pam_time.so
2. /etc/security/time.confを編集して、制限を追加します:*;*;username;Al0800-2200
この例では、毎日午前8時から午後10時までの間、毎日、pam対応ソフトウェアを使用してログインできます。
あなたがしているのはここだけですか、それともLsの代わりに使用していますか?
時間制限は、「大文字A、小L」、次に時間と読む必要があります...
私のために次の作品:
*;*;child1|child2|child3;Wk0445-1958|Sa0445-2300|Su0445-1958
/etc/pam.d/common-account
の次の行は、私が追加またはコメント解除したものである可能性があります。
account required pam_time.so
私はまた、8:00にチェックするcronジョブを持っていますPM子の1人がログインしているかどうかをチェックし、ログインしている場合はログオフします...実際にログオフする部分は続く:
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"
より一般的な方法は、cronを使用してアカウントをロックおよびロック解除することです。これにより、ウィンドウマネージャーに固有の要件と、ウィンドウマネージャーに関連する変数の両方が排除されます。これは、スタンドアロンのマシンにのみ適用されることを意図しており、中央の認証サーバーに接続されたデスクトップ/ラップトップ/タブレットではありません。
0 21 * * * /usr/bin/passwd -l childsUserName 0 6 * * * /usr/bin/passwd -u childsUserName'
注:「passwd」コマンドのパスを調整する必要がある場合があります。 'which'を使用して適切なパスを決定します。
私のCentOS6ボックス:
which passwd
/usr/bin/passwd