■昨日 - ■今日 - ■合計 -
Linux Tips システム管理編
そのうち分類します。
- Linux Tips システム管理編
- コマンドラインからパスワードを設定する 2005/10/24
- 一般ユーザー全員にxxする 2005/10/25
- 大量のユーザーをファイルから登録する 2005/10/26
- グループ用作業ディレクトリの作成 2005/10/29
- どのパッケージからインストールされたファイルかを調べる 2005/11/1
- rpmパッケージからファイルを取り出す 2005/11/03
- ファイルは変更された? 意外と便利。 2005/11/4
- RPMパッケージのインストール前後に実行されるスクリプトを調べる 2005/11/17
- パスワードなしでリモートログインする 2005/11/26
- 決まった間隔でコマンド実行 2005/11/28
コマンドラインからパスワードを設定する 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 なかなかいいでしょ。