#LXCを作成(ホストから)
pct create 100 /var/lib/vz/template/cache/debian-8.0-standard_8.4-1_amd64.tar.gz \
-ostype debian -hostname CT100 \
-memory 1024 -swap 256 \
-storage local -rootfs 1.5 \
-net0 name=eth0,bridge=vmbr0,hwaddr=00:00:00:00:00:00,ip=192.168.1.2/24,gw=192.168.1.1,ip6=auto,type=veth
WebUIで作成するのが面倒になったときに使ってください。
#SSH設定(ホストから)
pct start 100 #起動
pct enter 100 #LXCのコンソールに移動
mkdir -m 700 ~/.ssh #.sshディレクトリーを作成(rootユーザー)
nano ~/.ssh/authorized_keys #SSHデーモンに公開鍵を登録(rootユーザー)
chmod 600 ~/.ssh/authorized_keys #本人だけ読み書き可に
#初期設定(SSH接続のrootユーザーから)
#SSHデーモンのパスワード認証を禁止
nano /etc/ssh/sshd_config
#>#PasswordAuthentication yes
#>↓
#>PasswordAuthentication no
#sed -i -r 's/^#? *(PasswordAuthentication) .*$/\1 no/' /etc/ssh/sshd_config
/etc/init.d/ssh restart #SSHデーモンを再起動して設定を反映
#パッケージを更新する
apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade
#パッケージを更新する(IPv6が原因で遅いとき)
apt-get update -o Acquire::ForceIPv4=true &&
apt-get upgrade -y -o Acquire::ForceIPv4=true &&
apt-get dist-upgrade -y -o Acquire::ForceIPv4=true
#管理用一般ユーザーを追加(SSH接続のrootユーザーから)
#suをadmグループのユーザーに制限
nano /etc/pam.d/su
#># auth required pam_wheel.so
#>↓
#>auth required pam_wheel.so group=adm
#sed -i -r 's/^# *(auth +required +pam_wheel\.so)$/\1 group=adm/' /etc/pam.d/su
#sudoをインストールする
apt-get -y install sudo
#sudoのパスワードを不要にする
nano /etc/sudoers
#>%sudo ALL=(ALL:ALL) ALL
#>↓
#>%sudo ALL=(ALL:ALL) NOPASSWD:ALL
#sed -i -r 's/^(%sudo[\t ]+ALL=\(ALL:ALL\)[\t ]+)(ALL)$/\1NOPASSWD:\2/' /etc/sudoers
#管理用一般ユーザーを追加
user='user' &&
uid=9999 &&
useradd -u $uid -m -s /bin/bash $user && #追加
gpasswd -a $user adm && #suを許可
gpasswd -a $user sudo #sudoを許可
passwd user #パスワードを設定(対話)
echo 'user:password' | chpasswd && history -c #パスワードを設定(非対話)
#管理用一般ユーザーのSSH設定
su user #管理用一般ユーザーでログイン
chmod 700 ~ #homeディレクトリーを本人だけ読み書き可に
mkdir -m 700 ~/.ssh #.sshディレクトリーを作成
nano ~/.ssh/authorized_keys #SSHデーモンに公開鍵を登録
chmod 600 ~/.ssh/authorized_keys #本人だけ読み書き可に
#その他セットアップ(SSH接続の管理用一般ユーザーから)
##日本語化・日本時間化
#日本語化
locale #現状を確認
sudo nano /etc/locale.gen
#># ja_JP.UTF-8 UTF-8
#>↓
#>ja_JP.UTF-8 UTF-8
#sudo sed -i -r 's/^#? *(ja_JP\.UTF-8 UTF-8)$/\1/' /etc/locale.gen
sudo locale-gen
sudo update-locale LANG=ja_JP.UTF-8
source /etc/default/locale
#日本時間化
cat /etc/timezone #現状を確認
sudo echo "Asia/Tokyo" > /etc/timezone
sudo dpkg-reconfigure --frontend noninteractive tzdata
##セキュリティーアップデートを自動化する
sudo apt-get install -y unattended-upgrades apt-listchanges
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
#>//Unattended-Upgrade::Mail "root";
#>↓
#>Unattended-Upgrade::Mail "root";
#sudo sed -i -r 's!^//(Unattended-Upgrade::Mail "root";)$!\1!' /etc/apt/apt.conf.d/50unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
##Sambaをインストール
sudo apt-get -y install samba
sudo nano /etc/samba/smb.conf
#globalセクションの冒頭に書き足す
# unix charset = UTF-8
# dos charset = CP932
# load printers = no
# disable spoolss = yes
# acl allow execute always = yes
#
#homesセクションのread onlyをnoにする
# read only = no
sudo /etc/init.d/samba restart #Sambaを再起動し設定を反映
#Samba関連でユーザーを管理
sudo pdbedit -a -u user #Sambaにユーザーを登録
sudo pdbedit -L #Sambaのユーザーを列挙
sudo pdbedit -a -u user #Sambaからユーザーを削除
#WindowsからSambaにアクセス
rundll32.exe keymgr.dll,KRShowKeyMgr #テスト時に資格情報を削除したいとき
#その他管理(SSH接続の管理用一般ユーザーから)
##SSHデーモンの公開鍵を差し替え
#rootユーザー
sudo nano ~/.ssh/authorized_keys
sudo chmod 600 ~/.ssh/authorized_keys #本人だけ読み書き可に
#一般ユーザー
sudo su user
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys #本人だけ読み書き可に
exit
#IPアドレスを確認
ip a
##公開鍵と秘密鍵を作成
#rootユーザー
sudo ssh-keygen -N '' -t rsa -f ~/.ssh/id_rsa &&
sudo ssh-keygen -N '' -t ecdsa -f ~/.ssh/id_ecdsa &&
sudo ssh-keygen -N '' -t ed25519 -f ~/.ssh/id_ed25519 &&
history -c
#一般ユーザー
ssh-keygen -N '' -t rsa -f ~/.ssh/id_rsa &&
ssh-keygen -N '' -t ecdsa -f ~/.ssh/id_ecdsa &&
ssh-keygen -N '' -t ed25519 -f ~/.ssh/id_ed25519 &&
history -c
##ユーザーを管理
#ユーザーを追加
sudo useradd -u 9999 -m -s /bin/bash user
sudo su user #ユーザーでログイン
chmod 700 ~ #homeディレクトリーを本人だけ読み書き可に
mkdir ~/.ssh #.sshディレクトリーを作成
chmod 700 ~/.ssh #本人だけ読み書き可に
nano ~/.ssh/authorized_keys #SSHデーモンに公開鍵を登録
chmod 600 ~/.ssh/authorized_keys #本人だけ読み書き可に
exit #ログアウト
#ユーザーを削除
sudo userdel -r user
#パスワードを設定
sudo passwd user #対話
echo 'user:password' | sudo chpasswd #非対話
#シェルを変更
cat /etc/shells #使用可能なシェルを確認
sudo usermod -s /bin/bash user #変更
#グループの追加と削除
sudo groupadd -g 9999 group #追加
sudo groupdel group #削除
#グループにユーザーを追加と削除
sudo gpasswd -a user group #追加
sudo gpasswd -d user group #削除
#ユーザーとグループを確認
cat /etc/passwd #ユーザーを列挙
cat /etc/group #グループを列挙
id user #ユーザーの情報を表示
##パッケージを更新する
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get -y autoclean
#IPv6が原因で遅いとき
sudo apt-get update -o Acquire::ForceIPv4=true &&
sudo apt-get upgrade -y -o Acquire::ForceIPv4=true &&
sudo apt-get dist-upgrade -y -o Acquire::ForceIPv4=true &&
sudo apt-get autoremove -y -o Acquire::ForceIPv4=true &&
sudo apt-get autoclean -y -o Acquire::ForceIPv4=true