Linux入门2-用户的管理
用户的管理
1.系统中为什么要有用户
用户:用来限制权力的最底层安全设定之一
组:用来共享权力,组分为初始组与附加组,初始组不能更改且必须存在,附加组可以自己决定但不一定存在
2.用户存在的形态
用户是在系统中以表格和表格中的一系列字符出现的
3.用户配置文件
/etc/passwd 用户信息文件
redhat :x : 1000 :1000: redhat : /home/redhat : /bin/bash
用户名:密码:用户id:组id:用户说明:用户家目录 :用户默认使用的shell
/etc/group 组信息文件
组名称:组密码:组id:附加组成员
/home/username 用户家目录
/etc/skel.* 用户骨文件,用户环境配置模板,在用户建立是会自动复制到用户家目录
4.用户的查看
id 查看当前用户的id信息
id -u student 查看用户的uid
id -un student 查看用户的uid
id -g student 查看用户的初始gid
id -gn student 查看用户的初始组id名称
id -G student 查看用户的所有组id
id -Gn student 查看用户的所有组id名称
id -n student 以名称显示信息
whoami 查看当前用户的名称
5.用户的建立及删除
设置监视器
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ===;ls -l /home/' 每秒钟执行一次
watch '' 默认每2两秒执行一次
adduser westos 创建一个用户
/etc/login.defs 创建用户的默认规则文件,可设置
创建用户时指定参数
useradd -u 6666 westos 指定uid
useradd -g 6666 westos 指定初始组id(初始组id必须已经存在)
useradd -G 附加组号 westos 指定附加组
useradd -c "text" westos 指定说明文字
useradd -d /mnt/westos westos 指定家目录
useradd -s /bin/tcsh 指定shell
userdel username 删除用户(只删除用户的身份,此时需要删除、/home/下的用户家目录)
userdel -r username 删除用户身份以及所有系统配文件
无法指定用户密码
cat /etc/shells 可查看本机可用shell
其中的/sbin/nologin与/usr/sbin/nologin不能登录和切换,使用这种shell的用户为系统用户
groupadd username 建立组
groupadd -g username建立组指定组id
groupdel username 删除组
kill -9 进程序号 来结束进程
6.用户的管理
1)usermod -l lunux(新名字) student(旧名字) 修改用户名称
2)usermod -u 666 student更改uid
3)usermod -g 666 student更改初始组id
4)usermod -G 666 student更改附加组(清除所有原附加组)
5)usermod -aG 666 student增加附加组
6)usermod -G "" student 删除所有附加组
7)usermod -c 文字 student更改说明文字
8)usermod -d /路径 student更改家目录指向(可能造成用户登录错误)
9)usermod -md /路径 student更改家目录指向并重命名家目录
10)usermod -s /路径 student更改shell
7.用户切换
su - username 高级用户向低级用户切换时不需要输入密码,低级用户向高级用户或同级用户切换时需要密码
值得注意的是,用户切换后用该登出或推出再登录其他用户,不能在多个用户之间直接切换,否则会出现问题
8.用户认证信息
用户认证信息的位置在 /tec/shadow
例如:
leo:!!:17751:0:99999:7:::
用户名称:用户密码:密码最后一次被修改时间(1970.1.1至修改日的天数):密码最短有效期:密码最长有效期:密码过期警告:密码非活跃期:账号到期日:未设定用户自定义
用户密码使用的是md5 sha512 加密方式 可在/etc/login.defs查看加密方式
密码最后一次被修改时间如果为0,表示用户第一次登录时需要强制修改密码 chage -d 0 username或使用passwd -e username
passwd -d username删除用户密码
usermod -l passwd -l 冻结账号
usermod -u passwd -u(效果强) 解锁账号
passwd username修改密码(root用户修改普通用户密码,不需原密码)
passwd 普通用户修改密码(需要原密码)
密码最短有效期
chage -m 1 username
passwd -n 1 username
密码最长有效期
chage -M 30 username
passwd -x 30 username
密码过期警告
chage -W 3 username
passwd -w 3 username
密码非活跃期
chage -I 2 username
passwd -i 2 username
账号到期日
chage -E 2018-1-1 username
9.用户权力下放
1)配置文件
/etc/sudoers
2)配置命令
使用 visudo命令进入(因为之歌命令会检查报错)
未授权时普通用户没有建立用户权力
获取主机名 hostname
语句:用户名称 主机名=(执行程序的身份) 添加命令路径
tom localhost.localdomain=(root) /usr/sbin/useradd
授权后可以使用普通用户创建用户,需要用户密码验证
tom localhost.localdomain=(root) NOPASSWD: /usr/sbin/useradd 这种方法不需要用户验证
再次添加路径时在前一个路径后加 逗号+空格,例如添加用户删除
10)超级用户密码忘记的处理方法
1.重新启动系统
2.在系统启动阶段按上下健停止系统系统引导
3.选择启动引导标题,按“E”进行编辑
4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
5.ctrl+x启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot切换到真实的系统环境
7.passwd root修改超级用户密码
8.exit两次使系统自动重新启动