################
####第五单元####
################
##################
####1.用户理解####
##################
用户就是系统使用者的身份
在系统中用户存储为若干窜字符+若干个系统配置文件
用户信息涉及到的系统配置文件:
/etc/passwd ###用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ###组信息
组名称:组密码:组id:附加组成员
/etc/gshadow ###组认证信息
/home/username ###用户家目录
/etc/skel/.* ###用户骨架文件
##################
####2.用户管理####
##################
1.用户建立
useradd 参数 用户名字
-u ##指定用户uid
-g ##指定用户初始组信息,这个组必须已经存在
-G ##指定附加组,这个组必须存在
-c ##用户说明
-d ##用户家目录
-s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字
2.用户删除
userdel -r 用户名称 -r表示删除用户信息及用户的系统配置
3.组的建立
groupadd -g(组id) 组名字 ##建立组(指定组id)eg.groupadd -g888 class1
groupdel 组名字 ##删除组
作以上实验的监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
4.用户id信息查看
id 参数 用户
-u ##用户uid
-g ##用户初始组id
-G ##用户所有所在组id
-n ##显示名称而不是id数字
-a ##显示所有信息
5.用户信息更改
usermod 参数 用户
-l ##更改用户名称
-u ##更改uid
-g ##更改gid
-G ##更改附加组
-aG ##添加附加组
-c"内容说明" ##更改说明(添加用户说明)
-d ##更改家目录指定
-md ##更改家目录指定及家目录名称
-s/bin/sh ##更改shell(后接shell的文件路径)
-L ##冻结帐号
-U ##解锁
补充:
查看系统可用的shell:
[root@foundation19 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
######################
####3.用户权力下放####
######################
1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
2.下放权力的方法
*)超级用户执行visudo进入编辑/etc/sudoers模式
*)格式:
获得权限用户 主机名称=(获得到的用户身份) 命令(多个命令的话用,号隔开。eg./usr/sbin/useradd和/usr/sbin/userdel中间是逗号隔开)
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
就写在99行:
98 root ALL=(ALL) ALL
99
100 ## Allows members of the 'sys' group to run networking, software,
主机名称可以用hostname来查
3.执行下放权限命令
sudo 命令 ##如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码
###############################
##### 4.用户认证信息的控制 ####
###############################
chage 参数 用户
-d ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m ##最短有效期
-M ##最长有效期
-W ##警告期
-I ##用户非活跃天数
-E ##帐号到期日格式 -E "YYYY-MM-DD"
重点注意:
[root@foundation19 ~]# vim /etc/login.defs
25 PASS_MAX_DAYS 99999
26 PASS_MIN_DAYS 0
27 PASS_MIN_LEN 5
28 PASS_WARN_AGE 7
31 # Min/max values for automatic uid selection in useradd
32 #
33 UID_MIN 1000
34 UID_MAX 60000
35 # System accounts
36 SYS_UID_MIN 201
37 SYS_UID_MAX 999
40 # Min/max values for automatic gid selection in groupad d
41 #
42 GID_MIN 1000
43 GID_MAX 60000
44 # System accounts
45 SYS_GID_MIN 201
46 SYS_GID_MAX 999
63 # the permission mask will be initialized to 022.
64 UMASK 077
1. . 代表桌面
2.chage -E "2017-01-11" westos
其中双引号可加可不加:但横杠必须写,否则系统会识别为从1970年开的第20170111天