用户理解
用户信息涉及到的系统配置文件:
/etc/passwd ##用户信息
root:x:0:0:root:/root:/bin/bash
用户:密码:uid(用户id):gid(组id):说明:家目录:用户使用的shell
/etc/shadow ##用户认证信息
bin:*:16141:0:99999:7:::
用户:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ##组信息
root:x:0:
组名称:组密码:组id:附加组成员
/etc/gshadow ##组认证信息
/home/username ##用户家目录
/etc/skel/.* ##用户骨架文件
用户管理
在做此次实验时,我们需要另外打开一个shell监控用户及其组的信息,以直观地体现实验结果。
监控用户信息: watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo====;ls -l /home;echo====' 其中,echo命令相当于print
1.用户建立
useradd 参数 用户名
-u ##指定用户uid
-g ##指定用户初始组信息,这个组必须已经存在
-G ##指定附加组,这个组必须存在
-c ##用户说明
查看/etc/passwd里dd用户的信息如下:
-d ##用户家目录
查看/etc/passwd里ee用户的信息如下:
-s ##用户所使用的shell,
/etc/shells 中记录了用户能使用shell的名字
2.用户删除
userdel -r ##用户名称
-r表示删除用户信息及用户的系统设置
3.组的建立
grouopadd -g gid 组名字 ##组建立
4.组的删除
groupdel 组名字 ##删除组
5.用户信息查看
id 参数 用户名
id -u 用户名 ##查看用户uid
id -g 用户名 ##查看用户初始组id
id -G 用户名 ##查看用户所有所在组id
id -n 用户名 ##查看显示名称而不是id数字
id -a 用户名 ##查看显示所有信息
用户信息更改
usermod 参数 用户名
- usermod -l 用户名 ##更改用户名称
将aa用户的用户名改为afir
- usermod -u uid 用户名 ##更改uid
将bb用户的uid改为8888
- usermod -g gid 用户名 ##更改gid,该gid必须存在
- usermod -G gid 用户名 ##更改附加组,该gid必须存在
注意:当用户存在两个附加组时,使用该命令修改附加组只是对其中的一个附加组进行了替换
cc用户本来的附加组有:
使用该命令: usermod -G 7777 cc
由结果可知该命令只是把cc的其中一个附加组6666更换成了7777
- usermod -aG gid 用户名 ##添加附加组
该操作实现了在用户原有附加组的基础上增加了一个新的附加组
- usermod -c 说明信息 用户名 ##更改说明
- usermod -d dir 用户名 ##更改家目录指定
- usermod -md dir 用户名 ##更改家目录及指定家目录名称
- usermod -s shell 用户名 ##更改shell
- usermod -L 用户名 ##冻结用户的帐号,冻结之后该用户将不能登录系统
- usermod -U 用户名 ##解锁
用户权力下放
1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
2.下放权力的方法
a.超级用户执行visudo进入编辑/etc/sudoers模式
b.跳转到99行,插入代码
用户名(uername) 主机名=(获得到的用户身份:root) 命令(代码)
student server.example.com=(root) /usr/sbin/useradd
##怎样获取主机名:hostname
c.执行下放权限命令
切换到普通用户 su - student
sudo 命令
##第一次执行sudo的时候需要输入当前用户的密码
在配置文件中加入:
student desktop0.example.com=(root) NOPASSWD:/usr/sbin/useradd ##表示用户调用sudo命令的时候不需要自己的密码
切换到student用户进行测试,不需要输入student的密码:
用户认证信息的控制
/etc/shadow
用户认证信息的组成部分:
用户:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
passwd命令
- passwd -S 用户名 ####查看用户的密码信息
- passwd -d 用户名 ####删除用户密码
- passwd -l 用户名 ###冻结账号密码
比较passwd -l 与usermod -L的冻结程度:
将用户tt以passwd -l tt 的方式进行冻结,需要进行两次usermod -U tt 操作才能解冻
故passwd -l 的冻结程度 比usermod -L高
- passwd -u 用户 ####解锁用户
修改用户密码信息:
修改超级用户密码: passwd
修改普通用户密码: passwd 用户名
修改用户认证信息的命令:
chage 参数 用户名
- chage -m 最短有效期 用户名
- chage -M 最长有效期 用户名
- chage -W 警告期 用户名
- chage -I 用户非活跃天数(用户帐号密码到期后还能使用的天数) 用户名
- chage -E 帐号到期日期(‘YYYY-MM-DD‘) 用户名
用户安全级别的提升(用户每次登陆系统的时候都需要改变自己的密码)
passwd -e username
chage -d 0 username
##注:chage -d day username ###day如果不是0 ,则会更改密码最后一次的修改日期
root用户的密码忘记了该怎么办
1.重新启动系统
2.在系统启动阶段按上下键停止系统引导
3.选择启动引导标题,按‘e’进行编辑
4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改成rw,然后添加rd.break
5.ctrl+x 启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot :切换到真实的系统环境
7.passwd root 修改超级用户的密码
8.建立文件 touch /.autorelabel 让系统重新扫描所有文件
9.两次exit 使系统自动重新启动
简单配置网关
ls -a /etc/sysconfig/network-scripts
vim /etc/sysconfig/network-scripts/ifcfg-br0
将GATEWAY2 注释掉即可