More from: パスワード

新規ユーザー登録用のスクリプト

仕事で運用しているLinuxサーバーに新規ユーザーを登録するスクリプトを改造した。
面倒だったのがパスワードの自動生成と登録。
元々自動でパスワードを生成するために単独で動作するプログラムを10年以上前にC言語で書いてあった。
中身の詳細は公開できないけど、要はcrypt関数を使ってランダム文字列を得るもの。
ところがベース文字列は登録時に指定するものの、暗号化キーはランダムにならなかったので、同じ引数を指定すると同じ文字列を返してしまう。
これでは少々まずいので、今回は暗号化キー(のもとになる文字列)を下のようにして作成することにした。
key=`/usr/bin/openssl rand -base64 10`
上のコマンドで生成されたランダムな文字列($key)を元に暗号化キーを作ってcrypt関数に渡して暗号化した文字列の一部を必要があれば書き換えるようにプログラムを修正し、得られた文字列をパスワードとして採用するようにスクリプトを書き換えた。
こうすることで同じ引数を渡しても異なる文字列(パスワード)を得ることが出来るようになった。
また、スクリプト中でuseaddコマンドでユーザーを登録する際に戻り値($?)が0以外(登録失敗)の場合はパスワードの変更を行わないようにもした。
基本的にシステム管理者以外は使わない(スーパーユーザー権限が必要なため)スクリプトだけど、万が一既存のユーザーと同じユーザー名を指定した場合にパスワードが変更されると困るので、判定を入れた。

ランダム文字列の生成をどうやるか検討し始めた時はdateコマンドでナノ秒単位の時刻を取得して使うことを考えたけど、いろいろ調べている内にopensslコマンドを使う方が数字だけでなく文字が入って良さそうだったので上記のようになった。
ナノ秒単位での時刻取得は
#date +%N
で行うつもりだった。

←クリックしてくれると嬉しいです。

”ezShare”のパスワード

先日、妻が使っているデジカメのSDカードが満杯になった。
たまたま出先で私も予備のカードの手持ちが無かったので困っていた所、妻が取り敢えずデータをiPadに移動して空きを作ると言う。
妻はezShareのアダプターにmicroSDカードを入れていたのでその手があったかと思ったのも束の間、なんとiPadをezShareに接続させようとしたらパスワード入力が必要だという。
しばらく接続していなかった・・・もしかしたらiPadを買い替えてからは初めて?のためだと思われるが、久しぶりなので忘れていて接続出来なかった。
その時は子供のコンデジに入れていたmicroSDカードを流用してなんとかなったけど、ezShareに接続出来ないのは困る。
単純なパスワードだった気がするんだけど、念のためにググってみたら初期値は”88888888”らしい。
今度は忘れないようにしないとなぁ(多分忘れるけど)。

←クリックしてくれると嬉しいです。

ロックされる前に・・・

ユーザーからPC(Windows10)にログインできないというSOSが来た。
訊くとパスワードを何度も間違っている内にロックアウトされたらしいorz。
事前に通知してあるパスワードで文字数は多いけどそんなに難しくはしていないのに、なんでそんなに間違うかなぁ(汗)。
と思ったら、数字を入力するのにNumLOCKされていない状態で10キーを使ったらしい。
こりゃ正しく入らないよね。

ロックアウトまでの回数もそれほど少なくしたわけでは無いんだから、2回くらいのところで連絡くれればなんとかなったのに・・・
しばらく待てばロックアウトが解除されるから良いんだけど、今度はパスワードを正しく入れてくれよなぁ・・・

←クリックしてくれると嬉しいです。

ユーザーパスワードをシェルスクリプトで設定

サーバー上のユーザーアカウントを別サーバーに移行する必要が生じた。
サーバー自体をまるごとコピーすれば簡単なんだけど、OSのバージョンを新しくしたサーバーへの移行なのでそれが出来ない。
つまり新しいサーバー上でユーザーアカウントを新たに作成しなければならない。
いや、/etc/passwdや/etc/shadowや/etc/groupの必要部分をコピーする方法もあるんだけど、OSのバージョンがかなり違ってちょっと怖いので今回はやらないつもり(汗)

ユーザーの作成そのものは以前書いた「ユーザー設定の移行(備忘録)」の手順で行えば良いのだけど、この記事を書いた時はパスワードの設定をどうすれば簡略化出来るか判らなかった。
その後調べていたら、
# echo [パスワード] | passwd –stdin [ユーザ名]
とすれば、コマンドラインから一発でパスワードを入力できることが判ったので、これを移行するユーザー分だけスクリプトに書いて実行すれば楽に出来るなぁ。

←クリックしてくれると嬉しいです。

エクセルやワードのファイルにパスワードをかける

タイトルの件でちょっと質問されて調べたのでメモ。
WORDやEXCELのファイルにパスワードをかけたい場合は以下の手順で行う。
・ファイルメニューで「名前をつけて保存(A)」を選択。
・保存場所とファイル名を付ける画面で左下(2007の場合)もしくは右上(2003の場合)にある「ツール(L)」ボタンをクリック。

ファイル保存用のダイアログボックス

ファイル保存用のダイアログボックス(EXCEL2003のもの)。

・全般オプション(G)をクリック。
「保存オプション」ダイアログボックス

「保存オプション」ダイアログボックス(EXCEL2003のもの)。


そうすると読み込みパスワードと書き込みパスワードを入力するダイアログボックスが開くのでそこで任意のパスワードを設定すれば良い。
見せたいけど内容を書き換えられたくない場合は書き込みパスワードを設定すれば、パスワードを知らない人は上書き保存が出来なくなる。
EXCELで同様のことをするには「ブックの保護」を設定しても可能なのだが、どちらを使うかはお好み次第かな?

またオフィス2007以降では保存形式としてPDF形式も選択可能(アドイン利用時)だが、この場合はパスワードをかけることは出来ないようだ。

←クリックしてくれると嬉しいです。