day 5
用户管理
用户
1.什么是用户
2.为何需要
1.开发人员需要使用系统 2.进程需要依赖用户(不用登录系统)
3.用户约定(可不遵守)
参考/etc/login.defs文件 0 超级管理员,不要将root替代为其他的名称 1-200 系统用户,一般运行系统自带的核心程序 201-999 系统用户,一般运行用户自行开发的程序 1000~60000 普通用户,常用于登录系统
创建用户:
创建用户:
[root@node ~]# useradd oldxu -u 6969 -g ops -G dev -c "2000 New Students" -s /bin/bash
[root@node ~]# id oldxu
uid=6969(oldxu) gid=1003(ops) 组=1003(ops),1004(dev)
[root@node ~]# tail -1 /etc/passwd
oldxu:x:6969:1003:2000 New Students:/home/oldxu:/bin/bash
[root@node ~]# useradd mysql -r -M -s /sbin/nologin [root@node ~]# id mysql uid=998(mysql) gid=996(mysql) 组=996(mysql) [root@node ~]#
修改用户:
[root@node ~]# groupadd network [root@node ~]# groupadd sa [root@node ~]# usermod oldxu -u 5008 -g network -G ops,dev,sa -c "student" -l new_oldxu
[root@node ~]# id oldxu id: oldxu: no such user
[root@node ~]# id new_oldxu
uid=5008(new_oldxu)gid=1005(network) 组=1005(network),1003(ops),1004(dev),1006(sa)
[root@node ~]# tail -1 /etc/passwd
new_oldxu:x:5008:1005:student:/home/oldxu:/bin/bash
删除用户:
[root@node ~]# userdel -r oldxu
批量删除:
1.如何确定这些是没有用的用户 UID>=1000
2.提取用户名称
3.拼接命令
[root@node ~]# awk -F ':' '$3>=1000' /etc/passwd |awk -F ':' '{print $1}' | sed -r 's#(.*)# userdel -r \1#g' | bash
[root@node ~]# awk -F ':' '$3>=1000 {print $1}' /etc/passwd | sed -r 's#(.*)# userdel -r \1#g' | bash
4.配置文件
/etc/passwd 用户信息 /etc/shadow用户密码信息
5.用户管理命令
useradd 选项 usermod 选项 userdel 选项
创建用户流程:
参考:
/etc/login.defs 定义了创建用户时 `UID` 划分规则,密码加密类型,是否创建家目录等
/etc/default/useradd 家目录的位置、环境变量从哪里复制;是否创建邮箱;
默认的创建用户的规则和选项:
默认创建用户:
1.分配UID;
1.添加passwd 记录;
2.在/home目录下创建一个与名称相同的家目录;
3.拷贝/etc/skel/ 环境变量文件;
4.创建邮箱;
注意:
使用useradd 的选项优先级要比默认的配置高;
用户组
创建组:
groupadd
指定GID:-g
groupadd group_name -g GID
修改组:
groupmod
删除组(组中不能有成员):
groupdel Group_name
1.什么是组
2.组的分类
默认组 基本组 附加组
3.组的配置
/etc/group /etc/gshadow
4.组的管理命令
groupadd:添加组 groupmod:修改组 groupdel:删除组
5.用户与组的关系
密码 设定密码 passwd 交互式 passwd oldxu 非交互式:简单密码 echo "123" | passwd --stdin oldxu 分支主题 4
注:stdin(只有根用户权限才可以此操作)