応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。
カテゴリ:

13.実際の設定 > 13.3 Linux

■Kali linux ダウンロード
https://www.kali.org/downloads/

■VMへインストール
・VM workstation plyaerをダウンロード
・あとでOSをインストールする
インストールする際、Linuxでバージョンは「Debian」系である。version は不明
・HD 30G、メモリ1Gで設定
・VMwareツールをインストール
★CTL+ALTで仮想と実環境の切り替え
デフォルトのパスワードはtoor

■起動後
イメージを更新するには
apt-get update
apt-get dist-upgrade

①VMware Playerのダウンロード
http://www.vmware.com/download/player/
※ユーザ登録が必要
②Browser Applianceのダウンロード と展開
③VMwareのインストール
④VMwareの起動
⑤ファイルを指定して、Browser Applianceを開く

root権限が必要な場合は sudo -s
password:vmware


◆別のOSをCDからインストールする場合には、以下の設定になっているかを確認
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"

どんな本でもいいので、一冊購入するといいですよ。
私は 秀和システム「はじめてのFedoraCore5」を買いました。
以下の内容は上記の本を参照してます。

1.sendmailの停止
service sendmail stop

2.Postfixのインストール
rpmでpostfixをインストール

3.Postfix環境へスイッチ
alternatives --config mta
ここで、postfixを選択する。

4.main.cfの設定
vi /etc/postfix/main.cf

myhostname = ns1.network-exam.com 
mydomain = network-exam.com
inet_interfaces = all   ←利用するNIC
mydestination = $myhostname, localhost.$mydomain, $mydomain ←受信するドメインとホスト
mynetworks = 192.168.1.0/24, 127.0.0.0/8

POP3サーバの設定
dovecotを利用します。
mysqlのパッケージをインストールする必要があります。
(perl-DBIが含まれていることを確認)

dovecotをインストール
dovecot.confにおいて

ユーザの作成

(作成途中)

◆文字列を探す。
192.168.1.10という文字列を/etcディレクトリの中から探す場合。

