- ベストアンサー
Solarisのdateコマンド
dateコマンドで入力値に制限を加えることは可能でしょうか? 方法はありますでしょうか? 例えば、現在時刻から15分以上先の値をセットできなくする。
- otakesan
- お礼率0% (0/4)
- Solaris系OS
- 回答数1
- ありがとう数4
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ソースコードを修正しない限り不可能でしょう。 そもそも、デフォルトではdateコマンドで日付をセットできるのはrootのみです し、逆にroot権限があれば何でもできてしまう(仮にdateコマンドが削除されて いてもその場でソースを書いてコンパイルすれば理屈上は任意の日時に変更でき てしまう作れてしまう)ので、セキュリティ面からはあまり意味がないことだと 思います。 例えば、以下のプログラムをコンパイルしてrootユーザで実行すれば時計は1時 間後に設定されます。 #include <stdlib.h> #include <sys/time.h> int main () { struct timeval tv; int ret; if (gettimeofday (&tv, NULL) == -1) { perror ("gettimeofday"); exit (1); } tv.tv_sec += 3600; /* after a hour */ if (settimeofday (&tv, NULL) == -1) { perror ("setttimeofday"); exit (1); } exit (0); } それに、仮に現在時刻よりも15分以上先に設定できないようにできたとしても、 同じdateコマンドを2回に分けて実行すれば30分先でも設定できてしまうこと になるでしょう。
関連するQ&A
- コマンドプロンプトを使用して時間の変更
REM 日付の分解 set TODAY=%date% set y=%TODAY:~0,4% set m1=%TODAY:~5,1% set m2=%TODAY:~6,1% set d1=%TODAY:~8,1% set d2=%TODAY:~9,1% REM 入力要求 set /P chg_y="西暦を入力してください: " REM 西暦変更 date %chg_y%/%m1%%m2%/%d1%%d2% 現在ネットで拾った上記コマンドを使用してPCの日付の変更をしております。 これと同じように時間の部分を変更した場合どのようなコードを書けばいいでしょうか? 例 現在時刻 15:09 bat実行 変更した時間を2桁で入力してください。 16と入力してエンター押すと16:09になるようにしたい。
- ベストアンサー
- Visual Basic
- コマンドプロンプト(2000)で入力値によって処理を変えたい
コマンドプロンプト(bat)プログラムの途中で ユーザからの入力を促して入力された値を 変数としてセットし、その値をif文などで 評価することにより分岐させて入力された値によって 様々な処理を行わすことは可能でしょうか。 シェルスクリプトであればreadコマンドのような ものに変わるコマンドを期待しています。 宜しくお願いいたします。
- ベストアンサー
- Windows系OS
- dateコマンドでn分前の時刻を出力(HP-UX)
HP-UXのdateコマンドでn分前の時間を出力する方法を知りたいです。 Linux等では、たとえば10分前の時刻を出力したい場合は、 % date -d "10minutes ago" とすればOKですが、HP-UXだとうまくいきません。 ご存知の方がいれば宜しくお願い致します。
- 締切済み
- その他(OS)
- dateコマンドで出てくるDST
Windows 10 で動く Windows Subsystem for Linux が正式版になったので早速インストールして Ubuntu で動かしています。そこでコマンドラインから date コマンドを実行したところ以下のように出力されました。 Wed Nov 15 18:00:01 DST 2017 この DST とはなんでしょう? 普通なら JST 等のタイムゾーンが出る所ですよね? DST という名称のタイムゾーンがあるんでしょうか? (だとすると Daylight Saving Time と同じで非常に紛らわしいように思いますが)。 一体これはどういうことかと思い、 date '+%Z %z' をやってみたらこう出ます。 DST +0900 どうやら日本と同じようです。環境変数 TZ に Japan 以外の何か知らない国名がセットされているのかなと思って $TZ を出してみましたが空で、env | grep TZ で出力がないので TZ は完全にセットされていないようです。 じゃあ TZ を Japan にセットしたらどうなるのかというと、これは以下のように JST で出ます。(以下は最初の行が date のみ、次の行が date '+%Z %z' の出力) Wed Nov 15 18:04:49 JST 2017 JST +0900
- ベストアンサー
- Linux系OS
- コマンドプロンプト欲しい結果が出力できない
Windows2000です。 dateコマンドの日付から、2003年の「03」を出力したいのですが、うまくできません。 C:\>DATE /T 2003/07/07 月 C:\>for /f "tokens=1-2 delims=/,2 " %i in('date /t') do set year=%i と入力すると、 C:\>set year=003 と出てきます。 C:\>for /f "tokens=1-2 delims=/,20 " %i in ('date /t') do set year=%i と入力すると、 C:\>set year=3 と出てきます。これを、 C:\>set year=30 となるようなコマンドができません。 コマンドプロンプトに強い方がいらっしゃったら、教えてください・・・。
- 締切済み
- Windows NT・2000
- Solaris8でulimitコマンドの設定
Solaris8で、サーバの起動時にulimit制限を設定したいと思っています。シェルはshです。 例えば、ファイルサイズの制限を掛けるときには「ulimit -f 1024」と入力しますが、 コマンドラインからは正常に反映されます。 これを、サーバの起動時に自動的に設定するようにしたいのですが、その方法を教えて頂けませんでしょうか? こちらで試したのは、/etc/default/initに記述したりm、/etc/init.d/適当なファイル名に記述し、そこか らから/etc/rc3.d/適当なファイル名にシンボリックリンクを張ったり、/etc/systemに記述したり・・・とや ってみましたが、コマンドをなめてはいるものの、数値は反映されません。 唯一反映されたのは、/etc/profileに記述したものでした。 SUNのHPを見たり、googleで探しても起動時の設定方法は見つけられませんでした。 どなたかご教授の程、よろしくお願い致します。
- 締切済み
- Solaris系OS
- コマンドプロンプト 入力値を格納したい
作成したバッチファイルを起動し、パスワードを要求しますが、以降は要求せずに、最初にコマンドプロンプトで入力された値をセットして起きたいのですが、どうしたらよいか教えてください。ちなみに、コマンドプロンプトでパスワードを入力する際は、値は表示されないようにしたいです。
- ベストアンサー
- MySQL
- dateとntpdateによる時間設定
こんにちわ。 会社で使用している古いUNIXサーバのdateのセットで質問です。 OSは「BSDI BSD/OS 4.0.1」です。 症状はヘルプの例通りにセットしようとした時、 時間を先に進めるのは問題なくできたのですが、 過去の時間をセットしようとすると下記のメッセージが出てきます。 [作業前のセットされている時間 2002/02/04 16:30] % date 0202041640 → 問題ないです。 ----------- % date 0202011200 date: settimeofday: elevated security level: Operation not permitted というメッセージが出て何も変更されない。 rootでログインして実施してるのですが何故でしょうか? 特別なコマンドでもあるのでしょうか? あと社内にあるNTPサーバから時刻同期をしようとしても問題があります。 % ntpdate clock.****.****.co.jp とコマンドを入力するとRedhat7.2なら 4 Feb 16:37:05 ntpdate[22138]: step time server 10.**.**.** offset -179.826032 sec とメッセージが出て同期が取られるのですが BSD/OSの場合、 4 Feb 16:36:24 ntpdate[8573]: adjust time server 10.**.**.** offset -101.622156 sec と出て同期を取ってくれません。 古いOSで申し訳ないですが宜しくお願いします。
- 締切済み
- その他(OS)
- コマンドプロンプトについて
コマンドプロンプトのコマンドに『set』があります。 2000/XPにおいては、オプションで[/P]を指定することによりキーボードからの入力を変数にセットできますがWindowsNTにおいても使用することが出来るのでしょうか?(キーボード入力によって実行する処理を変えたい) また、不可能である場合他の方法があればご教授していただけるようお願いします。
- ベストアンサー
- Windows NT・2000
- コマンドラインのログファイルの作成
Linuxで次のようなプログラムを実現したいのですが どのようにしたらよいでしょうか? (1) シェル起動後、自動的に起動し (2) シェルで入出力されるコマンドラインを指定したファイルに自動的に追加書込みされ * 書込みについては、一行毎に入出力された時刻も同時に書込むものとします 詰まり、次のような記述で、書込みたいのです 入力 時刻 出力 時刻 ・・・ 入力 時刻 出力 時刻 といった感じの書式です (3) 追加書込みされるファイルが一定容量以上になると自動的に別ファイルを生成して、そのファイルに書込まれる これは、Perlなどのスクリプト言語で作るべきでしょうか? それとも、( 例えば、コマンドやリダイレクトだけで作ると言ったような ) もっと簡単な方法がありますでしょうか?
- ベストアンサー
- Linux系OS