用户管理
1. 用户分类
01. root 皇帝 uid 0
02. 虚拟用户 傀儡 UID1-499
linux下 每个程序、服务运行的时候都需要一个用户
傀儡用户不需要用来登录系统
用户的命令解释器 /sbin/nologin
03. 普通用户 UID 500+ 到六万多
UID user id 身份证号码
GID group id 用户组id
#知道用户属于哪些用户组

#这个用户组中有哪些用户

1.2 用户相关的配置文件
/etc/passwd 用户的信息 /etc/shadow 用户密码信息 /etc/group 用户的 用户组信息 /etc/gshaadow 用户组密码信息
1.3 与用户相关的目录
/etc/skel
/etc/skel 下都是隐藏文件,以点 . 开头都是隐藏文件
~/.bash_logout 用户退出系统的时候 登出 会运行里面的内容 ~/.bash_profile 存放环境 变量 别名 ~/.bash_bahsrc 作用 /etc/bashrc 一样 放别名
新用户的老家的模板(新用户家目录的样子)
useradd oldboy 添加一个用户 相当于 cp /etc/skel/* cp /etc/skel/.bash* /home/oldboy 复制到用户家目录
如下登录环境故障的原理及解决办法?
命令行 -bash-4.1$

解决:
进入故障用户

从 /etc/skel/.bash 复制一个家目录
复制的时候一定要注意 /etc/skel/.* 会把以点开头的所有东西复制
1.5 用户管理命令
1.5.1 用户相关的命令
01. 添加用户
useradd 添加用户
-u 指定用户的UID (数字 身份证号) -s 指定用户使用的shell /bin/bash 默认 /sbin/nologin 手动添加一个傀儡用户 虚拟用户 -M 表示不创建家目录 一般创建虚拟用户使用 -s /sbin/nologin -M sM 创建虚拟用户配合使用 -g 指定 用户属于的组(组的名字)添加用户的时候 默认创建以个与用户名一样的家庭
来个列子:
添加一个用户 lishichao999 指定UID为880 禁止用户登录系统 不创建家目录
(添加一个UID是880的虚拟用户lishichao999)

02. 删除用户
userdel 删除用户 在/etc/passwd 文件中先注释掉,保留数据 userdel 默认不删除用户的家目录和邮箱 -r 连窝端删除与用户有关的所有信息(家目录)
03. 修改用户信息
usermod 修改用户的信息 (这个用户已经存在了) -s 修改用户使用的shell -g 属于的家庭 用户组名字 主要组 -G 属于多个家庭 附加组
chage:密码失效是通过此命令来管理的。
参数意思:
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。
-W 用户密码到期前,提前收到警告信息的天数。
-E 帐号到期的日期。过了这天,此帐号将不可用。
-d 上一次更改的日期
-I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
4.passwd 修改用户密码
--stdin 从管道中获取用户的密码(非交互式设置密码)
Changing password for user oldboy. 无需交互更改密码
passwd: all authentication tokens updated successfully. 命令更改成功
企业场景:用户及密码管理
密码要复杂12位以上字母数字特殊字符
KeePass-1.33 通过软件管理命令
大的企业用户和密码统一管理(相当于活动目录AD,openldap域)
动态密码:动态口令, 第三方提供自己开发也很简单
如何让系统更安全
1.最小化安装系统,安装软件。 软件就相当于系统的窗口,越多越不安全
2.保护好root
禁止root用户远程登录
修改远程连接端口号22
通过 /var/log/secure日志分析 谁在登录你的系统 failure或Failed
3.文件系统权限
给常用命令 +i
给系统配置文件 +a
4.给重要的文件或命令 做一个指纹
1.创建指纹
2.记录指纹
添加内容后指纹发生变化 指纹记录到 jilu.txt 指纹库
#根据记录指纹 对比
##FAILED 指纹变化了 md5sum –c jilu.txt
##OK 指纹没变
指纹是用来 验证文件内容是否变化。
不会影响你使用文件。
监控重要文件是否被修改了
(中病毒的时候 修改你的重要文件了)
1.5.2 用户组相关命令
groupadd 创建新的用户组
-g 指定用户组的gid数字
添加一个虚拟用户 用户mysql 指定用户的uid gid都是999
1.5.3 用户查询命令
id 查看用户的信息
一个用户是否存在
查询用户的 uid gid
属于哪个组
lastlog 显示linux中所有用户最近一次远程登录系统的信息
last哪个用户在什么时候 从哪里远程登录你的系统 用户登录的信息
w 显示系统中已经远程登录的用户 在干啥 1分钟 5分钟 15分钟
窗口太小了,放大就好了
1.5.4 查看系统性能命令
w
uptime
##top 顶替了uptime ,free –h ,ps -ef
查看cpu负载 内存信息 正在运行的进程 -M按照内存使用率排序 -P按照CPU使用率排序
## ps 显示系统进程信息
-ef 显示所有正在运行的进程
aux 显示进程详细信息 CPU 内存使用率
##sort 排序 默认按照字母顺序
-n 按照数字顺序 -nr 倒序查看 -rnk4 第四列 倒序查看 -h 以大小参数排序
1.6 sudo授权使用
su 与 su - 区别
-是su命令的参数,表示切换用的时候更新环境变量。 env 查看环境变量
sudo是什么?
开发人员,其他人员,想临时使用 看系统的日志 删除软件的日志 人事添加用户
普通用户想临时成为皇帝。 sudo 让普通用户执行一些或者全部的root命令。
sudo授权注意最小话,保护好root。
怎么使用sudo
sudo –l 查看当前用户sudo权限
若用户不在sudoers中会提示不能运行sudo命令,存在则会显示详细的权限
visudo给用户授予
visudo 就相当于 vim /etc/suduers 方便,有语法检查功能
1.授权某一命令 visudo 到92行 “92gg”
命令前面 要加sudo 还需要输入 用户的密码
2.授权多个命令
逗号,空格 分割命令
3.授权所有命令并且不用密码
4.授权某个目录下面的所有命令
排除某个命令

浙公网安备 33010602011771号