一.管理用户
用户:1.登陆操作系统 2.不同用户具备不同权限
组:方便管理用户
唯一标识: UID GID
普通用户的UID:1000以上
管理员UID为0
组: 基本组(私有组) 附加组(从属组)
一个用户至少属于一个组
1.添加用户
用户基本信息存放在 /etc/passwd 文件
[root@A ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录(宿主目录):解释器
• 使用 useradd 命令
– useradd [选项]... 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录解释器、-G 附加组
eg:
[root@A ~]# useradd nsd02
[root@A ~]# id nsd02 #查看用户基本信息
[root@A ~]# useradd nsd03
[root@A ~]# id nsd03
[root@A ~]# useradd -u 1500 nsd04
[root@A ~]# id nsd04
[root@A ~]# useradd -d /opt/nsd06 nsd06
[root@A ~]# ls /opt/
[root@A ~]# useradd -s /sbin/nologin nsd07
[root@A ~]# grep nsd07 /etc/passwd
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录(宿主目录):解释器
[root@A ~]# useradd -s /sbin/nologin nsd08
[root@A ~]# grep nsd08 /etc/passwd
[root@A ~]# groupadd tedu #创建组
[root@A ~]# useradd -G tedu nsd09 #指定用户的附加组
[root@A ~]# id nsd09
2.设置登录密码
用户密码信息存放在 /etc/shadow 文件
[root@A ~]# grep nsd02 /etc/shadow
nsd02:$6$9Ce00zrL$Wre3tD8GflkNQiGbdfrAU/rSBUkYZ8DtXLbgxNfLsj68H.ukSpTMWSGb7ZIA02R9T97wpJt/TqLZK.VNZaLfr.:18233:0:99999:7:::
用户名:密码加密字符串:上一次修改密码的时间
上一次修改密码的时间:自1970-1-1 ~ 2019-12-3 经历的天数
①• 使用 passwd 命令
– passwd [用户名]
[root@A ~]# passwd nsd02
更改用户 nsd02 的密码 。
新的 密码: #输入新的密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码: #重新输入新的密码
passwd:所有的身份验证令牌已经成功更新。
[root@A ~]# su - nsd02 #在命令行,临时切换用户身份
[nsd02@A ~]$ passwd
更改用户 nsd02 的密码 。
为 nsd02 更改 STRESS 密码。
(当前)UNIX 密码: #输入旧密码
新的 密码: #输入新的密码
重新输入新的 密码: #重新输入新的密码
passwd:所有的身份验证令牌已经成功更新。
[nsd02@A ~]$ exit
登出
[root@A ~]#
②非交互式设置命令
[root@A ~]# echo '密码' | passwd --stdin 用户名
3.修改用户属性
• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录解释器、-G 附加组(重置附加组)
usermod -d 可以修改家目录,但不会创建家目录,需要修改家目录
同一个用户的附加组会默认覆盖上一个附加组
不能删除用户的基本组,可以删除用户的附加组
eg:
[root@A ~]# useradd nsd10
[root@A ~]# id nsd10
[root@A ~]# grep nsd10 /etc/passwd
[root@A ~]# usermod -u 1600 -s /sbin/nologin nsd10
[root@A ~]# grep nsd10 /etc/passwd
[root@A ~]# grep nsd10 /etc/passwd
[root@A ~]# usermod -d /opt/haxi nsd10
[root@A ~]# grep nsd10 /etc/passwd
[root@A ~]# ls /opt/
[root@A ~]# id nsd10
[root@A ~]# usermod -G tedu nsd10
[root@A ~]# id nsd10
[root@A ~]# groupadd tarena #创建组tarena
[root@A ~]# usermod -G tarena nsd10
[root@A ~]# id nsd10
查看用户id信息
id 用户名
4.删除用户
删除用户
• 使用 userdel 命令
– userdel 用户名
[-r]:连同家目录一并删除
eg:
[root@A ~]# userdel -r nsd02
[root@A ~]# id nsd02
id: nsd02: no such user
[root@A ~]# ls /home/
二.管理组
1.添加组
组基本信息存放在 /etc/group 文件
[root@A ~]# grep stugrp /etc/group
stugrp:x:1509:
组名:组的密码占位符:组GID:组成员列表
• 使用 groupadd 命令
– groupadd [-g 组ID] 组名
[root@A ~]# groupadd stugrp #创建组
[root@A ~]# grep stugrp /etc/group #查看组信息
stugrp:x:1509:
[root@A ~]# useradd kaka
[root@A ~]# useradd jack
[root@A ~]# useradd natasha
2.管理组
组成员信息存放在 /etc/gshadow 文件
• 使用 gpasswd 命令
– gpasswd -a 用户名 组名
– gpasswd -d 用户名 组名
[root@A ~]# gpasswd -a kaka stugrp #将用户kaka添加到stugrp组
[root@A ~]# grep stugrp /etc/group
[root@A ~]# gpasswd -a jack stugrp
[root@A ~]# grep stugrp /etc/group
[root@A ~]# id kaka
[root@A ~]# id jack
[root@A ~]# gpasswd -a kaka tedu
[root@A ~]# id kaka
[root@A ~]# gpasswd -d kaka stugrp #将用户kaka从stugrp组删除
[root@A ~]# id kaka
[root@A ~]# grep stugrp /etc/group
[root@A ~]# gpasswd -a natasha stugrp
[root@A ~]# grep stugrp /etc/group
3.删除组
删除组,不能删除用户的基本组
• 使用 groupdel 命令
– groupdel 组名
[root@A ~]# groupdel stugrp
[root@A ~]# grep stugrp /etc/group
案例1:配置用户和组账号
• 新建用户 alex,其用户ID为3456,密码是flectrag
[root@A ~]# useradd -u 3456 alex
[root@A ~]# echo flectrag | passwd --stdin alex
• 一个名为 adminuser 的组
[root@A ~]# groupadd adminuser
• 一个名为 natasha 的用户,其属于 adminuser 组,这个组是该用户的从属组
[root@A ~]# gpasswd -a natasha adminuser
[root@A ~]# grep adminuser /etc/group
• 一个名为 harry 的用户,其属于 adminuser 组,这个组是该用户的从属组
[root@A ~]# useradd -G adminuser harry
• 一个名为 sarah的用户,禁止用户登陆操作系统,并且不是 adminuser 组的成员
[root@A ~]# useradd -s /sbin/nologin sarah
[root@A ~]# grep sarah /etc/passwd
• natasha 、harry、sarah 的密码都要设置为 flectrag
[root@A ~]# echo flectrag | passwd --stdin natasha
[root@A ~]# echo flectrag | passwd --stdin harry
[root@A ~]# echo flectrag | passwd --stdin sarah