パーティションタイプにMBRとGPTがあり、
MBRは2TB以下×4まで、GPTだと2TB以上×128可能
GPTに対応したOSじゃないと(Vista~64bit)じゃないと使えない
さらにUEFIじゃないと起動できない。
UEFIはBIOSの後継。
自分用のメモです。内容が間違っていたり、作りかけで動作しないコードなどあるのでご注意ください。
パーティションタイプにMBRとGPTがあり、
MBRは2TB以下×4まで、GPTだと2TB以上×128可能
GPTに対応したOSじゃないと(Vista~64bit)じゃないと使えない
さらにUEFIじゃないと起動できない。
UEFIはBIOSの後継。
シンボリックについて
apacheのconfの場合、
a2dissite、a2ensite
などの専用スクリプトが用意されている。
通常は、
ln -s 実体 リンク
で、
ln -s /home/okamura/ruby/asagao/public /home/okamura/www/app1
のよう記述する。
実体もリンクも最後にスラッシュを付けない。
リンクはフォルダではないので、最初から存在してはダメ。
リンク削除
unlink /home/okamura/www/app1
curl -O “http://xxx.com/[0-20].pdf”
-O は表示ではなくファイル名そのまま。(ちなみにwgetで-Oは別名で保存)
-o は別名で保存する。
-L リダイレクトを追う。
-C – レジューム
レジューム保存
curl -o out.mp4 -L -C – http://
-c ダウンロードを続きから。
-t リトライ回数指定する。(0は無制限)
-O 別名で保存する。
–retry-connrefused 接続拒否無視
wget -c -t 0 –retry-connrefused xxx
sudo apt-get install defaut-jdk
java -version
今回は、1.8.0_121
sudo apt-get install tomcat7
sudo update-alternatives –list java
でJavaのパスを確認。
今回は、
/usr/lib/jvm/java-8-openjdk-i386/jre/bin/java
と表示される。
~/.profile
に以下を追記する。
JAVA_HOME=”/usr/lib/jvm/java-8-openjdk-i386/jre/bin/java”
PATH=”$JAVA_HOME/bin:$PATH”
CATALINA_HOME=”/usr/share/tomcat7″
profileの記述で違う方法として、
/etc/profile.d/java.sh
を作成し、
JAVA_HOME=”/usr/lib/jvm/java-8-openjdk-i386/jre/bin/java”
と追記し、
source ./java.sh
を実行する方法もある。今回はやらない。
ここで再起動。
echo $JAVA_HOME
で確認すると、
/usr/lib/jvm/java-8-openjdk-i386/jre/bin/java
と表示される。
ファイアーウォールの設定
sudo ufw allow 8080/tcp
ここまで来たら、
sudo /etc/init.d/tomcat7 restart
を実行。
http://192.168.102.15:8080/
にアクセス。
設定ファイルの場所
sudo vim /etc/tomcat7/server.xml
Tomcatの状況確認
sudo /etc/init.d/tomcat7 status
http://www.eclipsetotale.com/tomcatPlugin.html#A3
から
tomcatPluginV331.zip
を保存し解凍して、
C:\eclipse\plugins
の中へ
通常はUSBメモリを指すと自動でマウントされる。
/media/okamura/xxx
情報は、
df -hT
あるいは
lsblk
lsblk -i
で確認できる。
/dev/sdb1 が/media/okamura/xxx
にマウントされているのがわかる。
USBメモリはだいたい、
/dev/sda,
/dev/sdb,
/dev/sdc
などで認識される。
現在マウントしている情報は
df -hT
以外にも以下のような確認方法がある。
mount | less -S
cat /proc/mounts | less -S
cat /etc/mtab | less -S
sudo fdisk -l
手動でアンマウントする場合、
sudo umount /media/okamura/xxx
自動マウントしない場合、
sudo mount /dev/sdb1 /home/okamura/mnt
-tオプションはファイルシステム指定
などで直接マウントする。
フォーマット。マウントしているとできない。
sudo mkfs -t ntfs -Q -L backup /dev/sdb1
-tのデフォルトはex2
sudo apt-get install schroot debootstrap
mkdir -p /home/okamura/chroot
sudo debootstrap –arch=i386 –include=sudo jessie /home/okamura/chroot http://ftp.jp.debian.org/debian
–ここから不要(type=directoryにすると自動で処理)
sudo vim /etc/fstab
に以下の内容を追記
proc-chroot /home/okamura/chroot/proc proc defaults 0 0
devpts-chroot /home/okamura/chroot/dev/pts devpts defaults 0 0
/tmp /home/okamura/chroot/tmp none bind 0 0
/home /home/okamura/chroot/home none bind 0 0
sudo mount -a
にて確認
–ここまで不要
sudo vim /etc/schroot/schroot.conf
に以下追記
[jessie]
description=Debian jessie
type=directory
directory=/home/okamura/chroot
# usersにschroot許可するユーザ一覧を列挙
users=okamura
groups=okamura
root-groups=root
aliases=default
–ここから不要
sudo vim /home/okamura/chroot/etc/debian_chroot
を作成しjessieと追記
–ここまで不要
schroot -l
設定で確認
schroot -c jessie -i
環境確認
schroot -c jessie -p
で接続
バージョン確認
cat /etc/debian_version
USBメモリ接続後にdfコマンドを実行する。
表示の見方は
scsiデバイス、sda,sdb,sdc
ideデバイス、hda,hdb,hdc,hdd
のようになる。
今回は、dev/sdb1となった。しっかり覚えておく。
sudo dd if=/home/okamura/download/CentOS-7-x86_64-DVD-1611.iso of=/dev/sdb1 bs=32M
ifはフルパス。of=は出力先指定。間違えると大変。
watch -n 30 pkill -USR1 dd
USR1シグナルをddコマンドに送っている。
/media/okamura/の一覧にあるのでumountする。
sudo umount ESD-USB
MBRのコピーならこういう風に書く。
sudo dd if=/dev/sda1 of=/dev/sdb1 bs=446 count=1
USBブートしない場合、
BIOSの設定を変更する。
DELLの場合F2、ThinkPadはF1だった。
ユーザ一覧
getent passwd
less /etc/passwd
区切られた内容は以下の通り。
・ユーザ名
・パスワード
・ユーザーID
・グループID
・コメント
・ホームディレクトリ
・利用シェル
ユーザ情報
id xxx
グループ一覧
getent group
less /etc/group
グループに所属ユーザの確認
getent group xxx
グループの作成
groupadd wp
グループにユーザを追加
usermod -aG wp www-data
ログインユーザの所属グループ
groups
groups ユーザ名
でもOK
***
実験として、/var/www/に直接ファイルをアップロードするための変更。
ちなみに、/var/www/はroot:rootだが、rootグループにはrootしか所属していないため、/var/wwwの所属グループを変更しても問題ない。
所属グループの書き込みを許可
sudo chmod g+w /var/www
所属グループの変更
sudo chown root:www-upload /var/www
グループの作成
sudo groupadd www-upload
グループにユーザを追加
sudo usermod -aG www-upload ubuntu
確認
groups ubuntu
WinSCPでアップロードするとubuntu:ubuntuの権限になる(デフォルトユーザーがubuntuなため)ので、/var/www/以下にフォルダ・ファイルをアップロードしてもサブフォルダも含めアクセスできるが、SSHでフォルダ・ファイルを作成すると権限がrootになるので、WinSCP経由では作業できないので注意。
***
sudoできるユーザ
/etc/sudoer
ubuntuの場合sudo、adminグループ
ubuntuではsudoグループがsudoできるグループ
adminというグループには誰も所属していない
ユーザ作成
sudo useradd xxx
mオプションを付けないと、ホームディレクトは作成されず、手動では/etc/skelの内容がコピーされない
useradd -D
デフォルトの確認
ユーザの削除
userdel -r xxx
mオプションでホームディレクトリの作成
(自動で、/etc/skelのコピーが入る)
sudo useradd -m inna
ログインできなユーザへ
sudo usermod -s /usr/sbin/nologin inna
ログインできるユーザへ
sudo usermod -s /bin/bash inna
参加するグループの変更
usermod -aG
chown 所有者:所属グループ 対象
再帰の場合、
chown -R xxx/xxx
で再帰的にユーザ、グループを全て変えられる。
sudo chmod [ u / g / o / a ] [ + / – / = ] [ r / w / x ] 対象ファイル
u: ユーザー
g: グループ
o: その他
a: すべて
sudo chmod 764 hoge.txtのように指定することもできる
4: 読むことが可能(Read)
2: 書くことが可能(Write)
1: 実行が可能(eXecute)
0: なにもできない
権限の意味
ファイルの場合。
R
そのファイルを読み込む
W
そのファイルを書込める
X
バイナリなら実行できる。スクリプトなら、そのスクリプトを実行できる。
(スクリプトの実体はテキストファイルで先頭に#記号がある)
ディレクトリの場合。
R
そのディレクトリの中身をみる。
W
そのディレクトリにファイルを作成すること。
X
そのディレクトリをカレントディレクトリにすること。
(ディレクトリの実行権はサブディレクトリにも影響するが、RWは指定のフォルダだけ)
パスワード認証のSSHの場合
ポートの変更
sudo vim /etc/ssh/sshd_config
Port
22 > 50022
再起動
service ssh restart
ここでSSHを秘密鍵・公開鍵に切り替える。
(秘密鍵・公開鍵を作成+TeraTermから接続)
最初は有効になっていない。
IPv6無効化
sudo vim /etc/default/ufw
IPV6=no
sshを許可
sudo ufw allow 50022/tcp
起動
sudo ufw enable
(enable後は、再起動してもufwは有効になっている)
再起動する場合
sudo ufw reload
ルートを弾く(必要なら)
sudo vim /etc/ssh/sshd_config
PermitRootLogin
yes > no
パスワード認証を停止
sudo vim /etc/ssh/sshd_config
PasswordAuthentication
ChallengeResponseAuthentication
GSSAPIAuthentication
3つともnoへ
接続ユーザを限定(必要なら)
sudo vim /etc/ssh/sshd_config
AllowUsers ubuntu
追加
再起動
service ssh restart
秘密鍵・公開鍵作成1
ssh-keygen -t rsa
ファイル名を聞かれるのでidとする。
パスフレーズも聞かれる。ここではとりあえず付けない。
公開鍵(id.pub)、秘密鍵(id)が生成される。
秘密鍵・公開鍵作成2
TeraTerm>設定>SSH鍵生成
公開鍵(id_rsa.pub)、秘密鍵(id_rsa)を保存する。
公開鍵の内容は
.ssh/authorized_keys
に記載する必要がある。
(なければ作成。他に書き込みがある場合、新しい行でも大丈夫)
パーミッション確認
chmod 600 authorized_keys
秘密鍵はローカルに保存しTeraTermのフォルダへ入れる。
名前は変えてしまってOK
再起動
service ssh restart
TeraTermから接続
connect ‘192.168.xxx.xxx:50022 /ssh /2 /auth=publickey /user=xxx /keyfile=xxx’
WinSCPはppk形式なので、OpenSSH→ppkが必要。
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
から
puttygen.exe
を保存し、実行する。
Conversions>Import keyで秘密鍵(id_rsa)を読み込み、Save private keyで保存する。
新しいサイトを作成する。
転送プロトコル:SFTP
ホスト名:IPアドレス
ポート番号:50022
ユーザー名:root
パスワード:空白
設定>SSH>認証>認証条件
の秘密鍵に、
*.ppkを指定する。
管理>名前をつけて保存
を実行。
・ppk
PuTTY形式
・pem
OpenSSL形式
OpenSSH7.8未満
—–BEGIN RSA PRIVATE KEY—–
・OpenSSH形式
OpenSSH7.8以上
—–BEGIN OPENSSH PRIVATE KEY—–
・OpenSSH公開鍵
ssh-rsa
インストール
sudo apt-get install sysv-rc-conf
グラフィカルな設定
sudo sysv-rc-conf
自動起動できているか。
sudo sysv-rc-conf -list | grep xxx
サービスを自動起動へ設定
sudo sysv-rc-conf xxx on
自動起動オフ
sudo sysv-rc-conf xxx off
/etc/init.d/
の中がスクリプト実体。
/etc/の中に
rc.local (ホスト固有の設定)
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
rcS.d
があり、ここにシンボリックを置いておく。
これらの0~6はOSが起動しているrunlevelの時に
対応していて、そのフォルダのスクリプトが読まれる。
SoftEtherを使うとき、自動で立ち上げるのに、
/etc/rc.local
の中に
/home/okamura/vpnserver/vpnserver start
と書いてしまった。
0:システム停止
1:シングルユーザモード
2:ローカルマルチユーザモード(NFSなどはなし)
3:フルマルチユーザモード(テキストコンソール)
4:未使用
5:フルマルチユーザモード(グラフィカル環境)
6:システム再起動
init.d 起動と service 起動の違い
/etc/init.d/xxxx start
は環境変数が引き継がれる。
service xxxx start
はPATH,TERM,LANGが引き継がれる。