お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2007-08-05 18:29:35

kamekichi
新しいメンバ
登録日: 2007-07-17

PC利用時刻の制限

Ubuntu 7.04を利用している者です。
子供にも利用させているのですが、深夜までPCで遊んでしまうので困っています。
そこで、PCをする時刻を制限したいと思っています。
例えば
月曜〜金曜は    PM4:00〜PM6:00
土日        PM12:00〜PM6:00

どなたか設定方法をご存知な方はいらっしゃいませんか?

オフライン

 

#2 2007-08-05 23:55:51

hito
管理者
登録日: 2007-03-18

Re: PC利用時刻の制限

ログイン可能な時間帯を制限するだけであれば、/etc/security/time.confを
設定することで行えます。
http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/036time.html

まずこちらで、
・月曜〜金曜は    PM4:00〜PM6:00
・土日        PM12:00〜PM6:00
にしかログインできないようにしてください。

そして状況的には「時間が来たら強制的に利用終了」もされたいのだと思います。

shutdownしてしまっても良ければ、cronでできます。
[アクセサリ]→[端末]から
sudo crontab -e
として、

コード:

00    18   *   *   *   shutdown -h +5

を設定しておけば毎日18:00になるとシャットダウンプロセスが開始され、
18:05に電源を切る処理が走ります。

オフライン

 

#3 2007-08-06 16:35:40

tani
メンバ
登録日: 2006-10-20

Re: PC利用時刻の制限

