いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.005 / 読者数:233名

こんばんは,うすだです.

今のところ,見事なくらい,反響がありません.
読者数は,何も対策していない割には,少しずつ増えているのですが….

毎回,どこかわざと間違えておくと,間違いの指摘とか苦情とか来るのではないか,というのを,真面目に思いつきました.
# 正解者の中から抽選で,栗バッジを差し上げます! とか.

…さすがに,読者の方々に愛想をつかれてしまいそうですので,それだけは止めておこうと思います.
というわけで,このメルマガがおかしな方向に進んでいかないためにも, みなさまのご意見ご感想,お待ちしております.(^ε^;

それでは,今日もはりきってまいりましょう!

今週のお題 - たくさんのユーザを登録する フルスロットル

また先週の続きです.すみません.
来週はネタを変えますので,今日のところは,おつき合いください.

先週,たくさんのユーザを登録するスクリプトを,ご紹介しました.
http://www.usupi.org/sysad/004.html

ただ,そのユーザを使えるようにするには,パスワードを登録する必要があります…よね.
小人数であれば,システム管理者の方が,仮のパスワードを登録しておいたり, root 権限で passwd コマンドを実行して,その場でパスワードを決めてもらったりできます.

ですが,これも,大人数となると…大変です.
そこで,今回は,仮のパスワードを,えいやーで一気に登録するものを, 作ってみましょう.

今回も,CSV ファイルを用意して,それをもとに,一気に仮パスワードを登録しようと思います.
CSV ファイルは,ユーザ名とパスワードからなります.
例を,以下に示します.

  user001,zpass001
  user002,zpass002
  user003,zpass003
  ...

…クラッカーさんが見たら,泣いて喜びそうです.
これは,あくまでも仮のもので,各ユーザがすぐにパスワード変更する, という前提で,話を進めます.

ちなみに,これを1から100まで作るスクリプトは,以下のようになります.

  #!/bin/sh
  num=1
  while [ $num -le 100 ]; do
        printf "user%03d,zpass%03d\n" $num $num
        num=`expr $num + 1`
  done

では,答のスクリプトです.
わけあって,今回は Perl を使いました.

  #!/usr/bin/perl
  my ($acct, $passwd);
  my @salt = ('.', '/', 0..9, 'A'..'Z', 'a'..'z');
  my $snum = $#salt + 1;

  while(<>) {
    chop;
      if(/([^,]+),([^,]+)$/) {
        $acct = $1;
        $passwd = crypt($2, join('', @salt[rand $snum, rand $snum]));
        `usermod -p "$passwd" $acct`;
        print "$acct : " . ("OK", "NG")[$? ? 1:0] . "\n";
    }
  }

詳細は割愛しますが,usermod コマンドの -p オプションで,暗号化したパスワードを指定して,パスワードの変更を行っています.
これが,setpasswd.pl というファイルで,前述の CSV ファイルが userpasswd.csv であれば,以下のように実行します.

  # ./setpasswd.pl < userpasswd.csv

これで,仮パスワードの登録が行えるようになりました.

仮パスワードを決める方法や,各ユーザに伝える方法など,ハードルはまだ残っていますが,組織によって方法が違いそうですし,私自身,これっていういい方法を知りません.
もし,いい方法がわかったら,あらためて別の機会にお知らせする, ということで,このネタは,今回でおわりにしたいと思います.

宿題の答え

先週の問題は,

  別のサーバにある /etc/passwd のユーザを登録するスクリプトを,
  作ってください.

でした.
答えは,以下の通りです.

  #!/bin/sh
  IFS=":"
  while read acct passwd uid gid gcos hdir shell
  do
    useradd -u $uid -g $gid -c "$gcos" -d $hdir -s $shell -m $acct
  done

区切りが : になる点と,パスワードのフィールドが増える点以外は,先週のスクリプトそのままです.
時間のある方は,先週のスクリプトと見比べてみてください.
http://www.usupi.org/sysad/004.html

今週の宿題

今週の宿題は,こちらです.

  別のサーバから持ってきた /etc/shadow のパスワードを設定する
  スクリプトを,作ってください.

宿題も,先週の続きです.
ユーザだけでなく,パスワードも移行したいですよね,ということです.
別のサーバの shadow ファイルは,すでに手元にあり,ユーザはあらかじめ(先週のスクリプトなどによって)登録してあるものとします.

あとがき

正社員としてちゃんと会社に属していて,会社の仕事は一応しているものの, 言われたことだけをなんとかこなしていて,でもそれじゃあいかんよなぁ, なんかしないといかんよなぁ,という,もんもんとした思いを抱きながら, 毎日過ごしていました.

そんな中,出会ったのが,このメルマガです.
毎回,情報起業に関するお話を,さらっとお話してくださいます.

「ネットで収入と自由な時間を手に入れる方法」
http://www.soholife.jp/seminar.html

毎回いろんな仕掛けがあるようなのですが,あまりにもさらっとお話をされているので,毎回気づかずにいます.
いつかわかってやるぞ! という意気込みで,毎回読んでいます.
そのうちわかるようになったら,このメルマガにも反映させたり,他にも力を入れて,がんばろうと思っています.

ただ,このメルマガを発行しようと思った,直接のきっかけとなったのは, 以下のメルマガです.上記と同じ田渕さんが書かれています.
# 上記とややかぶっていますが,内容がメルマガに特化しています.

「メルマガ5年で10誌運営5000万円稼いだ方法!」
http://www.soholife.jp/mailm/

さて,発行前にためていたネタも,半分弱くらい使ってしまいました.
このままですと,あと5回くらいで,ネタが枯渇してしまいそうです.
こんなことに困っているとか,こんなことを知りたいなど,なんでも結構ですので,ご意見ください.
# ひょっとすると,あなたの悩みが解決するかも! …ですよ.(^ε^)

場合によっては,栗バッジを差し上げます.(一部の方に大好評!!)
というわけで,みなさまからのお便り,首を長くして待ってます!

長くなりましたが,ここまで読んでいただき,ありがとうございました.
それでは,また来週,お会いしましょう.

このメルマガの登録および解除は,以下からどうぞ.
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

栗の絵のメルマガも,やってます.毎日発行してます.
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本