Linux服务器初始化时注意事项


Linux服务器安全相关

version:1.0 date:2022/3/3        auth:hbl

用户操作

尽量少使用root账号

用户组

添加/删除用户组

 ##添加用户组
 groupad 参数 用户组名
 -g#指定新建用户组的gid;
 -r#创建系统工作组,系统用户的组ID小于500;
 -K#覆盖配置文件“/ect/login.defs”;
 -o#允许添加组ID号不唯一的工作组。
 
 ##删除用户组
 groupdel 用户名

#### 修改用户组

 ##修改用户组
 groupmod 参数 用户组名
 -g#GID 为用户组指定新的组标识号。
 -o#与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
 -n#新用户组 将用户组的名字改为新名字

用户

Linux用户的角色是通过UID和GID识别的。

UID用户ID:相当于各为的身份证,在系统中是唯一的

GID组ID:相当于各为的家庭或者你们的学校。

添加/删除用户

 ##添加用户
 useradd 参数 用户名
 -g #属组
 -u #设置uid
 -m #创建家目录
 -M #没有家目录
 -G #指定属于多个组
 -s #指定登录shell
 -d #指定家目录
 -c #注释
 -D #改变它默认的属性
 -e #指定的日期是帐号失效的日期
 
 ##删除用户
 userdel 参数 用户名
 userdel -r username #-r作用吧家目录一起删除

修改用户

 ##修改用户
 usermod 参数 用户名
 -c#修改用户帐号的备注文字
 -d#修改用户登入时的目录
 -e#修改帐号的有效期限
 -f#改在密码过期后多少天即关闭该帐号
 -g#修改用户所属的群组
 -G#修改用户所属的附加群组
 -l#修改用户帐号名称
 -L#锁定用户密码,使密码无效
 -s#改用户登入后所使用的shell。
 -u#修改用户ID
 -U#解除密码锁定

密码

 passwd 参数 用户名
 
 -l:锁定已经命名的账户名称
 -u:解开账户锁定状态
 -x, --maximum=DAYS:密码使用最大时间(天)
 -n, --minimum=DAYS:密码使用最小时间(天)
 -d:删除使用者的密码
 -S:检查指定使用者的密码认证种类
 --stdin:非交互式修改/设置密码,弊端是操作日志能查密码,用history -c 干掉。

禁止/允许用户登录

 usermod -s /sbin/nologin username   #禁止
 usermod -s /bin/bash username       #允许

将用户加入sudo列表

 #切换root执行
 visudo

image-20220303170106755

案例

 groupadd docker #添加docker用户组
 useradd -g docker -m le #添加le用户到docker用户组
 root@VM-20-8-ubuntu:~# passwd le     #设置密码
 Enter new UNIX password:
 Retype new UNIX password:
 passwd: password updated successfully
 #再修改visudo

还是需要用root先安装docker 和 docker-compose

这样就新建了一个用于docker的用户le

在运行容器时把挂载卷挂载到固定路径例如/root/test01可以避免子用户“le”删除数据

(但是Ubuntu子用户的窗口编辑非常难用!)

端口开放

端口非必要不使用默认端口

例如ssh默认的端口是22,这时候可以使用端口转发命令将端口改为10022(下面语句会在服务器重启后失效)

iptables -t nat -A PREROUTING -p tcp --dport 10022 -j REDIRECT --to-ports 22      # 22 ==> 10022

这样在安全组开放10022端口就可以ssh远程连接,避免使用默认的22端口

同理在部署时也要将端口映射到其他端口

docker run -d -v odoo-db:/var/lib/postgresql/data -p 17324:5432  --name pgdb14 postgres:14

docker run -v odoo-data:/var/lib/odoo -v /root/odoo15-docker/my_addons:/mnt/extra-addons -d -p 18057:8069 --name odoo15 --link pgdb14:db -t odoo:15.0