首页 > 代码库 > Linux用户管理<一>

Linux用户管理<一>

一、在Linux中怎样理解用户?

1、用户就是系统中使用者的身份,在Linux系统中用户就是几个字符串+若干个系统配置文件。

二、存储用户信息的几个重要目录

  1/etc/passwd          #用来存放用户信息

    技术分享

    

    可以用命令man 5 /etc/passwd来查看每一列的意思,比如上面的图片

    Loveyu:用户的名字

    X:用户的密码,现在存放在/etc/shadow

    500:用户的ID

    501:用户所属组的ID

    User lovyu:用户的描述语言

    /home/loveyu:用户的家目录

    /bin/bash:用户执行命令是用到的shell

  2/etc/graoup        #用来存放组的信息

    技术分享

    

  3/etc/shadow         #用来存放用户密码信息的文件

    技术分享

    

    mysql:用户的名称

    !!:将用户的密码经过加密显示在这里,由于mysql用户没有密码,所以用两个!!代替

    17307:代表用户的最后一次修改密码到现在的天数,默认是从1970-1-1日开始

    0:代表修改密码间隔最短时间,修改一次密码后,下次修改就要等这个时间

    99999:表示修改密码间隔的最长时间,到达这个时间就要修改密码。

    7:代表警告时间

    ::

    ::密码的有效天数,就是17307-这个时间,就是用户的有效时间

   4/home/username    #用户的家目录

   5/etc/

   6/etc/skel #用户的骨架文件,当在/etc/skel目录下创建的文件会在新创建用户的家目录下。

    技术分享

三、用户管理

1id命令     id [OPTION]... [USERNAME]

   1id - printreal and effective user and group IDs

    #解释:打印真实有效的用户组ID和用户ID

   2》参数(具体操作命令请看下文)

   -u     #用户的ID     

   -g     #用户初始组的ID

   -G     #包含用户所有的组的ID

   -n     #显示名称,而不再是ID数字

   -a     #显示所有信息

2useradd命令    useradd [options] LOGIN

   1useradd -create a new user or update default new user information

   #解释:创建一个新用户或者更新新用户的默认信息

    2》参数

     -u     #指定用户的UID

    技术分享

    -g     #指定用户初始组信息

    技术分享

    -G     #指定附加组(这个组必须存在),换句话说,就是一个用户可以属于两个以上的组

     技术分享

    -c     #用来指定/etc/passwd中用户的说明        

    技术分享

    根据上文中用户说明的位置,看到-c可以修改用户说明

     -d     #指定用户的家目录

    技术分享

     默认家目录为/home/username

     -s     #指定用户所使用的shell/etc/shells记录了用户能使用的shell名称

    技术分享
    默认处理用户程序的shell/bin/bash

3userdel命令 userdel[options] LOGIN

    1userdel -delete a user account and related files

     #解释:删除用户的账号和与用户有关的文件

    2》参数

     -r      #删除和用户有关的所有文件

     -f      #强制删除

    技术分享 

   如果删除用户是不加参数r,则这个用户的家目录和邮件目录会已知保存在服务器上,必        须得要用户用rm删除

4usermod命令  usermod [options] LOGIN

    1usermod -modify a user account

      #解释:修改用户的账号

    2》参数

     love用户原来的信息

    技术分享

    -l      #更改用户的名称         

                    技术分享       

   将用户在/etc/passwd中的用户名和用户对应家目录所属的用户名称修改,但是家目录并没有过修改

      -u     #更改UID         

                   技术分享

  修改用户的UID888

  -g     #修改用户的GID

  技术分享    

   将用户的所属的组的GID修改为882,注意用户所属的组必须事先存在,不然系统会报错,没有这个组

     -G     #更改用户的附加组

    技术分享

     技术分享     

    注意:G参数知识修改用户附属的组,并不能添加,注意看执行usermod –G 801 linux的时候在/etc/group文件总的sa组中的ID后面多了一个linux,而在此执行下一条修改命令时:saID后面的linux变到了ID811love后面

     -aG           #添加用户的附加组

      技术分享   

   这张图片可以看出在/etc/group中的ID801811的后面都有了linux,ID811love组后面的linux并没有消失    

     -c  #修改用户的说明,和useradd命令相同

     -d         #更改指定的用户家目录

    技术分享     

  注意只修改了/etc/paswd中记录的love用户的家目录,真实/home/love并没有修改

     -md  #更改家目录指定及家目录名称

    技术分享   

注意:如果你在前面用-m 修改过/etc/passwd中记录的家目录,一定要修改成与之对应的家目录,如love的家目录必须改为/home/love,不然会提示你没有修改。如下图所示

    技术分享

    

    -s      #更改用户的shell

    修改用户的shell,useradd命令使用方法相同

     -L     #冻结账号

   将用户的登录锁住,可以从图片上看到在/etc/shadow文件中的密码项出现了两个!,与passwd不同的是,passed –l会出现两个!

   技术分享   

      -U    #解锁冻结账号

      将用户的登录锁撤销,对应的/etc/shadow密码的那块的!会消失。

    技术分享

5chage 命令    chage [options] [LOGIN]

   1chage -change user password expiry information

   #解释:修改用户的密码到期信息

   2》参数

    -d     #更改用户的最后一次修改密码的时间,如果修改成0,用户登录后必须修改自己的密码,默认是从1970-1-1日开始

     -m    #修改密码的最短有效期如果为1,则修改两次密码的时间间隔必须大于1

     -M    #修改密码的最长有效期,到达这个时间后用户必须修改密码

     -W     #警告期

     -I     #用户的非活跃天数

     -E     #账号到期日期 (时间格式”YYYY-MM-DD”)

    技术分享

    技术分享

  这个/etc/shdow中每一列可以用man 5 /etc/shadow 查看他的意思,注意看他的到期日期应该是从1970-1-1日开始算起

     

本文出自 “13122323” 博客,请务必保留此出处http://13132323.blog.51cto.com/13122323/1948728

Linux用户管理<一>