3~4年ほど前からインターネットプロバイダのIP電話(050で始まる電話)を利用しているのだが、今年の2月に入ってから無言電話が数時間おきにかかってくるようになり、ナンバーディスプレイは非表示、かつ電話をとるといっさい反応なしで数十秒後に切れるという現象が発生し始めた。雰囲気的には不特定のIPアドレスに対して5060/udpをスキャンしているような感じを受けた。実際にIP電話を設置している場合それに反応してしまい電話のベルがなると。
インターネットで調べたところ、現象はだいたいこんな感じ。
どこから接続に来るのかソースIPアドレスを調べたところ、66.232.119.***からきていた。whoisで調べるとフロリダのようだ。
とりあえずこのIPアドレス帯からのアクセスはルータで遮断。他にも5060/udpにアクセスにくる海外のIPアドレスがあったのでそれらも遮断。これにより無言電話はおさまった。
しかしこれだと根本解決にはなっておらず、他のIPアドレスレンジから接続をこころみられるとまた無言電話が発生する。
根本解決は自宅に設置している機器で電話ユーザー名の認証機能を有効にすることである。ヤマハの機器では対応策が公開されているのだが、自宅で使用しているNTT製のVoIPアダプタをWebで調べた感じ対策が見つからない。
仕方ないので、NTT東日本にメールで問い合わせ。
すると、2日目には回答が戻ってくるというクイックレスポンスだったのだが….
当部署では情報がありませんとのことで、VoIPアダプタの取り扱いに関するお問い合わせはこちらですと電話番号が書かれていた。同じNTTなんだからメールを転送してほしかったなと思いつつ、状況説明にWebのリンクとかはるのでメールで伝えたいなと思いつつ、電話した。
まぁ結論としてはNTTのVoIPアダプタでは対応ファームは公開されていないし、今のところ対応される予定もないらしい。
ルータ一体型の機器も対応していないそうで、NTT製品はどれも対応していないと回答であった…
無言電話がかかってくるという問い合わせは来ていないか質問したところ、ほとんどそういう問い合わせはないらしい…
根本解決はVoIPアダプタでの対応なのでファームアップしてほしいと要望はつたえておいた。しかしそういう要望がほとんどないようなので対応されないだろうなぁ….
もしも同様の現象で困っている人が多数ここに書かれている番号に要望を伝えれば対応してくれるかも。
ロードされているモジュールの表示
lsmod
(/proc/modulesを参照している)
モジュールの情報を表示する
modinfo [オプション] モジュール名
ローダブルモジュールのロード
insmod [オプション] モジュール名
オプション: -v: 詳細表示
モジュールのアンロード
rmmod [オプション] モジュール名
オプション: -a: 未使用のモジュールをすべてアンロード
-v: 詳細表示
モジュールのロード、アンロード(依存関係も解決してくれる)
modprobe [オプション] モジュール名
オプション: -a: すべてのモジュールをロード
-r: モジュールをアンロード
-l: 指定したパターンにマッチするロード可能なモジュール一覧を表示
-t: 特定機能のモジュールのみ
※ モジュールの依存関係はmodules.depに記載されている
モジュールロード時のオプション指定
/etc/modules.conf (2.4系)
/etc/modprobe.conf (2.6系)
記入方法: alias エイリアス名 モジュール名
options モジュール名 オプション
install モジュール名 コマンド
remove コマンド
例. ロードされているモジュール
[root@vmcent5 ~]# lsmod
Module Size Used by
ipt_MASQUERADE 7617 1
iptable_nat 11205 1
ip_nat 20973 2 ipt_MASQUERADE,iptable_nat
xt_state 6209 1
ip_conntrack 53025 4 ipt_MASQUERADE,iptable_nat,ip_nat,xt_state
nfnetlink 10713 2 ip_nat,ip_conntrack
ipt_REJECT 9537 2
xt_tcpudp 7105 4
iptable_filter 7105 1
ip_tables 17029 2 iptable_nat,iptable_filter
x_tables 17349 6 ipt_MASQUERADE,iptable_nat,xt_state,ipt_REJECT,xt_tcpudp,ip_tables
bridge 53341 0
autofs4 24517 2
hidp 23105 2
l2cap 29505 5 hidp
bluetooth 53797 2 hidp,l2cap
dm_multipath 22089 0
video 21193 0
sbs 18533 0
backlight 10049 1 video
i2c_ec 9025 1 sbs
button 10705 0
battery 13637 0
asus_acpi 19289 0
ac 9157 0
ipv6 258273 24
xfrm_nalgo 13765 1 ipv6
crypto_api 11969 1 xfrm_nalgo
lp 15849 0
snd_ens1371 28513 1
gameport 18633 1 snd_ens1371
snd_rawmidi 26561 1 snd_ens1371
snd_ac97_codec 93025 1 snd_ens1371
ac97_bus 6337 1 snd_ac97_codec
snd_seq_dummy 7877 0
snd_seq_oss 32577 0
snd_seq_midi_event 11073 1 snd_seq_oss
snd_seq 49585 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
sg 36189 0
snd_seq_device 11725 4 snd_rawmidi,snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss 42945 0
snd_mixer_oss 19009 1 snd_pcm_oss
snd_pcm 72005 3 snd_ens1371,snd_ac97_codec,snd_pcm_oss
pcnet32 35141 0
floppy 57125 0
ide_cd 40033 0
snd_timer 24517 2 snd_seq,snd_pcm
snd 52421 12 snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
mii 9409 1 pcnet32
parport_pc 29157 1
soundcore 11553 1 snd
parport 37513 2 lp,parport_pc
cdrom 36705 1 ide_cd
snd_page_alloc 14281 1 snd_pcm
pcspkr 7105 0
i2c_piix4 12237 0
serio_raw 10693 0
i2c_core 23745 2 i2c_ec,i2c_piix4
dm_snapshot 21477 0
dm_zero 6209 0
dm_mirror 29124 0
dm_mod 61405 9 dm_multipath,dm_snapshot,dm_zero,dm_mirror
ata_piix 22341 0
libata 143997 1 ata_piix
mptspi 23625 2
mptscsih 36801 1 mptspi
mptbase 74981 2 mptspi,mptscsih
scsi_transport_spi 26305 1 mptspi
sd_mod 24897 3
scsi_mod 134605 6 sg,libata,mptspi,mptscsih,scsi_transport_spi,sd_mod
ext3 123593 2
jbd 56553 1 ext3
uhci_hcd 25421 0
ohci_hcd 23261 0
ehci_hcd 33357 0
例. ohci_hcdの情報を表示
[root@vmcent5 ~]# modinfo ohci_hcd
filename: /lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/host/ohci-hcd.ko
license: GPL
description: 2005 April 22 USB 1.1 ‘Open’ Host Controller (OHCI) Driver
author: Roman Weissgaerber, David Brownell
srcversion: E53437064626400CD08203F
alias: pci:v*d*sv*sd*bc0Csc03i10*
depends:
vermagic: 2.6.18-92.1.6.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
parm: distrust_firmware:true to distrust firmware power/overcurrent setup (bool)
parm: no_handshake:true (not default) disables BIOS handshake (bool)
module_sig: 883f35048628b1778c1e0dbcde189931128b6309f705cf65f9c905a29c3d0de9d3ae9d029eef2da409f4514a69d72dcd2d40e54efde59fc17d2294f498
例. ehci_hcdのアンロード
[root@vmcent5 ~]# rmmod -v ehci_hcd
rmmod ehci_hcd, wait=no
例. usb関連でロード可能なモジュール一覧
[root@vmcent5 proc]# modprobe -lt usb
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/acecad.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/aiptek.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/airprime.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/appledisplay.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/appletouch.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/ark3116.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/asix.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/ati_remote.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/ati_remote2.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/auerswald.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/belkin_sa.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/catc.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/class/cdc-acm.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/cdc_ether.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/cdc_subset.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/cp2101.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/atm/cxacru.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/cyberjack.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/cypress_m8.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/digi_acceleport.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/dm9601.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/host/ehci-hcd.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/emi26.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/emi62.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/empeg.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/ftdi_sio.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/funsoft.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/garmin_gps.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/gl620a.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/hp4x.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/idmouse.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/io_edgeport.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/io_ti.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/ipaq.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/ipw.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/ir-usb.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/host/isp116x-hcd.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/kaweth.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/kbtab.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/keyspan.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/keyspan_pda.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/keyspan_remote.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/kl5kusb105.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/kobil_sct.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/ldusb.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/legousbtower.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/mct_u232.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/image/mdc800.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/image/microtek.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/navman.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/net1080.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/host/ohci-hcd.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/omninet.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/option.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/pegasus.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/phidgetkit.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/phidgetservo.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/pl2303.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/plusb.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/powermate.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/rio500.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/rndis_host.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/rtl8150.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/safe_serial.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/sierra.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/sisusbvga/sisusbvga.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/host/sl811-hcd.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/host/sl811_cs.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/sound/usb/snd-usb-audio.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/sound/usb/snd-usb-lib.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/sound/usb/usx2y/snd-usb-usx2y.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/atm/speedtch.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/ti_usb_3410_5052.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/atm/ueagle-atm.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/host/uhci-hcd.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/storage/usb-storage.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/atm/usbatm.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/usblcd.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/usbled.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/class/usblp.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/usbnet.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/usbserial.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/usbtest.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/usbtouchscreen.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/misc/uss720.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/visor.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/wacom.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/serial/whiteheat.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/input/xpad.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/atm/xusbatm.ko
/lib/modules/2.6.18-92.1.6.el5/kernel/drivers/usb/net/zaurus.ko
例. /etc/modprobe.conf
[root@vmcent5 proc]# more /etc/modprobe.conf
alias eth0 pcnet32
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 ata_piix
alias snd-card-0 snd-ens1371
options snd-card-0 index=0
options snd-ens1371 index=0
remove snd-ens1371 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/m
odprobe -r –ignore-remove snd-ens1371
# Added by VMware Tools
install pcnet32 /sbin/modprobe -q –ignore-install vmxnet;/sbin/modprobe -q –ig
nore-install pcnet32 $CMDLINE_OPTS;/bin/true
alias char-major-14 es1371
alias eth1 3c501
シェル単位で使用できるCPUやメモリ、作成ファイルサイズなどの制限を設定するコマンドがulimit。
ulimit [オプション]
-c: 作成されるコアファイル (core) の最大サイズ
例.
[root@vmcent5 ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 4096
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
# find / -perm -u+s -exec ls -la ‘{}’ ‘;’
例. vmware centOS5 デフォルト (運用時はここから不要なSUIDを削っていく必要がある)
-rwsr-xr-x 1 root root 31244 3月 14 2007 /bin/ping6
-rwsr-xr-x 1 root root 24120 5月 24 2008 /bin/su
-rwsr-xr-x 1 root root 35864 3月 14 2007 /bin/ping
-rwsr-xr-x 1 root root 38840 5月 24 2008 /bin/umount
-rwsr-xr-x 1 root root 57908 5月 24 2008 /bin/mount
-rwsr-xr-x 1 root root 13108 11月 29 2007 /usr/bin/rlogin
-rws–x–x 1 root root 19128 5月 24 2008 /usr/bin/chsh
—s–x–x 2 root root 160280 5月 24 2008 /usr/bin/sudoedit
—s–x–x 2 root root 160280 5月 24 2008 /usr/bin/sudo
-rwsr-xr-x 1 root root 43976 1月 6 2007 /usr/bin/at
-rwsr-xr-x 1 root root 22984 1月 6 2007 /usr/bin/passwd
-rwsr-xr-x 1 root root 24588 5月 24 2008 /usr/bin/newgrp
-rws–x–x 1 root root 17900 5月 24 2008 /usr/bin/chfn
-rws–x–x 1 root root 1812708 6月 21 2008 /usr/bin/Xorg
-rwsr-sr-x 1 root root 315416 11月 10 2007 /usr/bin/crontab
-rwsr-xr-x 1 root root 50296 5月 24 2008 /usr/bin/gpasswd
-rwsr-xr-x 1 root root 18544 11月 29 2007 /usr/bin/rcp
-rwsr-xr-x 1 root root 46972 5月 24 2008 /usr/bin/chage
-rwsr-xr-x 1 root root 8908 11月 29 2007 /usr/bin/rsh
-rwsr-xr-x 1 root root 64908 5月 24 2008 /usr/libexec/libvirt_proxy
-rwsr-xr-x 1 root root 176328 5月 24 2008 /usr/libexec/openssh/ssh-keysign
-rwsr-xr-x 1 root root 147447 5月 24 2008 /usr/kerberos/bin/ksu
-r-sr-xr-x 1 root root 20444 3月 3 2008 /usr/lib/vmware-tools/sbin32/vmware-hgfsmounter
-rwsr-xr-x 1 root root 6240 1月 6 2007 /usr/sbin/ccreds_validate
-rws–x–x 1 root root 35036 5月 24 2008 /usr/sbin/userhelper
-rwsr-xr-x 1 root root 6820 6月 14 2008 /usr/sbin/usernetctl
-r-s–x— 1 root apache 24711 1月 21 2008 /usr/sbin/suexec
-rwsr-xr-x 1 root root 6728 5月 24 2008 /usr/sbin/userisdnctl
-rwsr-xr-x 1 root root 19184 5月 24 2008 /sbin/unix_chkpwd
-rwsr-xr-x 1 root root 12248 5月 24 2008 /sbin/pam_timestamp_check
-rwsr-xr-x 1 root root 70484 7月 31 14:49 /sbin/mount.nfs
-rwsr-xr-x 1 root root 70488 7月 31 14:49 /sbin/umount.nfs4
-rwsr-xr-x 1 root root 70488 7月 31 14:49 /sbin/mount.nfs4
-rwsr-xr-x 1 root root 70488 7月 31 14:49 /sbin/umount.nfs
linuxシステムにおいては、通常はファイルのアクセス権限は、本人、グループ、その他で分類される。
しかし、その他ではあるが特定のユーザにだけ書き込みを認めたい場合などもっと柔軟な設定をできるのがACL。
ext2,ext3,ReiserFSでは/etc/fstabで acl を書き加える必要がある。
setfacl オプション ファイル名
オプション:
-m ACLエントリ エントリを設定する
-x ACLエントリ エントリを削除する
例. ユーザ名に対してrw権限を付与
setfacl -m u:ユーザ名:rw ファイル名
設定の確認
getfacl ファイル名
ファイルの拡張属性を変更するコマンド。たとえばrmコマンドを実行してもファイルが削除されないようにすることが可能。
chattr [オプション] 操作+属性 ファイル名
オプション:
-R: 指定ディレクトリ以下を再帰的に変更
操作:
+: 属性追加
-: 属性削除
=: 属性指定
属性:
i: 変更不可(rootのみ設定可能)
d: dumpコマンドのバックアップ対象から除外
例.
[root@vmcent5 ]# ls -l a.txt
-rw-r–r– 1 root root 35 12月 29 00:28 a.txt
[root@vmcent5 ]# lsattr a.txt
————- a.txt
(何も拡張属性がセットされていない)
[root@vmcent5 ]# chattr +i a.txt
[root@vmcent5 ]# lsattr a.txt
—-i——– a.txt
(変更不可のiフラグが立っている)
[root@vmcent5 ]# rm a.txt
rm: remove write-protected 通常ファイル `a.txt’? y
rm: cannot remove `a.txt’: 許可されていない操作です
※rootでも削除できない
誰でも書き込みできるが削除は所有者しかできないように設定するために存在するのがスティッキービット。
/tmp で利用。
[root@vmcent5 tmp]# ls -ld /tmp
drwxrwxrwt 19 root root 4096 12月 29 18:57 /tmp
最後が「t」になっている。
設定するときは chomod o+t /tmp もしくは chmod 1777 /tmp
No commentsユーザやグループ単位でディスクの使用上限を設定するときに使用するのがquota。
1. /etc/fstab で該当するパーティションのマウントオプションにusrquotaを追加
例. /dev/hda3 /home ext2 defaults,usrquota 1 2
2. マウントオプションの変更を有効にするためいったんumountし再度mount
例. #umount /home
#mount /home
3. クォータ情報を保存するファイルの作成
#cd /home
#touch aquota.user
#chmod 600 aquota.user
4. クォータ情報初期化(使用量をチェックしaquota.userに記録)
#quotacheck /home
5. クォータの有効化
#quotaon /home
6. 各ユーザごとの上限を設定
#edquota ユーザ名
ここでviが起動する。表示されるのは次の項目。ここで上限値を記入。
Filesystem blocks soft hard inodes soft hard
※すでに設定しているユーザの値を流用したい場合は edquota -p 元ユーザ ユーザ名 でよい。
blocks: 使用済みブロック数
soft: ソフトリミット値 (値を設定する) 。 上限を超えても書き込み可能だが、一定期間(grace)を超えると書き込みできなくなる。
hard: ハードリミット値(値を設定する)。 この値に達すると即時書き込み不可能となる。
※soft、hardともに2回出てくるが、左側はBlock limits、右側はFile limits。
7. クォータの設定状況を確認
#repquota /home
(report quotaの略
-a: /etc/fstabの情報を見てクォータ設定されているすべてのファイルシステムの情報を表示
その2. quota -uv ユーザ名
-v: 詳細情報の表示
sedは Stream Editor の略。テキストファイルを編集する機能をもつ。
sed [オプション] コマンド [ファイル]
sed [オプション] -e コマンド1 [-e コマンド2 ...] [ファイル]
sed [オプション] -f スクリプト [ファイル]
コマンド:
d: マッチした行を削除する
s: 正規表現に基づき置換する。gを使うとすべてのマッチ箇所を置換する。
y: 文字を変換する
オプション:
-e: 次の引数はコマンドと認識する
-f: 次の引数はスクリプトファイルと認識する
例. a.txtの1~10行目を削除した内容をb.txtに保存する
sed ‘1,10d’ a.txt > b.txt
例. a.txtの文字列「p」を「P」に置換した内容をb.txtに保存する
sed s/p/P/g a.txt > b.txt
例. a.txtの1~10行目に関して、文字列「p」を「P」に置換した内容をb.txtに保存する
sed ‘1,10s/p/P/g’ a.txt > b.txt
例. a.txtの文字列「p」を「P」に置き換えてb.txtに保存する。
sed y/p/P/ a.txt > b.txt
※置き換える前後で文字列の長さが一致している必要がある。
ファイル中に検索文字列が存在するかどうかをチェックするコマンド。
grep [オプション] 検索パターン [ファイル名]
例. test.txt中に存在する「test」という文字列(大文字小文字どちらも)を検索する
-i: 大文字小文字を区別せず検索
grep -i test test.txt
例. named.confから$ではじまらない行を抽出
-v: パターンがマッチしない行を表示
grep -v ‘^#’ /etc/named.conf