ユーザーがログインできる時間を制限する


9

Ubuntu 12.04上に構築されたいくつかのBackbox 3.13システムがあります。私の10代の1人は、「スリープ」と呼ばれるこのことの概念を理解しておらず、コンピュータで遊ぶために立ち上がる傾向があります。私はその行動を制限しようとしています。私たちは数日間働いたナニーを試しました。その後、設定がまだ適切であったとしても、それはまだその十代が彼女のユーザーアカウントとインターネットへのアクセスを取得することを許可していました。

いくつかの調査の後、を変更してみることにしました/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時に娘のセッションを強制終了するジョブも必要です。これにより、新しいセッションの開始が停止されるだけです。ここにいくつかの詳細があります
ワーウィック

残念ながら、これは機能しませんでした。私はログインを試みました; *;娘; A10600-1900は、ソリューションを無効にするためにテストしました。私も試しました ;娘; A10600-1900で肯定的な結果はありません。これは機能するはずですが、機能しません。Unityシステムが原因ですか?
user81117 14

2
pam使用するように設定しましたpam_timeか?そうでない場合は、account required pam_time.so両方/etc/pam.d/gdmとエントリの/etc/pam.d/loginすぐ下に必要authです。
ワーウィック

これらの行を/ gdmおよび/ loginファイルに追加してから、構成ファイルに情報を再入力しました。私たちはまだこの目的に喜びを感じていません。/ gdmファイルの正しい場所に行を入力したことを確認するために、今グーグルしています。
user81117 14

ask.fedoraproject.org/en/question/7260/…によると(長いURLについては申し訳ありません)新しい行を入力してコマンドを終了する必要があります。その行を#記号でコメントしますよね?また、アカウントに必要なpam_time.soは/ gdmファイルの最後にあると記載されています。私は確かに一つのことを知っています。これがわかったら、またすぐに忘れません!
user81117 14

回答:


1

1. /etc/pam.d/common-authを編集して、次の行を追加します。 account required pam_time.so

2. /etc/security/time.confを編集して、制限を追加します。 *;*;username;Al0800-2200

この例では、毎日午前8時から午後10時までの間、pam対応ソフトウェアを使用してログインできます。


0

あなたがしているのはここだけですか、それともLsの代わりに使用していますか?

時間制限は「大文字A、小さいL」を読んでから、時間を読む必要があります...


こんにちは、ニゲ。私はAlとA1の両方を示すドキュメントを見たので、両方の方法を試しました。どちらの方法も機能しません。理由を理解しようとするクマがいます。
user81117 14

それが問題の原因ではなかったと聞いて申し訳ありません。確認するもう1つのこと:確認するために:システムはおそらく別のDMを使用していますか?の/ etc / X11 /デフォルト・ディスプレイ・マネージャに見て...
ヤン

システムはLight DMを使用しています。GDMをインストールしたときに、Light DM用にセットアップしたと思います。
user81117 14

0

私のために次の作品:

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

次の行は、/etc/pam.d/common-account私が追加したもの、またはコメントを外したものです。

account required  pam_time.so

子の1人がログインしているかどうかを午後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"

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 2015

中央認証サーバーに接続されていない限り、ローカルパスワードデータベースに対して認証を行わないUNIXまたはLinuxシステムについては知りません。
Ragansi 2015

以前のコメントが途中で切れてしまいました。Enterキーを押すとコメントが投稿されることに気づかなかった。とにかく。マシンがオフになった場合、cronはシステムを確実に望ましくない状態にする可能性があります。cronを使用して、時間をチェックし、それに応じてロックまたはロック解除する小さなスクリプトを呼び出すことができます。5分ごとに実行するか、cronで@rebootを実行します。
Ragansi 2015

「中央認証サーバーに接続されていない限り」。それがまさに私が言っていることです。
jayhendren、2015

その場合、中央認証サーバーは、前述のロックアウト機能を実行する機能を備えています(または備えるべきです...)。その場合、何かがスコープ外で構成されていない限り、ローカルマシンでユーザーアカウントロックアウトを実行する必要はありません(必要もありません)。また、中央認証の使用方法が意図されています。
Ragansi 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.