Linux用户管理
---恢复内容开始---
一、用户存在的意义
可以限定权力;
用户是操作者在系统中的身份
是系统最低层的安全机制的一部分
用户在系统中以文件和字符的形式存在
二、组存在的意义
开放权力
三、用户的查看
1、查看当前用户
命令: whoami
2、系统中用户的查看(id user)
命令: id ## 查看之指定当前用户id信息
id -u ## 查看当前用户的Uid
id -g ## 查看用户的gid
id -G ## 查看用户所在的所有附加组
id -n ## 显示名字而不显示ID数字
3、用户切换
命令:su - 用户名称
注意:“ - ”表示用户切换身份时,同时切换当前的用户路径
执行时,高级用户切换到低级用户不需要密码;低级用户切换到高级或平级用户需要
每次su切换到其他用户之后,必须要exit,然后再切换到其他用户
四、用户在系统中的存储方式
- /etc/passwd ## 存放用户信息文件
组成部分:
用户名称:密码:uid:gid:说明:用户家目录:默认shell
注释:用户说明是在passwd登陆时显示的登陆用户名,可以在/etc/passwd里面进行修改
- /etc/group ## 用户组信息文件
组成部分:
组的名字:组密码:组id:组成员
- /etc/shadows ## 认证信息文件
组成部分:
用户名称:用户密码:用户秘密最后一次被更改时间:密码最短有效期:密码最长有效期:
密码警告期限:密码非活跃期限:密码到期日:用户自定义位置,目前没有使用
- /etc/skel/.* ##默认开启shell的配置(运行的状态的模版),用户的骨文件
- /home/username ## 用户的家目录
五、用户的管理命令
1、删除用户
命令:userdel
用法:userdel student ##删除用户但不删除用户的配置文件
userdel -r student ##删除用户并删除用户的配置文件
2、用户建立
命令:useradd ##建立用户,建立时读取/etc/login.defs文件内容确定规则
用法:useradd -u 8888 westos ##指定用户uid
useradd -g 21 westos ##指定用户初始组id,"21用户组必须是存在的“
useradd -G 21 westos ##指定用户的附加组id,”21用户必须存在“
useradd -c "hello" westos ##指定用户的说明(登录时的用户名)
useradd -d /home/lee westos ##指定用户的家目录(默认为/home/用户名)
useradd -s /bin/sh westos ##指定用户的默认shell
用户信息监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'(-n 1 表示监控频率单位为秒)
3、用户组的建立与删除
groupadd ##建立用户组(用户组一般在一千之后)
groupadd -g 888 ##建立用户组并指定用户的gid
groupdel ##删除用户组
4、更改用户信息(passwd +用户名 :为用户创建一个密码,即可以登陆)
命令:usermod
usermod -l newne westos ##更改用户的名称为newne
usermod -u 6666 westos ##更改用户的UID
usermod -g 21 westos ##更改用户的初始组
usermod -G 21 westos ##更改用户的附加组(会去掉原来的附加组)
usermod -aG 21 westos ##添加用户的附加组
usermod -G "" westos ##删除用户所有附加组的身份
usermod -c "helo" westos ##指定用户说明文字
usermod -d /home/lee westos ##表示更改用户家目录的指向(更改路径)
usermod -md /home/lee westos ##表示更改用户家目录(更改家目录和路径)
usermod -s /bin/sh westos ##修改用户的默认shell
usermod -L westos ##表示冻结用户(Lock)
usermod -U westos ##表示解锁用户(unlock)
5、用户认证信息管理
/etc/shadow ##记录用户认证信息(一共九列,密码用暗文进行显示)
passwd -S westos ##也可以显示用户密码的信息
用户名称:
显示用户名称包括超级用户和普通用户
用户密码:
passwd student ##更改密码
passwd -l student ##在用户密码前加入“!!”
passwd -u student ##去掉”!!“
usermod -L student ##在用户密码前加入“!”
usermod -U student ##去掉“!”
passwd -d student ##对密码内容进行清空
注意:
root用户可以直接进行密码的修改,对密码的内容没有限制;
普通用户则先输入之前的密码;密码不能与帐号名称相似;密码不能是纯数字或纯字母;
不能是有序的字母和数字的组合;
在当前用户普通用户下,直接使用passwd命令进行密码的修改
对密码属性修改后出现的常规现象:
usermod -s /usr/sbin/nologin westos ##不能登陆
usermod -s /bin/bash westos ##调整到正常模式
usermod -p 123 westos ##表示密码处显示加密字符
用户密码最后一次被更改时间:
passwd -e westos ##时间改为0,在用户登陆时,首先会要求输入之前密码,然后会强制改密码才可以登陆
chage -d 0 westos ##命令功能相似
密码最短有效期:表示密码至少n天后才可以修改密码
passwd -n 1 westos ##一天后可以改密码
chage -m 0 westos ##效果和上面的一样
密码最长有效期:表示密码最多使用n天
passwd -x 30 westos ##设置普通用户在30天后必须改密码
chage - M 40 westos ##功能同上
密码警告期限:
passwd -w 2 westos ##密码过期前两天有警告输出
chage -W 1 westos ##功能同上
密码非活跃期限:在密码到期的后的可以活跃的天数
passwd -i 1 westos ##密码过期后仍可以登陆系统的两天
chage -I 1 westos
密码到期日:
chage -E 2018-11-11 ##表示用户在2018-11-11会被冻结
用户自定义位置:目前没有使用
6、用户授权
用户授权配置文件:/etc/sudoers
使用vim 不能检测他的语法;使用visudo可以检测他的文件的语法正确性
授权配置命令:visudo
规范操作:文件100行左右
命令授权格式:
普通用户 主机名称=(转换成的新用户身份) 命令, 命令1..
普通用户 主机名称=(转换成的新用户身份) NOPASSWD: 命令, 命令1
EXAMPLE:(使用hostname来查看主机名)
westos desktop.example.com=(root) /usr/sbiin/useradd ##执行命令要密码
westos desktop.example.com=(root) NOPASSWD: /usr/sbin/useradd ##免执行命令要密码
su - westos
sudo useradd hello
补充:
当用户uid和gid为0时,则代表是超级用户
init 3 ## 初始化的级别为3
init 5 ## 以图形化打开
shadow中的加密方式为sha512;一般加密分为对称加密和非对称加密
当进程出现异常时,使用*** kill -9 id ***命令进行清除,id为进程号
---恢复内容结束---