Debian 10初始化脚本
Contents
使用方法
安装curl
如果已有curl,可忽略此步骤。
|
|
示例1
创建用户yanyong
,设置FQDN为blog.yanyong.cc
,设置ssh端口23422
,设置阿里源,设置中国上海时区Asia/Shanghai
。
|
|
执行结果,脚本已更新,此图可能与实际返回结果有所不同。
示例2
创建用户testuser
,成功创建用户会触发禁用root远程登录和禁用密码验证登录,如有需要启用root远程登录或密码验证登录,查看可选操作。
|
|
示例3
apt-get dist-upgrade更新系统。
|
|
如果跨版本更新系统,例如当前是debian 9,需要传入--source=...
参数修改成debian 10的源,此示例为香港源。
|
|
特别说明
查看帮助:
curl -fsSL https://raw.yanyong.cc/sh/debian10-init.sh | bash -s help
。参数的小横线--
可以省略,如user=yanyong
等同于--user=yanyong
,参数顺序无要求。创建用户时,默认设置用户密码为随机生成的16位字符串,生成密钥对,保存在创建的用户家目录的.ssh目录下,并设置密钥密码为随机生成的8位字符串。也可以指定密码
--password=PASSWORD
(用户密码),--keyPasswd=PASSWORD
(密钥密码)。hostname无需指定,取FQDN的最左边记录值为主机名(如FQDN为
www.example.com
,则hostname为www
)。APT源设置,
--source=cn
为中科大源,--source=hk
为香港源,--source=us
为美国源,--source=ali
为阿里源,--source=aws
为亚马逊源。修改源,会相应的修改NTP地址,已自动选择,无须指定。查看所有可用时区:
timedatectl list-timezones
。初始化脚本每次执行,无论有没有参数,默认都有以下处理:
- apt-get upgrade更新系统。
- 安装man, sudo, vim, net-tools等。
- 自定义profile文件,优化历史命令记录,设置命令别名,如
ll
,lt
等。 - 如果成功创建用户,就会禁用root远程登录和禁用密码验证登录。
- 启用iptables防火墙,开启ping,开启ssh的端口,开启80和443端口。
可选操作
如有需要,启用root远程登录。
|
|
如有需要,启用密码验证登录。
|
|
如有需要,关闭iptables防火墙。
|
|
脚本内容
链接:[脚本]
参考链接
https://www.debian.org/mirror/list
https://www.ntppool.org/zone/@
https://en.wikipedia.org/wiki/Regular_expression
https://www.wikiwand.com/en/Regular_expression
https://man7.org/linux/man-pages/man1/bash.1.html
https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html