理解用户

 

 1.用户定义:

   用户就是系统使用者的身份,在系统中,用户存储为若干字符串+若干个系统配置文件

 

    举例: 用户信息涉及到的系统配置文件

     /etc/passwd    用户信息

    用户:密码:uid:gid:说明:家目录:用户使用的shell

     /etc/shadow    用户认证信息

    用户:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日

     /etc/group     组信息

    组名称:组密码:组id:附加组成员

     /etc/gshadow    组认证信息

     /home/username  用户家目录

     /etc/skel/.*    用户骨架文件

 

 

 

 2. 用户管理

   ① 用户操作命令

      id      查看用户信息

      id -u     用户uid

      -g       用户gid

     -a       用户所有信息

     -G       用户所在所有的id

    -un       用户名字

    -gn       用户初始组名称

    -Gn       用户所在所有组名称

 

    su - username    切换用户用户所使用的环境

    echo $PATH     查看当前用户的用户环境

    echo $USER     显示当前用户的信息

 

   ② useradd 新建用户

    -u     指定用户的uid

    -g     指定用户初始组,这个组一定要存在

    -G     指定附加组,组同样要存在

    -c     用户说明

    -d      指定用户加目录

    -s     指定用户使用的shell,shell种类参看/etc/shells

 

   ③userdel -r 删除用户

    groupadd-g###新建组,-g表示指定组的id

    groupdel###删除组

    passwd####更改用户密码

    ###删除用户

    passwd####更改用户密码

 

    查看用户建立或管理过程使用的命令

    watch -n 1 ‘tail -3 /etc/passwd;echo =====;tail -3 /etc/group’

 

   ④usermod-u 改变用户uid

    -g     改变用户初始组

    -G     改变用户附加组

    -aG     增加用户附加组

    -d     改变用户加目录信息

    -md     改变用户加目录信息和加目录名称

    -s     改变用户的shell

    -c     改变用户的说明

    -L     冻结用户

    -U     解锁用户

 

 

  3.用户权限下放(sudo)

    权限下放动作的配置文件 /etc/sudoers

    这个文件用visudo命令编辑

    文件内容写法:

     授权目标用户主机名称=(授权用户得到的新用户身份)授权用户执行命令

    示例:

     test用户能在localhost主机执行useradd(要test密码)

      testlocalhost=(root)/usr/sbin/useradd

     test用户能在localhost主机执行useradd(不要要test密码)

      testlocalhost=(root)NOPASSWD: /usr/sbin/useradd

      测试结果:

        su - test

        sudo useradd username

 

 4.密码期限更改

    chage -d 0 秘密使用了多久,如何设定为0表示用户登陆系统前必须更改密码

    -m     最短有效期

    -M     最长有效期

    -W     警告期

    -I     非活跃期

    -E     到期时间格式yyyy-mm-dd