※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

■昨日  - ■今日  - ■合計  -

Linux Tips システム管理編

そのうち分類します。

コマンドラインからパスワードを設定する    2005/10/24

コマンドラインからパスワードを設定するには、passwdコマンドの
--stdin オプションを使うと便利です。
# echo qwer1234 | passwd --stdin user1
これでパスワード設定完了。
履歴にパスワード文字列が残るので注意!

一般ユーザー全員にxxする      2005/10/25

UNIX/Linuxでは、全ユーザーに対してxxを設定するというコマンドは
意外と少ないです。これは、多分、1ユーザーに対して設定するコマンドが
あれば、シェルをつかって全ユーザーに展開できるからです。
ちなみにこんな風にやります。
# for user in $( awk -F: '$3>=500{print $1}' /etc/passwd )
> do
>   echo $user
> done
echo $user の部分をやりたいことに置き換えれば完了です。
ちなみに、uid=500以降の全ユーザーに対して実行できます。
nfsnobodyユーザーが含まれるのはご愛嬌…

大量のユーザーをファイルから登録する   2005/10/26

大量のユーザーをファイルから一気に登録するのもシェルを組んでしまえば一発。
たしか専用のコマンドもあった気がするけど、スクリプトでいきましょう。
まずは、ユーザー名とパスワードを列挙したファイルを作成します。
# vi user.txt
user1 password
user2 abcdefg
taro aabbccd
後は、シェルでこのファイルを読み込みながらユーザー登録します。
# while read user pass
> do
>  useradd $user
>  echo $pass | passwd --stdin $user
> done < user.txt
以上です。

グループ用作業ディレクトリの作成  2005/10/29

特定のグループのメンバだけが作業できるディレクトリを作成するには、
SUIDを使用するといいでしょう。こんな感じ。
# groupadd group1
# usermod -G group1 user1
# usermod -G group1 user2
# mkdir /work
# chgrp group1 /work
# chmod 2770 /work
これで、/work ディレクトリで新規ファイルやディレクトリを作成すると
自動的に、group1 グループの所有になり、スムーズなグループ作業が
できます。

どのパッケージからインストールされたファイルかを調べる 2005/11/1

起動スクリプトが置かれている /etc/rc.d/init.d ディレクトリなどに
気になるファイルを見つけたら、rpm コマンドを用いてパッケージ情報を
入手してみると意外と役に立ちます。こんな感じ。
# rpm -qf /etc/rc.d/init.d/portmap
i オプションを付け加えても結構役立ちます。ちなみに l もOK.
# rpm -qif /etc/rc.d/init.d/portmap

rpmパッケージからファイルを取り出す  2005/11/03

デフォルトの設定ファイルを書き換えた挙句、
何をやったかわからなくなり、デフォルトの設定ファイルに
戻したいなどと思ったことありませんか?
でもすでに設定ファイルは変更してしまったし…。
そんな時は、rpmパッケージからファイルを取り出しましょう。
使うコマンドは、rpm2cpio と cpio コマンド。
こんな風に使います。
# mkdir work
# cd work
# rpm2cpio xxxx.rpm | cpio -idm
カレントディレクトリにパッケージ内のファイルが展開されるので
後は、コピーして使うべし。

ファイルは変更された? 意外と便利。 2005/11/4

設定ファイルとかプログラム自体でもよいが、ファイルが
変更かれたかどうかは、rpmコマンドで調べることができる。
# rpm -V パッケージ名
とすればよい。
何にも表示されなければ改変なし。表示されれば改変あり。
# rpm -qf ファイル名 | xargs rpm -V
とすれば、パッケージ名がわからなくとも大丈夫。
ただし、パッケージからインストールされたファイルに限ります。
意外とインストール時に自動的に作られるファイルって多いんだよね。
/boot/grub/grub.confとか/etc/fstabとか。
上記のファイルが改変されたかどうかはrpmでは調べられません。

RPMパッケージのインストール前後に実行されるスクリプトを調べる  2005/11/17

RPMパッケージのインストールやアンインストール時には、自動的に
スクリプトが実行される場合があります。
インストール前後に起動されるスクリプトは、--scriptsオプションを指定すると
調べることができます。こんな感じ。
# rpm -q --scripts openssh-server
kernelパッケージをインストールするとブートローダーの設定ファイルが
勝手に書き換わるのも、このスクリプトのおかげです。

パスワードなしでリモートログインする 2005/11/26

セキュリティ強化が望まれる中、時代に逆行するようですが、
パスワード入力なしでどうしてもリモートログインや、
リモートでコマンドを使いたい方におすすめなのがsshの使用です。
sshでユーザーの認証に公開鍵認証を使用すれば、比較的安全に
パスワードなしでのリモート操作が可能になります。
設定はこうです。
まず、リモートでコマンドを実行したい側(sshのクライアント側)で
# ssh-keygen -t rsa
とし、ユーザーの公開鍵と秘密鍵を作成します。
このとき、パスフレーズにはEnterキーを入力し、
NULLパスワードを設定します。
すると、パスフレーズで保護されていない秘密鍵を
作成することができます。
# ls ~/.ssh
などとすると、id_rsaとid_rsa.pubができているはずです。
そして、sshのサーバー側の~/.sshディレクトリ内に
authorized_keysというファイルをつくり、先ほどクライアント側で
作成したid_rsa.pubの内容をそのまま記述します。
これで完了です。
クライアント側から(sshの鍵を作成した側)
# ssh サーバー名
とするとパスワードなしでログインできます。
ちなみにsshでのrootログインが許可されていれば
rootユーザーでも可能です。

決まった間隔でコマンド実行  2005/11/28

リソースやネットワークのソケット状態の監視などを
行いたい時に便利なコマンドが、watchコマンド。
デフォルトでは2秒ごとにコマンドの出力を表示します。
出力結果をクリアして、再度コマンドの出力を表示するので
結構重宝します。使い方はこんな感じ。
# watch netstat -t
なかなかいいでしょ。