Linux的用户和权限管理

一、Linux下的用户

Linux是一个多用户系统,我们可以多个用户同时登陆Linux

  账户实质上是一个用户在系统上的标识

Linux中的账户包括

用户账户

  1、普通用户账户:在系统上的热舞是进行普通工作

  2、超级用户账户(或管理员账户):在系统上的任务是对普通任务和整个系统进行管理

组账户(组是用户的集合)

  标准组:标准组可以容纳多个用户

  私有组:私有组中只有用户自己

当一个用户同属于多个组时,将这些组分为

  主组(初始组):用户登陆系统时的组

  附加组:用户登陆后可以切换的其他组

上面也说了,账户的实质上就是用户在系统上的标识,这些标识是用文件保存起来的

  用户名和UID被保存在/etc/passwd文件中,文件权限(-rw-r--r--)

  组和GID被保存在/etc/group文件中,文件权限(-r--------)

  用户口令(密码)被保存在/etc/shadow文件中,文件权限(-rw-r--r--)  

  组口令被保存在/etc/gshadow中,文件权限是(-r--------)

也就是说:我们创建的用户,这个用户的信息由不同的文件来保存着

有了上面的知识点我们来简述一下创建用户的时候会发生什么?

1、用户名和UID被保存在/etc/passwd这个文件中,用户的口令通常用shadow passwords保护

2、当用户登陆时,他们被分配了一个主目录和一个运行的程序(通常是shell)

3、若没有指定他所属于的组,CentOS就建立一个和该用户同名的私有组,且用户被分配到这个私有组中

再来回顾一下:账户的实质上就是用户在系统上的标识,这些标识是用文件保存起来的。也就是说:我们是可以直接编辑修改系统账户文件来维护账户

  但是不建议这样做,如果明确要这样做的话,最好使用命令检测一下你编辑的语法是否有问题

  pwck:验证用户账号文件,认证信息的完整性。该命令检测文 件“/etc/passwd”和“/etc/shadow”的每行中字段的格式和值是否正确

  grpck:验证组账号文件,认证信息的完整性。该命令检测文件/etc/group和/etc/gshadow的每行中字段格式和值是否正确

既然不建议我们直接编辑文件的方式来管理用户,那么Linux是肯定有现成的命令给我们使用的

1.1 管理Linux用户的命令

用户管理:

  1、useradd

  2、usermod

  3、userdel

组管理:

  1、groupadd

  2、groupmod

  3、groupdel

批量管理用户:

  1、成批添加/更新一组账户 newusers

  2、成批更新用户口令:chpasswd

组成员管理:

  向标准组中添加用户

    gpasswd -a <用户账号名><组账号名>

    usermod -G<组账户名><用户账号名>

  从标准组中删除用户

    gpasswd -d <用户账号名><组账号名>

口令维护(禁用、恢复和删除用户口令)

  1、设置用户口令:

    passwd [用户账号名]

  2、禁用用户账号口令

    passwd -l <用户账号名>

  3、查看用户账户口令

    passwd -S <用户账号名>

  4、恢复用户账户口令

    passwd -u <用户账号名>

  5、清除用户账户口令

    passwd -d <用户账号名>

口令时效设置:

  修改/etc/login.defs相关配置参数

设置已存在用户的口令时效

  chage命令

用户切换命令

  su

    直接切换成为超级用户

  sudo

    直接用sudo命令前缀执行系统管理命令。执行系统管理命令时无需知道超级用户的口令,使用普通用户自己的口令即可。

  

  用户相关的命令:

    1、id:显示用户当前的uid、gid和用户所属的组列表

    2、groups:显示指定用户所属的组列表

    3、whoami:显示当前用户的名称

    4、w/who:显示登陆用户以及相关信息

    5、newgrp:用于转换用户的当前组到指定的组账号,用户必须属于该组才可以正确执行该命令

 

posted @ 2019-04-18 20:53  chy8  阅读(660)  评论(0)    收藏  举报