iptablesとかでxserverへのアクセスを制限したりすると面白いかもしれないですね。
ただの思いつきですが(´∀`)

本気でやるとなるとSELinuxになるでしょうが、私には難しすぎて解説できないのでリンクだけ。
https://wiki.ubuntu.com/SELinux

オフライン

 

#4 2007-08-13 13:58:31

kamekichi
新しいメンバ
登録日: 2007-07-17

Re: PC利用時刻の制限

hitoさん。ありがとうございます。
>ログイン可能な時間帯を制限するだけであれば、/etc/security/time.confを
>設定することで行えます。
>http://www.atmarkit.co.jp/fsecurity/ren … 6time.html
早速、以下のように設定を変更してみましたが、普通にログインできてしまいます。
何か設定方法に誤りがあるでしょうか?

1. /etc/security/time.confファイルに

*;* & !tty*;*;Wk1600-1800

を追加。(PM4:00〜PM18:00の間しか全てのユーザがログインできないように設定)

this is an example configuration file for the pam_time module. Its syntax
# was initially based heavily on that of the shadow package (shadow-960129).
#
# the syntax of the lines is as follows:
#
#       services;ttys;users;times
#
    ・
    中略
    ・

#xsh;ttyp*;root;!WdMo0000-2400
*;* & !tty*;*;Wk1600-1800
#
# End of example file.

2.pam_time.soの有効化
account requisite pam_time.so (この行のコメントをはずす)

# Uncomment and edit /etc/security/time.conf if you need to set
# time restrainst on logins.
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
# as well as /etc/porttime)
account requisite pam_time.so

3.PCの再起動

4.ログイン (現在時刻が12:00PMですがログインできてしまいます。)

Cron ですが、
コード:
00    18   *   *   *   shutdown -h +5ron

でためしてみましたが、 Shutdownプロセスが開始されません。
ログインしているユーザにルート権限がないとできないのでしょうか?

オフライン

 

#5 2007-08-13 14:36:08

hito
管理者
登録日: 2007-03-18

Re: PC利用時刻の制限

kamekichi による投稿:

1. /etc/security/time.confファイルに

*;* & !tty*;*;Wk1600-1800

この設定は「コンソールからのログインをのぞいて」16-18時にしか
ログインできないようにする、です。

コンソールというのはキーボードやマウスやモニタに正面に向かって
アクセスする、通常のログインのことですから、これを塞がなくては
いけません。

コード:

*;*;*;Wk1600-1800

とすれば良いはずです。(テストしてません)

kamekichi による投稿:

Cron ですが、
00    18   *   *   *   shutdown -h +5ron

でためしてみましたが、 Shutdownプロセスが開始されません。
ログインしているユーザにルート権限がないとできないのでしょうか?

こちらは、

コード:

00    18   *   *   *   /sbin/shutdown -h +5

としてみてください。
sudo crontab -e で設定してあれば、特に他の条件はありません。

最後の編集者: hito (2007-08-13 14:36:40)

オフライン

 

#6 2007-08-16 13:48:52

kamekichi
新しいメンバ
登録日: 2007-07-17

Re: PC利用時刻の制限

hitoさん、
ありがとうございます。
早速、教えて頂いた通りに以下の手順で設定してみました。

1./etc/security/time.confファイルに *;*;*;Wk1600-1800の追加
 結果
 残念ながら、時間外で普通にログインできました。。

2. Cronの設定
 御指示頂いたコードは、
 コード:

 00    18   *   *   *   /sbin/shutdown -h +5
 
 なのですが、これだと、18:00に確かにシャットダウンしますが、その後すぐに電源をいれて
 しまうと普通にログインできてしまうので再度電源をいれても10分後に電源がきれるようにコード
 を追加しました。(せっかちなので時間がきたら2分後に電源がきれるようにしました。)

 
 # m h  dom mon dow   command
 00    00   *   *   *   /sbin/shutdown -h +2
 10    00   *   *   *   /sbin/shutdown -h +2
 20    00   *   *   *   /sbin/shutdown -h +2
 30    00   *   *   *   /sbin/shutdown -h +2
 40    00   *   *   *   /sbin/shutdown -h +2
 50    00   *   *   *   /sbin/shutdown -h +2
 00    01   *   *   *   /sbin/shutdown -h +2
 10    01   *   *   *   /sbin/shutdown -h +2
 20    01   *   *   *   /sbin/shutdown -h +2
 30    01   *   *   *   /sbin/shutdown -h +2
 40    01   *   *   *   /sbin/shutdown -h +2
 50    01   *   *   *   /sbin/shutdown -h +2
 ・・中略
 00    15   *   *   *   /sbin/shutdown -h +2
 10    15   *   *   *   /sbin/shutdown -h +2
 20    15   *   *   *   /sbin/shutdown -h +2
 30    15   *   *   *   /sbin/shutdown -h +2
 40    15   *   *   *   /sbin/shutdown -h +2
 50    15   *   *   *   /sbin/shutdown -h +2
 00    18   *   *   *   /sbin/shutdown -h +2
 10    18   *   *   *   /sbin/shutdown -h +2
 20    18   *   *   *   /sbin/shutdown -h +2
 30    18   *   *   *   /sbin/shutdown -h +2
 40    18   *   *   *   /sbin/shutdown -h +2
 50    18   *   *   *   /sbin/shutdown -h +2 
 ・・中略
 00    23   *   *   *   /sbin/shutdown -h +2
 10    23   *   *   *   /sbin/shutdown -h +2
 20    23   *   *   *   /sbin/shutdown -h +2
 30    23   *   *   *   /sbin/shutdown -h +2
 40    23   *   *   *   /sbin/shutdown -h +2
 50    23   *   *   *   /sbin/shutdown -h +2

このコードを使うと確かに普通にPCを利用できるのは16:00〜18:00の間だけになります。
(16:00〜18:00以外は10分おきにシャットダウンプロセスが開始される。)
ただ、ちょっとプアーなコードであると思います。
おそらく、数行で同様の内容のコードを書けると思うのですが、、、こういうものなのでしょうか??

オフライン

 

#7 2007-08-16 17:24:30

hito
管理者
登録日: 2007-03-18

Re: PC利用時刻の制限

PAMが効かない理由は追いかけていませんが、cronについては、

コード:

* 0-15,18-23  *   1,2,3,4,5   /sbin/shutdown -h +2
* 0-11,18-23  *   6,7   /sbin/shutdown -h +2

あたりでどうぞ。平日は16:00-18:00の間、土日は12:00-18:00にだけ
使えると思います。……祝日のフォローは考えていません。
修正したい場合、man 5 crontab として頂けると記法が分かると思います。

祝日フォローは思いつきですが、祝日にだけ sudo touch /root/todayok をして頂いて、
もともとのcrontabを以下のようにしておく、というのが手かもしれません。

/root/todayok がなければシャットダウンがかかります。祝日が終わったら
sudo rm /root/todayok して消してください。

コード:

* 0-15,18-23  *   1,2,3,4,5   cat /root/todayok || /sbin/shutdown -h +2
* 0-11,18-23  *   6,7         cat /root/todayok || /sbin/shutdown -h +2

オフライン

 

#8 2007-08-17 23:22:10

kamekichi
新しいメンバ
登録日: 2007-07-17

Re: PC利用時刻の制限

hitoさん、ありがとうございます。
Cronについてですが、教えていただいたコードでは、うまく動作しなかったのですが、
以下の通りに変更してみたらPC利用可能時間外にShutdownできました。

変更したコード
0-59 0-15,18-23 * * 1,2,3,4,5 /sbin/shutdown -h +2
0-59 0-11,18-23 * * 6,7 /sbin/shutdown -h +2

0-59の箇所は*でいいと思うのですが、とりあえず希望通りに動きました。

祝日の件もいろいろと教えて頂いてありがとうございます。
子供向けに利用時間を制限できるGUI化されたアプリケーションができれば、
私と同じ悩みをもつ多くの(?)ユーザに利用してもらえるかもしれませんね。

オフライン

 

#9 2008-04-08 21:27:32

pad
新しいメンバ
登録日: 2008-04-08

Re: PC利用時刻の制限

利用時刻の制限について、pamの設定がうまく動作しないという問題点があったようですが、
下の方法で問題なく動作しましたので、参考にしていただければと思います。

gedit /etc/pam.d/common-account
#下の1行を追加して上書き保存してください
account requisite    pam_time.so

gedit /etc/pam.d/login
#下の#を削除して上書き保存してください
#account    requisite  pam_time.so

gedit /etc/security/time.conf
#このスレッドもしくはグーグル先生を参考に設定してください。

sudo crontab -e もしくは sudo gedit /etc/cron.d/anacron
#このスレッドもしくはグーグル先生を参考に設定してください。

kamekichiさんの言われるようにユーザのログイン時間制限ができるGUIパッケージがあれば、
世界中のUbuntuユーザに喜ばれるような気がします。ひょっとしたらもうあったりして?

オフライン

 

Board footer

Powered by FluxBB