Ubuntu server : AppArmor
root@arizona:~# cat /etc/lsb-release | grep -i desc
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
デフォルトで AppArmor が動いているみたい。
http://www.ubuntu.com/products/whatisubuntu/serveredition/features/apparmor
AppArmor とは ?
http://ja.opensuse.org/AppArmor
named.conf の directory を /var/named ( ubuntu の bind パッケージだと /var/cache/bind ) に変えたら、
下記のエラーがでて起動しなかったので、なんだろうと思ったら、AppArmor が原因だったみたい。
May 22 15:40:41 arizona kernel: [ 8077.028917] type=1503 audit(1274510441.827:20): operation="open" pid=5520 parent=5517 profile="/usr/sbin/named" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/etc/named.conf"
対処としては2つ。
1. AppArmor を止める
root@arizona:~# /etc/init.d/apparmor stop
* Unloading AppArmor profiles [ OK ]
AppArmor が起動しないようにするには:
root@arizona:~# sysv-rc-conf apparomor off
root@arizona:~#
2. AppArmor の ルールを変更する
アプリごとのルールは /etc/apparmor.d/ にある。
root@arizona:/etc/apparmor.d# ls
abstractions libvirt usr.lib.libvirt.virt-aa-helper
cache sbin.dhclient3 usr.sbin.cupsd
disable tunables usr.sbin.libvirtd
force-complain usr.bin.evince usr.sbin.named
gdm-guest-session usr.bin.firefox usr.sbin.tcpdump
下記追加。
root@arizona:/etc/apparmor.d# egrep "/var/named" usr.sbin.named
/var/named/** rw,
/var/named/ rw,
root@arizona:/etc/apparmor.d# /etc/init.d/apparmor restart
Ubuntu server : tasksel コマンド
root@arizona:~# cat /etc/lsb-release | grep -i desc
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
tasksel でパッケージ( LAMP , KVM , メールサーバ , デスクトップ環境 etc ) をまとめてインストールできる。
root@arizona:~# tasksel --help
Unknown option: help
使い方:
tasksel install <タスク>
tasksel remove <タスク>
tasksel [オプション]
-t, --test テストモード: 実際には何も行わない
--new-install 自動的にいくつかのタスクをインストールする
--list-tasks 表示可能なタスクを一覧で表示して終了する
--task-packages タスクで利用可能なパッケージを一覧表示する
--task-desc タスクの説明を返す
root@arizona:~# tasksel --list-tasks ( tasksel --list でも OK )
i server Basic Ubuntu server
u eucalyptus-walrus Cloud computing: Walrus storage service
u eucalyptus-simple-cluster Cloud computing: all-in-one cluster
u eucalyptus-cluster Cloud computing: cluster controller
u eucalyptus-node Cloud computing: node controller
u eucalyptus-storage Cloud computing: storage controller
u eucalyptus-cloud Cloud computing: top-level cloud controller
u dns-server DNS server
u edubuntu-server Edubuntu server
u lamp-server LAMP server
u mail-server Mail server
i openssh-server OpenSSH server
u postgresql-server PostgreSQL database
i print-server Print server
u samba-server Samba file server
u tomcat-server Tomcat Java server
u uec Ubuntu Enterprise Cloud (instance)
u virt-host Virtual Machine host
u ubuntustudio-graphics 2D/3D creation and editing suite
u ubuntustudio-audio Audio creation and editing suite
u edubuntu-desktop-kde Edubuntu KDE desktop
u edubuntu-desktop-gnome Edubuntu desktop
u kubuntu-desktop Kubuntu desktop
u kubuntu-netbook Kubuntu netbook
u ubuntustudio-audio-plugins LADSPA and DSSI audio plugins
u ubuntustudio-font-meta Large selection of font packages
u mythbuntu-desktop Mythbuntu additional roles
u mythbuntu-frontend Mythbuntu frontend
u mythbuntu-backend-master Mythbuntu master backend
u mythbuntu-backend-slave Mythbuntu slave backend
u ubuntu-netbook Ubuntu Netbook
i ubuntu-desktop Ubuntu desktop
u ubuntustudio-video Video creation and editing suite
u xubuntu-desktop Xubuntu desktop
u edubuntu-dvd-live Edubuntu live DVD
u kubuntu-netbook-live Kubuntu Netbook Remix live CD
u kubuntu-live Kubuntu live CD
u kubuntu-dvd-live Kubuntu live DVD
u netbook-live Ubuntu Netbook live environment
u ubuntu-live Ubuntu live CD
u ubuntu-dvd-live Ubuntu live DVD
u xubuntu-live Xubuntu live CD
u manual Manual package selection
仮想化環境のインストール
root@arizona:~# tasksel install virt-host
でも、GUI ( virt-manager ) とかはいってなかったりする。
当たり前だけど、Fedora で yum groupinstall でKVMをインストールしたときと入るパッケージは異なる。
GUIを使う場合、virt-manager ,virt-viewer , python-virtinst が必要
root@arizona:~# apt-cache search virt-mana
virt-manager - 仮想マシン管理用デスクトップアプリケーション
root@arizona:~# apt-cache search virt-viewer
mozilla-virt-viewer - A virt-viewer widget for GTK+ (mozilla plugin)
virt-viewer - Displaying the graphical console of a virtual machine
root@arizona:~# apt-cache search python-virtinst
python-virtinst - Programs to create and clone virtual machines (transitional package)
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
tasksel でパッケージ( LAMP , KVM , メールサーバ , デスクトップ環境 etc ) をまとめてインストールできる。
root@arizona:~# tasksel --help
Unknown option: help
使い方:
tasksel install <タスク>
tasksel remove <タスク>
tasksel [オプション]
-t, --test テストモード: 実際には何も行わない
--new-install 自動的にいくつかのタスクをインストールする
--list-tasks 表示可能なタスクを一覧で表示して終了する
--task-packages タスクで利用可能なパッケージを一覧表示する
--task-desc タスクの説明を返す
root@arizona:~# tasksel --list-tasks ( tasksel --list でも OK )
i server Basic Ubuntu server
u eucalyptus-walrus Cloud computing: Walrus storage service
u eucalyptus-simple-cluster Cloud computing: all-in-one cluster
u eucalyptus-cluster Cloud computing: cluster controller
u eucalyptus-node Cloud computing: node controller
u eucalyptus-storage Cloud computing: storage controller
u eucalyptus-cloud Cloud computing: top-level cloud controller
u dns-server DNS server
u edubuntu-server Edubuntu server
u lamp-server LAMP server
u mail-server Mail server
i openssh-server OpenSSH server
u postgresql-server PostgreSQL database
i print-server Print server
u samba-server Samba file server
u tomcat-server Tomcat Java server
u uec Ubuntu Enterprise Cloud (instance)
u virt-host Virtual Machine host
u ubuntustudio-graphics 2D/3D creation and editing suite
u ubuntustudio-audio Audio creation and editing suite
u edubuntu-desktop-kde Edubuntu KDE desktop
u edubuntu-desktop-gnome Edubuntu desktop
u kubuntu-desktop Kubuntu desktop
u kubuntu-netbook Kubuntu netbook
u ubuntustudio-audio-plugins LADSPA and DSSI audio plugins
u ubuntustudio-font-meta Large selection of font packages
u mythbuntu-desktop Mythbuntu additional roles
u mythbuntu-frontend Mythbuntu frontend
u mythbuntu-backend-master Mythbuntu master backend
u mythbuntu-backend-slave Mythbuntu slave backend
u ubuntu-netbook Ubuntu Netbook
i ubuntu-desktop Ubuntu desktop
u ubuntustudio-video Video creation and editing suite
u xubuntu-desktop Xubuntu desktop
u edubuntu-dvd-live Edubuntu live DVD
u kubuntu-netbook-live Kubuntu Netbook Remix live CD
u kubuntu-live Kubuntu live CD
u kubuntu-dvd-live Kubuntu live DVD
u netbook-live Ubuntu Netbook live environment
u ubuntu-live Ubuntu live CD
u ubuntu-dvd-live Ubuntu live DVD
u xubuntu-live Xubuntu live CD
u manual Manual package selection
仮想化環境のインストール
root@arizona:~# tasksel install virt-host
でも、GUI ( virt-manager ) とかはいってなかったりする。
当たり前だけど、Fedora で yum groupinstall でKVMをインストールしたときと入るパッケージは異なる。
GUIを使う場合、virt-manager ,virt-viewer , python-virtinst が必要
root@arizona:~# apt-cache search virt-mana
virt-manager - 仮想マシン管理用デスクトップアプリケーション
root@arizona:~# apt-cache search virt-viewer
mozilla-virt-viewer - A virt-viewer widget for GTK+ (mozilla plugin)
virt-viewer - Displaying the graphical console of a virtual machine
root@arizona:~# apt-cache search python-virtinst
python-virtinst - Programs to create and clone virtual machines (transitional package)
Ubuntu : sysv-rc-conf ( Red Hat 系 の chkconfig にあたるもの )
root@arizona:~# cat /etc/lsb-release | grep -i description
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
sysv-rc-conf が Red Hat 系の chkconfig に該当する
sysv-rc-conf - SysV init runlevel configuration tool for the terminal
root@arizona:~# apt-get install sysv-rc-conf
root@arizona:~# sysv-rc-conf --list
acpi-support 1:off 2:on 3:on 4:on 5:on
acpid
alsa-mixer-s
anacron
apparmor S:on
apport
atd
root@arizona:~# sysv-rc-conf bluetooth off
root@arizona:~# sysv-rc-conf --list | grep blue
bluetooth 0:off 1:off 2:off 3:off 4:off 5:off 6:off
- chkconfig のパッケージもある
root@arizona:~# apt-cache search chkconfig
エラーが。。
root@arizona:~# chkconfig cups off
insserv: warning: script 'K20acpi-support' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
insserv: exiting now without changing boot order!
/sbin/insserv failed, exit code 1
exit code 1 で終了してるので、cups は off になってない
root@arizona:~# chkconfig --list | grep cups
cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
root@arizona:~# sysv-rc-conf --list | grep cups
cups 1:off 2:on 3:on 4:on 5:on
ググると、Ubuntu で chkconfig で off にできーんってでてくるので、chkconfig ではなく、sysv-rc-conf を使ったほうがよさげ。
root@arizona:~# sysv-rc-conf cups off
root@arizona:~# sysv-rc-conf --list | grep cups
cups 1:off 2:off 3:off 4:off 5:off
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
sysv-rc-conf が Red Hat 系の chkconfig に該当する
sysv-rc-conf - SysV init runlevel configuration tool for the terminal
root@arizona:~# apt-get install sysv-rc-conf
root@arizona:~# sysv-rc-conf --list
acpi-support 1:off 2:on 3:on 4:on 5:on
acpid
alsa-mixer-s
anacron
apparmor S:on
apport
atd
root@arizona:~# sysv-rc-conf bluetooth off
root@arizona:~# sysv-rc-conf --list | grep blue
bluetooth 0:off 1:off 2:off 3:off 4:off 5:off 6:off
- chkconfig のパッケージもある
root@arizona:~# apt-cache search chkconfig
エラーが。。
root@arizona:~# chkconfig cups off
insserv: warning: script 'K20acpi-support' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
insserv: exiting now without changing boot order!
/sbin/insserv failed, exit code 1
exit code 1 で終了してるので、cups は off になってない
root@arizona:~# chkconfig --list | grep cups
cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
root@arizona:~# sysv-rc-conf --list | grep cups
cups 1:off 2:on 3:on 4:on 5:on
ググると、Ubuntu で chkconfig で off にできーんってでてくるので、chkconfig ではなく、sysv-rc-conf を使ったほうがよさげ。
root@arizona:~# sysv-rc-conf cups off
root@arizona:~# sysv-rc-conf --list | grep cups
cups 1:off 2:off 3:off 4:off 5:off
install and fly Safari 4 w/ WINE on Ubuntu
How to install n' fly Safari 4 w/ WINE on Ubuntu
2. download wintricks
3. install flash , font
4. download n' install Safari 4
Installation Options は一番上だけチェック
5. fly Safari via WINE
ん、文字化けしとる。
うーん、ダメだなー。
ダメだー。また次回。
root@arizona:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
root@arizona:~#
1. install win via apt-get
root@arizona:~# apt-get install wine
2. download wintricks
root@arizona:~# wget http://www.kegel.com/wine/winetricks
3. install flash , font
root@arizona:~# chmod u+x winetricks
root@arizona:~# ./winetricks corefonts flash
4. download n' install Safari 4
Windows版 Safari 4 をダウンロード
root@arizona:~# wine SafariSetup.exe
Installation Options は一番上だけチェック
5. fly Safari via WINE
root@arizona:~# wine /root/.wine/dosdevices/c\:/Program\ Files/Safari/Safari.exe
ん、文字化けしとる。
80 apt-get install ttf-sazanami-gothic
87 apt-get install ttf-sazanami-mincho
root@arizona:~# ln -s /usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf /root/.wine/dosdevices/c\:/windows/Fonts/
root@arizona:~# ln -s /usr/share/fonts/truetype/sazanami/sazanami-mincho.ttf /root/.wine/dosdevices/c\:/windows/Fonts/
うーん、ダメだなー。
これはどう???
root@arizona:~# ln -s /usr/share/fonts/truetype/ttf-japanese-gothic.ttf /root/.wine/dosdevices/c\:/windows/Fonts/
root@arizona:~# ln -s /usr/share/fonts/truetype/ttf-japanese-mincho.ttf /root/.wine/dosdevices/c\:/windows/Fonts/
ダメだー。また次回。
vsftpd : warning メッセージ対処
# vsftpd -v
vsftpd: version 2.0.5
こんなメッセージがずっとシスログにでていた。
vsftpd[21198]: warning: can't get client address: Connection reset by peer
vsftpd[21199]: warning: can't get client address: Connection reset by peer
vsftpd[21201]: warning: can't get client address: Connection reset by peer
tcp_wrappers オプションを YES から NO にかえたらログがでなくなった。
# egrep -i "^tcp_wrap" /etc/vsftpd/vsftpd.conf
tcp_wrappers=NO
Ubuntu 10.04 : 音(alsa)の設定
Ubuntu 10.04 を Dell inspiron 1526 にインストールしたときの音が出るようになった設定
root@alaska:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
root@alaska:~#
下記を追記
root@alaska:~# tail -1 /etc/modprobe.d/alsa-base.conf
options snd-hda-intel model=dell-3stack
システム -> 設定 -> サウウンド の出力
Internal Audio Analog Stereo , コネクタ Analog Speakers を選択
root@alaska:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
root@alaska:~#
下記を追記
root@alaska:~# tail -1 /etc/modprobe.d/alsa-base.conf
options snd-hda-intel model=dell-3stack
システム -> 設定 -> サウウンド の出力
Internal Audio Analog Stereo , コネクタ Analog Speakers を選択
Ubuntu: install Windows Media Player 10 via WINE
root@arizona:~# apt-get install wine
root@arizona:~# wget http://www.kegel.com/wine/winetricks
root@arizona:~# chmod 777 winetricks
root@arizona:~# cp winetricks /usr/bin/
エラーが。
root@arizona:~# winetricks
(zenity:3805): Gtk-WARNING **: cannot open display:
root@arizona:~# export DISPLAY=:0.0
root@arizona:~# xhost +
access control disabled, clients can connect from any host
root@arizona:~# winetricks
GUIが起動
Windows Media Player 10 をインストール
うーん微妙。。。
root@arizona:~# wget http://www.kegel.com/wine/winetricks
root@arizona:~# chmod 777 winetricks
root@arizona:~# cp winetricks /usr/bin/
エラーが。
root@arizona:~# winetricks
(zenity:3805): Gtk-WARNING **: cannot open display:
root@arizona:~# export DISPLAY=:0.0
root@arizona:~# xhost +
access control disabled, clients can connect from any host
root@arizona:~# winetricks
GUIが起動
Windows Media Player 10 をインストール
うーん微妙。。。
Ubuntu server 9.10
GUI 設定、日本語入力 ( iBUS から SCIM へ変更 )
- GUI環境のインストール
# tasksel -> Ubuntu desktop をインストール
パッケージの設定
┌──────────────────────────┤ ソフトウェアの選択 ├──────────────────────────┐
│ 以下の定義済みソフトウェアコレクションからインストールするものを 1 つ以 │
│ 上選択できます。 │
│ │
│ インストールするソフトウェアの選択: │
│ │
│ [ ] Large selection of font packages ↑ │
│ [ ] Mythbuntu additional roles ▒ │
│ [ ] Mythbuntu frontend ▒ │
│ [ ] Mythbuntu master backend ▒ │
│ [ ] Mythbuntu slave backend ▮ │
│ [ ] Ubuntu MID edition ▒ │
│ [ ] Ubuntu Netbook Remix ▒ │
│ [*] Ubuntu desktop
- iBUS から SCIM へ
root@arizona:~# apt-get install scim scim-bridge-agent scim-bridge-client-gtk scim-anthy
システム -> システム管理 -> 言語サポート
キーボード入力に使うIMシステム を scim-bridge へ。
ログアウト ( or リブート )
Done!
Ubuntu 10.04 がリリースされてたんだ。。。
Fedora 11 から Ubuntu にしたばっかなのに、、うーん、インストールする前に
Ubuntu のページをチェックすればよかった。
- GUI環境のインストール
# tasksel -> Ubuntu desktop をインストール
パッケージの設定
┌──────────────────────────┤ ソフトウェアの選択 ├──────────────────────────┐
│ 以下の定義済みソフトウェアコレクションからインストールするものを 1 つ以 │
│ 上選択できます。 │
│ │
│ インストールするソフトウェアの選択: │
│ │
│ [ ] Large selection of font packages ↑ │
│ [ ] Mythbuntu additional roles ▒ │
│ [ ] Mythbuntu frontend ▒ │
│ [ ] Mythbuntu master backend ▒ │
│ [ ] Mythbuntu slave backend ▮ │
│ [ ] Ubuntu MID edition ▒ │
│ [ ] Ubuntu Netbook Remix ▒ │
│ [*] Ubuntu desktop
- iBUS から SCIM へ
root@arizona:~# apt-get install scim scim-bridge-agent scim-bridge-client-gtk scim-anthy
システム -> システム管理 -> 言語サポート
キーボード入力に使うIMシステム を scim-bridge へ。
ログアウト ( or リブート )
Done!
Ubuntu 10.04 がリリースされてたんだ。。。
Fedora 11 から Ubuntu にしたばっかなのに、、うーん、インストールする前に
Ubuntu のページをチェックすればよかった。
cryptsetup で暗号化ファイルシステムの作成
# cat /etc/redhat-release
アンマウント
キーファイルの作成
# dd if=/dev/urandom of=/root/encrypted_key bs=1 count=1024
登録したキーファイルでマウント
# mount -t ext3 /dev/mapper/encrypted /mnt/encrypted
CentOS release 5.4 (Final)
# uname -r
2.6.18-164.el5
# rpm -qa | grep cryptsetup
cryptsetup-luks-1.0.3-5.el5
/dev/sdb1 を暗号化用パーティションとする。
# fdisk -l
/dev/sdb1 1 100 102384 83 Linuxcryptsetup で、暗号化パーティションを設定する。
暗号化アルゴリズム aes
ハッシュアルゴリズム sha256
鍵長 256bit
# cryptsetup -y luksFormat --cipher aes-cbc-essiv:sha256 --key-size 256 /dev/sdb1
WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.
Are you sure? (Type uppercase yes): YES <- 大文字じゃないとダメ
Enter LUKS passphrase:
Verify passphrase:
Command successful.
#LUKS とは:
暗号化したパーティションを device mapper でマッピング。Linux Unified Key Setup, is a standard for hard disk encryption. It
standardizes a partition header, as well as the format of the bulk data.
LUKS can manage multiple passwords, that can be revoked effectively and
that are protected against dictionary attacks with PBKDF2.
デバイスマッパー経由で、ファイルにアクセスする。
# cryptsetup luksOpen /dev/sdb1 encrypted
Enter LUKS passphrase for /dev/sdb1:
key slot 0 unlocked.
Command successful.
# ls -l /dev/mapper/
合計 0
crw------- 1 root root 10, 63 5月 6 15:21 control
brw-rw---- 1 root disk 253, 0 5月 6 15:49 encrypted
# mkfs.ext3 /dev/mapper/encrypted
# mount -t ext3 /dev/mapper/encrypted /mnt/encrypted
# cd /mnt/encrypted/
# echo hello > hello.txt
アンマウント
# umount /mnt/encrypted
# cryptsetup luksClose encrypted
# ls /dev/mapper/*
/dev/mapper/control
cryptsecup を使用しないで、マウントしようとするとマウントできない ( データが見れない )
# mount -t ext3 /dev/sdb1 /mnt/encrypted
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
再接続
# cryptsetup luksOpen /dev/sdb1 encrypted
Enter LUKS passphrase for /dev/sdb1:
key slot 0 unlocked.
Command successful.
# mount /dev/mapper/encrypted /mnt/encrypted
# cat /mnt/encrypted/hello.txt
hello
# cryptsetup luksDump /dev/sdb1
LUKS header information for /dev/sdb1
Version: 1
Cipher name: aes
Cipher mode: cbc-essiv:sha256
Hash spec: sha1
Payload offset: 2056
MK bits: 256
MK digest: ce 2b 5f 63 5c 0e 84 15 5f ce 51 b4 1d 46 c1 6b 89 5b 6a cc
MK salt: 17 11 4a d0 b4 22 df b9 06 b3 8c d0 9f 22 cc 49
c8 9c b4 25 2e fc d5 b7 0b 3d 60 e2 90 01 3b 61
MK iterations: 10
UUID: 96a0a006-bef8-4880-9950-5ebfb238276e
Key Slot 0: ENABLED
Iterations: 328403
Salt: 8b f9 f5 05 d8 ae 86 af 28 09 a7 71 5a 8a 85 e6
28 48 96 c2 8a bf 66 a5 ba dc 4e 3c 8b f7 3a 66
Key material offset: 8
AF stripes: 4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
[ パスフレーズの入力なしでマウント ]
キーファイルの作成
# dd if=/dev/urandom of=/root/encrypted_key bs=1 count=1024
登録
# cryptsetup luksAddKey /dev/sdb1 /root/encrypted_key
Enter any LUKS passphrase:
Verify passphrase:
key slot 0 unlocked.
Command successful.
slot1に登録された
# cryptsetup luksDump /dev/sdb1
LUKS header information for /dev/sdb1
Version: 1
Cipher name: aes
Cipher mode: cbc-essiv:sha256
Hash spec: sha1
Payload offset: 2056
MK bits: 256
MK digest: ce 2b 5f 63 5c 0e 84 15 5f ce 51 b4 1d 46 c1 6b 89 5b 6a cc
MK salt: 17 11 4a d0 b4 22 df b9 06 b3 8c d0 9f 22 cc 49
c8 9c b4 25 2e fc d5 b7 0b 3d 60 e2 90 01 3b 61
MK iterations: 10
UUID: 96a0a006-bef8-4880-9950-5ebfb238276e
Key Slot 0: ENABLED
Iterations: 328403
Salt: 8b f9 f5 05 d8 ae 86 af 28 09 a7 71 5a 8a 85 e6
28 48 96 c2 8a bf 66 a5 ba dc 4e 3c 8b f7 3a 66
Key material offset: 8
AF stripes: 4000
Key Slot 1: ENABLED
Iterations: 335538
Salt: 4a f0 e5 cc d8 a9 db 37 de 1f 0d 10 13 54 a3 3e
d4 71 21 fb 57 a6 22 66 c0 1b 54 ad 3f b7 0a de
Key material offset: 264
AF stripes: 4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
登録したキーファイルでマウント
# cryptsetup luksOpen /dev/sdb1 encrypted --key-file /root/encrypted_key
key slot 1 unlocked.
Command successful.
# mount -t ext3 /dev/mapper/encrypted /mnt/encrypted
# cat /mnt/encrypted/hello.txt
hello
Linux: ACLs ( setfacl , getfacl )
http://www.itmedia.co.jp/enterprise/0403/06/epn01.html
setfacl - set file access control lists
getfacl - get file access control lists
[root@centos5-vm1 ~]# cat /etc/redhat-release
CentOS release 5.4 (Final)
kernel 2.6 から実装されたみたい。
[root@centos5-vm1 ~]# uname -r
2.6.18-164.el5
- 準備
/etc/fstab の options に acl を追加、再起動。
[root@centos5-vm1 ~]# head -1 /etc/fstab
LABEL=/ / ext3,acl defaults 1 1
acl パッケージをインストール
[root@centos5-vm1 ~]# yum install -y acl.i386
[root@centos5-vm1 ~]# rpm -ql acl
/usr/bin/chacl
/usr/bin/getfacl
/usr/bin/setfacl
テスト用の group , directory を作成
[root@centos5-vm1 ~]# groupadd test_group
[root@centos5-vm1 home]# usermod -g test_group test1
[root@centos5-vm1 home]# usermod -g test_group test2
[root@centos5-vm1 home]# usermod -g test_group test3
[root@centos5-vm1 ~]# egrep test /etc/passwd
test1:x:501:501::/home/test1:/bin/bash
test2:x:502:502::/home/test2:/bin/bash
test3:x:503:503::/home/test3:/bin/bash
[root@centos5-vm1 ~]# egrep test /etc/group
test1:x:501:
test2:x:502:
test3:x:503:
test_group:x:504:test2,test3,test1
[root@centos5-vm1 home]# mkdir test_group_dir
[root@centos5-vm1 home]# chown root.test_group test_group_dir
[root@centos5-vm1 home]# chmod g+rwx test_group_dir
- ACL の設定
[test1@centos5-vm1 test_group_dir]$ whoami
test1
[test1@centos5-vm1 test_group_dir]$ pwd
/home/test_group_dir
[test1@centos5-vm1 test_group_dir]$ echo "hello" > hello.txt
[test1@centos5-vm1 test_group_dir]$ ls -l
-rw-r--r-- 1 test1 test_group hello.txt
user: test2 に書き込み権限を与える。
-m = modify
[test1@centos5-vm1 test_group_dir]$ setfacl -m u:test2:rw hello.txt
[test1@centos5-vm1 test_group_dir]$ ls -l hello.txt
-rw-rw-r--+ 1 test1 test_group hello.txt
[test1@centos5-vm1 test_group_dir]$ getfacl hello.txt
# file: hello.txt
# owner: test1
# group: test_group
user::rw-
user:test2:rw-
group::r--
mask::rw-
other::r--
user: test2 は書き込みができる
[test2@centos5-vm1 test_group_dir]$ whoami
test2
[test2@centos5-vm1 test_group_dir]$ echo "hi" >> hello.txt
[test2@centos5-vm1 test_group_dir]$ cat hello.txt
hello
hi
user: test3 は書き込みができない
[test3@centos5-vm1 test_group_dir]$ whoami
test3
[test3@centos5-vm1 test_group_dir]$ echo "hi" >> hello.txt
bash: hello.txt: 許可がありません
test3 にも書き込み権限をあたえる。
[test1@centos5-vm1 test_group_dir]$ whoami
test1
[test1@centos5-vm1 test_group_dir]$ setfacl -m u:test3:rw hello.txt
[test1@centos5-vm1 test_group_dir]$ getfacl hello.txt
# file: hello.txt
# owner: test1
# group: test_group
user::rw-
user:test2:rw-
user:test3:rw-
group::r--
mask::rw-
other::r--
user: test3 のアクセス権限を消去
[test1@centos5-vm1 test_group_dir]$ setfacl -x u:test3 hello.txt
[test1@centos5-vm1 test_group_dir]$ getfacl hello.txt
# file: hello.txt
# owner: test1
# group: test_group
user::rw-
user:test2:rw-
group::r--
mask::rw-
other::r--
ファイル hello.txt から ACL の設定を全て消去
[test1@centos5-vm1 test_group_dir]$ setfacl -b hello.txt
[test1@centos5-vm1 test_group_dir]$ getfacl hello.txt
# file: hello.txt
# owner: test1
# group: test_group
user::rw-
group::r--
other::r--
ディレクトリにもACL設定が可能
[test1@centos5-vm1 test_group_dir]$ mkdir aaa
[test1@centos5-vm1 test_group_dir]$ ls -l
drwxr-xr-x 2 test1 test_group aaa
[test1@centos5-vm1 test_group_dir]$ setfacl -m u:test2:rwx aaa
[test1@centos5-vm1 test_group_dir]$ getfacl aaa
# file: aaa
# owner: test1
# group: test_group
user::rwx
user:test2:rwx
group::r-x
mask::rwx
other::r-x
[test1@centos5-vm1 test_group_dir]$ setfacl -m u:test3:- aaa
[test1@centos5-vm1 test_group_dir]$ getfacl aaa
# file: aaa
# owner: test1
# group: test_group
user::rwx
user:test2:rwx
user:test3:---
group::r-x
mask::rwx
other::r-x
[test2@centos5-vm1 test_group_dir]$ whoami
test2
[test2@centos5-vm1 test_group_dir]$ cd aaa/
[test2@centos5-vm1 aaa]$ pwd
/home/test_group_dir/aaa
[test3@centos5-vm1 test_group_dir]$ whoami
test3
[test3@centos5-vm1 test_group_dir]$ cd aaa/
-bash: cd: aaa/: 許可がありません
setfacl - set file access control lists
getfacl - get file access control lists
[root@centos5-vm1 ~]# cat /etc/redhat-release
CentOS release 5.4 (Final)
kernel 2.6 から実装されたみたい。
[root@centos5-vm1 ~]# uname -r
2.6.18-164.el5
- 準備
/etc/fstab の options に acl を追加、再起動。
[root@centos5-vm1 ~]# head -1 /etc/fstab
LABEL=/ / ext3,acl defaults 1 1
acl パッケージをインストール
[root@centos5-vm1 ~]# yum install -y acl.i386
[root@centos5-vm1 ~]# rpm -ql acl
/usr/bin/chacl
/usr/bin/getfacl
/usr/bin/setfacl
テスト用の group , directory を作成
[root@centos5-vm1 ~]# groupadd test_group
[root@centos5-vm1 home]# usermod -g test_group test1
[root@centos5-vm1 home]# usermod -g test_group test2
[root@centos5-vm1 home]# usermod -g test_group test3
[root@centos5-vm1 ~]# egrep test /etc/passwd
test1:x:501:501::/home/test1:/bin/bash
test2:x:502:502::/home/test2:/bin/bash
test3:x:503:503::/home/test3:/bin/bash
[root@centos5-vm1 ~]# egrep test /etc/group
test1:x:501:
test2:x:502:
test3:x:503:
test_group:x:504:test2,test3,test1
[root@centos5-vm1 home]# mkdir test_group_dir
[root@centos5-vm1 home]# chown root.test_group test_group_dir
[root@centos5-vm1 home]# chmod g+rwx test_group_dir
- ACL の設定
[test1@centos5-vm1 test_group_dir]$ whoami
test1
[test1@centos5-vm1 test_group_dir]$ pwd
/home/test_group_dir
[test1@centos5-vm1 test_group_dir]$ echo "hello" > hello.txt
[test1@centos5-vm1 test_group_dir]$ ls -l
-rw-r--r-- 1 test1 test_group hello.txt
user: test2 に書き込み権限を与える。
-m = modify
[test1@centos5-vm1 test_group_dir]$ setfacl -m u:test2:rw hello.txt
[test1@centos5-vm1 test_group_dir]$ ls -l hello.txt
-rw-rw-r--+ 1 test1 test_group hello.txt
[test1@centos5-vm1 test_group_dir]$ getfacl hello.txt
# file: hello.txt
# owner: test1
# group: test_group
user::rw-
user:test2:rw-
group::r--
mask::rw-
other::r--
user: test2 は書き込みができる
[test2@centos5-vm1 test_group_dir]$ whoami
test2
[test2@centos5-vm1 test_group_dir]$ echo "hi" >> hello.txt
[test2@centos5-vm1 test_group_dir]$ cat hello.txt
hello
hi
user: test3 は書き込みができない
[test3@centos5-vm1 test_group_dir]$ whoami
test3
[test3@centos5-vm1 test_group_dir]$ echo "hi" >> hello.txt
bash: hello.txt: 許可がありません
test3 にも書き込み権限をあたえる。
[test1@centos5-vm1 test_group_dir]$ whoami
test1
[test1@centos5-vm1 test_group_dir]$ setfacl -m u:test3:rw hello.txt
[test1@centos5-vm1 test_group_dir]$ getfacl hello.txt
# file: hello.txt
# owner: test1
# group: test_group
user::rw-
user:test2:rw-
user:test3:rw-
group::r--
mask::rw-
other::r--
user: test3 のアクセス権限を消去
[test1@centos5-vm1 test_group_dir]$ setfacl -x u:test3 hello.txt
[test1@centos5-vm1 test_group_dir]$ getfacl hello.txt
# file: hello.txt
# owner: test1
# group: test_group
user::rw-
user:test2:rw-
group::r--
mask::rw-
other::r--
ファイル hello.txt から ACL の設定を全て消去
[test1@centos5-vm1 test_group_dir]$ setfacl -b hello.txt
[test1@centos5-vm1 test_group_dir]$ getfacl hello.txt
# file: hello.txt
# owner: test1
# group: test_group
user::rw-
group::r--
other::r--
ディレクトリにもACL設定が可能
[test1@centos5-vm1 test_group_dir]$ mkdir aaa
[test1@centos5-vm1 test_group_dir]$ ls -l
drwxr-xr-x 2 test1 test_group aaa
[test1@centos5-vm1 test_group_dir]$ setfacl -m u:test2:rwx aaa
[test1@centos5-vm1 test_group_dir]$ getfacl aaa
# file: aaa
# owner: test1
# group: test_group
user::rwx
user:test2:rwx
group::r-x
mask::rwx
other::r-x
[test1@centos5-vm1 test_group_dir]$ setfacl -m u:test3:- aaa
[test1@centos5-vm1 test_group_dir]$ getfacl aaa
# file: aaa
# owner: test1
# group: test_group
user::rwx
user:test2:rwx
user:test3:---
group::r-x
mask::rwx
other::r-x
test2 はディレクトリ aaa にアクセスできる。
[test2@centos5-vm1 test_group_dir]$ whoami
test2
[test2@centos5-vm1 test_group_dir]$ cd aaa/
[test2@centos5-vm1 aaa]$ pwd
/home/test_group_dir/aaa
test3 はディレクトリ aaa にアクセスできない。
[test3@centos5-vm1 test_group_dir]$ whoami
test3
[test3@centos5-vm1 test_group_dir]$ cd aaa/
-bash: cd: aaa/: 許可がありません
Subscribe to:
Posts (Atom)