################

####第五单元####

################

##################

####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天