一、用户理解
- 用户管理就是使用者的身份
- 在系统中用户存储为若干窜字符+若干个系统配置文件
- 用户信息涉及到的系统配置文件
- /etc/passwd ##用户信息
- 名字:密码:UID(-u):GID(-g):说明(-c):家目录(-d):所使用的shell(-s)
- /etc/shadow ##用户认证信息
- /etc/group ##组信息
- 组名称:组密码:组id:附加组成员
- /etc/gshadow ##组认证信息
- /home/username ##用户家目录
- /etc/skel/.* ##用户骨架文件
- /etc/passwd ##用户信息
注意:
- #/etc/skel/这个目录中的所有文件或者目录在用户新建的过程中会被复制到用户的家目录里
- 这个目录中默认存在的隐藏文件是用户的默认配置文件
- #用户家目录里的模板
二、用户管理
- 查看用户id信息
- id 参数 username
- -u ##用户uid
- -g ##用户初始组id
- -G ##用户所有所在组id
- -n ##显示名称而不是id数字
- -a ##显示所有信息
- id 参数 username
- 用户建立
- useradd 参数 username
- -u ##指定用户uid
- -g ##指定用户初始组信息,这个组必须已经存在
- -G ##指定附加组,这个组必须已经存在
- -c ##用户说明
- -d ##用户家目录
- -s ##用户所使用的shell,/etc/shell/记录了用户所能使用的shell名称 ##超级用户
- useradd 参数 username
[root@localhost Desktop]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
[root@localhost Desktop]#
- 用户删除
- userdel -r username
- ##-r表示删除用户信息及系统配置
- 用户信息更改
- usermod 参数 username
- -l ##更改名称
- -u ##更改uid
- -g ##更改gid
- -G ##更改附加组
- -aG ##添加附加组
- -c ##更改说明
- -d ##更改家目录指向
- -md ##更改家目录指向的同时更改家目录
- -s ##更改shell
- usermod 参数 username
- 组的建立
- groupadd -g ##建立组
- groupdel groupname ##删除组
- groupmod -g ##更改gid
- groupmod -n ##更改groupname
做用户建立,用户删除,用户更改,组信息实验的监控命令
watch -n 1 'tail -n 4 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
##监控尾四行
cp /etc/group- /etc/group ##误删除群组时。可用备份恢复
cp /etc/passwd- /etc/passwd
作以上实验的监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
三、用户权限下放
- 在系统中超级用户可以下放普通用户不能执行的操作给普通用户
- 下放权权限配置文件:/etc/sudoers
- 下放权限的方法
- *1.超级用户执行visudo进入编辑/etc/sudoers模式
- *2.格式:
- 获得权限用户 主机名称=(获得到的用户身份) 命令
-
## Allow root to run any commands anywhere root ALL=(ALL) ALL tutu localhost=(root) /usr/sbin/useradd,/usr/sbin/userdel ##(执行时提示错误后+e重新进入编辑) ##tutu用户能在localhost以超级用户身份执行/usr/sbin/useradd和/usr/sbin/userdel
- 执行下放权限命令
- sudo 命令 ##第一次执行sudo需要输入当前用户密码
- 在/etc/sudoers中可以设置如下:
- tutu localhost=(root) NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel
- 表示用户调用sudo命令时不需要输入自己密码
四、用户认证信息的控制
- “passwd”用来修改用户认证信息
- 用户:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
- passwd tutu ##如果是超级用户,不需要知道原始密码,直接修改,没有密码强度限制
- ##如果是普通用户,则需要输入原始密码,密码不能少于8个字符,不能是纯数字和纯密码
- passwd -S username ##查看用户密码信息
- passwd -d username ##删除用户密码
- passwd -l username ##冻结用户密码
- passwd -u username ##解锁用户
- passwd -e username ##更改密码默认使用天数
- passwd -x username ##密码最长有效期
- passwd -n username ##密码最短有效期
- passwd -w username ##密码过期前警告期
- passwd -i username ##密码非活跃天数
- passwd -stdin username ##非交互式更改用户密码
- chage
- chage 参数 username
- -d ##更改最后一次密码修改时间,如果设定为0,则用户登陆系统后必须修改自己密码
- -m ##更改最短有效期
- -M ##更改最长有效期
- -W ##更改警告期
- -l ##更改非活跃天数
- -E "YYYY-MM-DD" ##更改帐号到期日
#watch -n 1 加目录 ##每隔一秒监控一次目录下的进程