TASK: obtenir une installation chrootable
@host % export TRACE=1
- @host % ./vm_host disk_mount
- @host % ./vm_host disk_format
- @host % ./vm_host part_lvm_format
- @host % ./vm_host part_root_format
- @host % ./vm_host part_boot_format
- @host % ./vm_host part_swap_format
- @host % ./vm_host part_var_format
- @host % ./vm_host part_home_format
- @host % ./vm_host debian_install
- @host % ./vm_host disk_umount
+ @host % ~/tool/ateliers/vm_host disk_mount
+ @host % ~/tool/ateliers/vm_host disk_format
+ @host % ~/tool/ateliers/vm_host part_lvm_format
+ @host % ~/tool/ateliers/vm_host part_root_format
+ @host % ~/tool/ateliers/vm_host part_boot_format
+ @host % ~/tool/ateliers/vm_host part_swap_format
+ @host % ~/tool/ateliers/vm_host part_var_format
+ @host % ~/tool/ateliers/vm_host part_home_format
+ @host % ~/tool/ateliers/vm_host debian_install
+ @host % ~/tool/ateliers/vm_host disk_umount
TASK: obtenir une installation démarable
- @host % ./vm_host chroot
- @host % export TRACE=1 LANG=C LC_CTYPE=C
+ @host % ~/tool/ateliers/vm_host chroot
+ @host % ~/tool/ateliersexport TRACE=1 LANG=C LC_CTYPE=C
@host % /root/tool/vm/vm_hosted init
@host % exit
TASK: initialiser la VM
- @host % vm_host vm_init
- @host % vm_host vm_start
+ @host % ~/tool/ateliers/vm_host vm_init
+ @host % ~/tool/ateliers/vm_host vm_start
@hosted % vm_hosted user_init
TASK: démarrer la VM
@host % vm_host vm_start
GIT_COMMIT_OPTIONS=""
AVOID_DAILY_AUTOCOMMITS=1
#AVOID_SPECIAL_FILE_WARNING=1
- #AVOID_COMMIT_BEFORE_INSTALL=1
+ AVOID_COMMIT_BEFORE_INSTALL=1
HIGHLEVEL_PACKAGE_MANAGER=apt
LOWLEVEL_PACKAGE_MANAGER=dpkg
EOF
network $vm_ipv4
broadcast $vm_ipv4
netmask 255.255.255.255
- mtu 1300 # TODO: voir si c'est nécessaire à Lyon
+ #mtu 1300
post-up ip address add $vm_ipv4/32 dev \$IFACE
pre-down ip address delete $vm_ipv4/32 dev \$IFACE
EOF
deb http://ftp.fr.debian.org/debian $vm_lsb_name main contrib non-free
EOF
mk_reg mod= own= /etc/apt/sources.list.d/$vm_lsb_name-backports.list <<-EOF
- deb http://backports.debian.org/debian-backports $vm_lsb_name-backports main contrib non-free
+ #deb http://backports.debian.org/debian-backports $vm_lsb_name-backports main contrib non-free
EOF
mk_reg mod= own= /etc/apt/preferences <<-EOF
Package: *
HUSHLOGIN_FILE .hushlogin
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- # NOTE: met les sbin/ dans ENV_PATH ;
- # - ça n'apporte aucune protection de ne pas les mettre ;
- # - ça frustre de ne pas les trouver.
+ # NOTE: met les sbin/ dans ENV_PATH ;
+ # - ça n'apporte aucune protection de ne pas les mettre ;
+ # - ça frustre de ne pas les trouver.
TTYGROUP tty
TTYPERM 0600
ERASECHAR 0177
KILLCHAR 025
- # NOTE: rwxrwx--- ;
- # - donne une même confiance au groupe propriétaire qu'au propriétaire ;
- # - facilite l'utilisation des ACL, qui sont dépendantes des droits du groupe propriétaire.
UMASK 007
+ # NOTE: rwxrwx--- ;
+ # - donne une même confiance au groupe propriétaire qu'au propriétaire ;
+ # - facilite l'utilisation des ACL, qui sont dépendantes des droits du groupe propriétaire.
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
/etc/initramfs-tools/etc/dropbear/dropbear_dss_host_key.pub \
/etc/initramfs-tools/etc/dropbear/dropbear_rsa_host_key \
/etc/initramfs-tools/etc/dropbear/dropbear_rsa_host_key.pub
- #mk_reg mod=640 own=root:root </dev/null \
- # /etc/initramfs-tools/etc/dropbear/dropbear_dss_host_key \
- # /etc/initramfs-tools/etc/dropbear/dropbear_dss_host_key.pub
ssh-keygen -F "init.$vm_fqdn" -f "$tool"/etc/openssh/known_hosts |
( while IFS= read -r line
do case $line in (*" RSA") return 0; break;; esac
# NOTE: le mot-de-passe doit être initialisé par l'utilisateur à l'aide de passwd-init .
eval local home\; home="~$user"
sudo adduser "$user" sudo
- ssh_key_add user=$user "$tool"/var/pub/ssh/"$user".key "$home"/etc/ssh/authorized_keys
+ mk_reg mod=640 own=$user:$user "$home"/etc/ssh/authorized_keys \
+ <"$tool"/var/pub/ssh/"$user".key
rule__initramfs_init
rule__user_root_init
sudo gpg --import "$tool"/var/pub/opengpg/"$user".key
+ # TODO: importer toutes les clefs des utilisateurices
}
rule_user_mail_format () {
mk_dir mod=770 own=root:adm /etc/skel/etc/procmail
git config --replace remote.$vm HEAD:refs/heads/origin
)
}
-rule_git_push () { # SYNTAX: $remote $options
+rule_git_push () { # SYNTAX: {host|vm} $git_commit_options
local remote=${1#remote=}; shift
git add . &&
git commit -a -C HEAD "$@" &&
tee /lib/cryptsetup/passfifo \>/dev/null
}
rule_disk_key_backup () {
- for part in root swap var home
+ for part in root var home
do
mkdir -p var/lib/luks
rule_ssh -l root ' \