grep "192.168.1.10" /etc/*

※大文字と小文字を区別する場合は-iオプション
※サブディレクトリ以下も探す場合は -rオプション(recersive再帰的?)

◆フリーのLinux
CentOS

◆php インストール
 
1.yumを使ってapacheのモジュールを追加する
# yum install php-mbstring
2.Apacheを再起動する
# /etc/init.d/httpd restart
3.PHPの設定ファイル /etc/php.iniを設定する。(デフォルトでもよい)
4.phpファイルを/var/www/html/aaa.php配置する。
5.http://192.168.1.100/aaa.phpにて見ることができる。

◆コピー
cp -pでアクセス権などを保持したままコピーする。pはpermanentだと思う。このオプションをつけないと、もともとのアクセス権とコピー先のアクセス権の積が新しいアクセス権である。
cp -r (recursive) ディレクトリごとコピーする。ちなみにmvには-rオプションは存在しない。
 (例) cp -r dirA dirB dirAをdirBという名でコピー

◆移動
mvを使う
ディレクトリでも使える。cpと違って-rオプションは不要
-f 移動先にファイルがあっても上書きする場合は-fオプションをつける。
-i 上書きする場合に警告を出す。


◆削除
rm -f 強制削除 (消しますか?と聞かれない)
rm -rf とすると、フォルダ配下のファイルごと消す

◆LinuxでもRDPを使う。
Linuxの場合は、rdesktop(http://www.rdesktop.org/)というプログラムを使えば、制限はあるものの、Windows XP Professionalのリモートデスクトップ機能にアクセスできる。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/431usexprd.html

◆ファイル比較
diff /etc/a.txt  /etc/b.txt とすることで、a.txtとb.txtの2つのファイルを比較することができる。

◆locate
ファイルの場所を検索できる。(結構使える)

◆ファイル(ディレクトリ)の検索
例えば、カレントディレクトリから pgsqlというファイルやディレクトリを探す。
find -name pgsql
※全ファイルを検索したいのであれば、cdでルート(/)に移動する必要がある。
※ファイル名には*も使える

■言語の状態を確認する
/etc/sysconfig/i18n

LANG= で設定されている言語がわかる

■ディスクの情報
df -k
ディスクの状態、サイズや利用率などがわかる。kはキロバイト表示の意味。dfはファイルシステム単位での表示で、duはファイルやディレクトリ単位での表示。
du -s sはsummuryで、合計値を出す。ユーザのホームディレクトリの使用量合計を見る場合などに便利である。
df -hとすると、単位が見やすくなる。
hはhumanのhだと思う。人間が見やすい状態になる。
たとえば 40313964→40G

■ルーティング
・netstat -r ルーティングに関する情報を表示
・スタティックルートの追加
route add -net 10.1.1.0 netmask 255.255.255.0 gw 192.168.1.254 (eth0)
※最後のインターフェース(eth0など)は省略可能。

■netstatコマンド
-r ルーティングテーブルの表示
-a すべての接続を表示
-l Listeningの接続を表示
-s Summery(統計)が表示される。ICMPなどのプロトコルごとに集約される。

◆基礎情報
init=initialize(初期化)
rc.dなどのように、dがついているものは、ディレクトリであることを明示的に示している。

rc=run command

inittab=(initialize table)
/etc/inittabにおいて、デフォルトのランレベルを設定する。

◆起動スクリプトと実行ファイル
(1)起動スクリプト
/etc/rc.d/init.d/sshd
たとえば,start コマンドがわたされた場合にはどうるするか
が記載されている

(2)実行ファイル
/usr/sbin/sshd
バイナリファイルとして存在する.

◆コマンドライン
| パイプ コマンドを続けて実行
> リダイレクト 結果をファイルへ出力
; コマンドを続けて実行
& バックグラウンドで実行
&& コマンドの結果がYesなら次のコマンドを実行 逆が ||

■LinuxにおけるPrintScreen

X window dumpという。コマンドは、頭文字をとってxwd

 xwd -frame out ファイル名 
 
frameオプションは、フレームも含めてキャプチャする。


■crontab
0,7は日曜日 1が月

-e 編集(edit)
-r remove
-l list

■tcpdump
tcpdump src host 192.168.1.10 and port 80
送信元が192.168.1.10の80ポートへの通信をキャプチャする。

◆画面切り替え
Ctrl + Alt + F1~F7によって、コンソール画面を切り替えることが可能になる。これによりXwindowのようなマルチウィンドウ操作が可能である。

◆chmod パーミッションの変更
・ drwxr-xr-x
最初がディレクトリを表すd
次の3つは所有者のパーミッション
次の3つはグループのパーミッション
最後の3つはOther(その他)のパーミッション
・-R オプション recursive(再帰的)の意味で、ディレクトリ配下のファイルやディレクトリもすべてパーミッションを変更する。

・デフォルトのパーミッションは、ファイルの場合が666 - umaskで、ディレクトリは777 - umask。つまり、ファイルの場合は実行権限が付与されない。例えば、umaskが002であったら、ファイルを作ると664のアクセス権になる。
・umask と入力すると、デフォルトのumask値が表示される。

◆suidとsgid
suidがセットされると、一般ユーザが実行してもrootが実行したことになる。

/etc/passwdファイルはrootにしか実行件が無い。しかし、一般ユーザでもパスワードを変更できる。これは、/usr/bin/passwdにsuidが設定されているから。※/etc/passwdは設定ファイルで、/usr/bin/passwdは実行ファイル。
chmod u+s ファイル名 ※u+sのところを4755のように頭を4にしても同じ。
このように、+sをつけることで、suidを設定できる。


◆TCP Wrapper
/etc/hosts.allowと/etc/hosts.denyファイルでアクセス制御をする。
/etc/hosts.allowが優先なので、/etc/hosts.allowに許可するユーザを書き、/etc/hosts.denyには全拒否の設定を入れる(ALL:ALL)。

■Linuxでのファイアウォール設定
lokkitで簡単に設定できる。
設定後は、サービスを再起動した方が良かったかも。
service iptables restart

複雑な設定はiptables
 
◆SELinuxを無効にする
/etc/sysconfig/selinuxファイルの「SELINUX=…」となっている行を,
「SELinux=disabled」とする。

/etc/passwd・・・ユーザ情報が記載

/etc/shadow・・・パスワードの暗号化ファイル

/etc/group ・・・グループ情報が記載されている。グループ毎に、ユーザがカンマ区切りで列挙される。
 ※パスワードに関しては、/etc/gshadowがある

/boot ブート関連。カーネルなども
/etc  環境設定ファイル named.confなど
/home ユーザのホームディレクトリ
/tmp 一時ファイル 
/bin  binaryファイル(実行ファイル)がおかれる
/sbin SuperUserの実行ファイルが置かれる。
/var logなどの大きさが変化する(variable)ファイル
/dev
/usr

◆1.ネットワークの設定方法
0) CLIからGUIチックに設定する。
以前はnetconfigがあったが、今はなくなり、system-config-networkで可能。

1) /etc/sysconfig/network
システム全体のネットワーク設定をする。
(例)  
NETWORKING=yes  ←ネットワークを有効
HOSTNAME=localhost  ←ホスト名
DOMAINNAME=domain.dom  ←ドメイン名
GATEWAY=192.168.0.1  ←デフォルトゲートウェイ

※デフォルトゲートウェイは/etc/sysconfig/network-scripts/ifcfg-ethXに書いてもよいが、NICが複数ある場合、矛盾が起こる可能性がでてくる。デフォルトゲートウェイは1つであるべきなので、ここに書くべきでしょう。

2) /etc/hosts
Windowsのhostsファイルと同じ。Host名はここに書きましょう。私は/etc/sysconfig/networkとこのファイルの両方に記載している。
192.168.1.1 ns1.domain.dom ns1 ←最後の ns1は無くても良い。

3) /etc/resolv.conf 
ネームサーバの設定
(例)
search domain1.com 
nameserver 192.168.1.1
nameserver 192.168.1.2
※searchはドメイン名をというよりはドメインサフィックスと考えたほうがよいだろう。searchの場合、DNSサーバは3つまで指定できる。ドメインを指定する場合はdominで書く。1つまで。

4) /etc/sysconfig/network-scripts/ifcfg-eth1に書き込む
最後のeth1の「1」は当然インターフェースによって変わる。

DEVICE=eth1 ←IF名 
BOOTPROTO=static DHCPの場合はdynamic
IPADDR=192.168.1.1 
NETMASK=255.255.255.0 

【補足】変更したネットワークを有効にするには
サービスを再起動する。
/etc/rc.d/init.d/network restart
または、service network restart

◆2.ネットワークの確認
1) ifconfig(interface configration)
現在のネットワークの状態を表示する。
※ifconfigにてIPアドレスを変更することもできるが、再起動すると元に戻ってしまう。

2) nslookup、dig
名前解決のテストを行える。
終わるときはctrl+D

3) ホスト名の表示
hostname

4) ドメイン名の表示
hostname -d
※dはdomainの意味

#ntpq -p
"*"が表示されれば同期がとれている。すぐにはとれない。
service ntpd startでサービスは起動すると思う

■クライアント側の設定
以下のコマンドを用いて同期をとる。
# /usr/sbin/ntpdate -bs 192.168.1.1
-bsはオプションなのでなくても良い。

※クライアントもntpdを起動し、上位のNTPサーバを参照するようにしてもいいが、NTPサーバが複数起動しているのもおかしい。要は、NTPクライアントとして動作したいだけなのに、わざわざNTPサーバを起動する必要はない。CRONで夜間に同期すればよいだろう

■時刻あわせ
# date --set="2003/10/8 16:20"
または、
date 100816202003 (おそらく)

sambaの設定
1.インストール
samba-swat
samba
samba-client
samba-common

2.swatの準備
1) /etc/xinetd.d/swat を書き変え
 disable =no
 only_from=127.0,0,1 192.168.1.10 ←swatを利用するマシンを追加
2) xinetdの再起動

3.SWATの設定
1)ブラウザでSambaサーバにアクセスhttp://192.168.1.20:901/
※FW設定などはlokkit(?)ではずす

2) IDパスワードを入力 ※rootでもはいれる
3) GLOBALS workgroupをWindowsのワークグループと同じに
4) SHARES COMMENTにて新しい名前、PATHにて共有するディレクトリを指定、ReadOnlyなど
の設定を適宜行う
5) VIEWで設定を確認する。SWATでやれば文法間違いが無いから安心
6) STATUSにてsmbdとnmbdを起動
7) ユーザの設定 PASSWORDページにて、ローカルマシン側の各項目に一般ユーザの
アカウントを設定する。※Linuxサーバに事前登録したもの。[Add New User]ボタンを押す

4.LinuxサーバとPCを再起動
※Linuxのsmbdとnmbdの再起動でも利用できたかも
※LinuxのユーザとSambaのユーザ関係は独立しているかもしれない。

swatを使わないなら以下が参考になるかも
http://www.psg.jp/samba_server.html

このページのトップヘ