Linux中的用户、组和权限管理

用户、组和权限管理

一、用户

1、用户类型:

在Linux中,用户类型可分为管理员root和普通用户,普通用户又可分为系统用户和登录用户。

  • 管理员root
  • 普通用户
    • 系统用户
    • 登录用户

2、用户标识:UID

Linux采用2字节的二进制数作为用户的UID,可标识范围从0~65535。管理员root的UID为0。普通用户的UID范围为1~65535。
其中,在CentOS 6中,系统用户的UID范围为1~499,登录用户的UID范围为500~60000。而在CentOS 7中,系统用户的UID范围为1~999,登录用户UID范围为1000~60000。

3、用户相关配置文件:/etc/passwd、/etc/shadow

  • /etc/passwd:用户信息库
    /etc/passwd 文件存储着用户的基本信息,存储格式为:

    ①name : ②passwd : ③UID : ④GID : ⑤GECOS : ⑥home_directory : ⑦shell

    其中各字段代表的含义分别是:
    ① name:用户名
    ② passwd:用户密码,此处用x代替,真正的密码经加密后已存放于/etc/shadow文件中
    ③ UID:用户的用户标识
    ④ GID:用户的基本组标识
    ⑤ GECOS:注释信息
    ⑥ home_directory:用户的家目录
    ⑦ shell:用户的默认shell

  • /etc/shadow:用户密码文件
    文件中存储着用户密码的相关信息,格式如下:

    ①登录名:②加了密的密码:③最近一次修改密码的时间:④密码最短使用期限:⑤密码最长使用期限:⑥警告期限:⑦过期期限:⑧账号失效日期:⑨保留字段

    Linux中的用户、组和权限管理_第1张图片
    ①登录名:
    ②加了密的密码:
    ③最近一次修改密码的时间:相对于1970年1月1日算起的天数
    ④密码最短使用期限:与第三字段相比
    ⑤密码最长使用期限:与第三字段相比
    ⑥警告期限:与第5字段相比
    ⑦过期期限:与第5字段相比
    ⑧账号失效日期:相对于1970年1月1日算起的天数
    ⑨保留字段

二、用户组

1、组类别:

  • 分类一:
    • 管理员组
    • 普通用户组
      • 系统用户组
      • 登录用户组
  • 分类二:
    • 用户的基本组:每个用户又一个基本组,为/etc/passwd文件中指定的GID那个组。
    • 用户的附加组:一个用户可属于多个组,除基本组外的,都是该用户的附加组
  • 分类三:
    • 私有组:组名同用户名相同,且只包含一个用户
    • 公共组:组内包含多个用户

2、组标识:GID

组标识GID与用户标识UID相同,采用2字节的二进制数表示,可标识范围从0~65535。管理员组的GID为0。普通用户组GID范围为1~65535。
其中,在CentOS 6中,系统用户组的GID范围为1~499,登录用户的GID范围为500~60000。而在CentOS 7中,系统用户组的GID范围为1~999,登录用户组GID范围为1000~60000。

3、用户相关配置文件:/etc/group、/etc/gshadow

  • /etc/group:组的信息库
    文件内容格式:

    ①group_name : ②password : ③GID : ④user_list

    其中各字段代表的含义分别是:
    ①group_name:用户组名
    ②password:组密码,一般用x代替,真正的密码加密后存放在/etc/gshadow文件中
    ③GID:组标识
    ④user_list:组成员列表

  • /etc/gshadow:组密码文件

    ①组名:②加密了的密码:③组管理员:④组成员

    这个配置文件使用得少,后三个字段常为空

三、认证与加密

1、密码的使用策略(四点):

  • 使用随机密码
  • 最短长度不要低于8位
  • 应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类
  • 定期更换密码

2、加密方式

常见的加密方式有单对称加密,非对称加密和单向加密,Linux使用的是单向加密。单向加密有定长输出和雪崩效应的特点。不同长度的密码加密后得到的字符串是等长度的,且密码一个字符的变化,也会使得到的字符串千差万别。算法在加密时,通过通过添加随机数,使得即便相同的密码经过加密后得到的字符串也不相同。常见的单向加密算法有:md5、sha、sha224、sha256、sha384、sha512。(注:md:message digest,sha:secure hash algorithm)

3、登录时密码的认证过程

四、用户、组管理命令:

  1. useradd命令:创建新用户 。
  2. usermod:修改用户属性 。
  3. userdel:删除用户。
  4. groupadd:添加组。
  5. groupmod:修改组属性。
  6. groupdel:删除组。
  7. passwd:修改用户密码;root可以通过此命令修改所有人的密码,普通用户只能修改自己的密码。
  8. gpasswd:修改组密码。
  9. newgrp:临时切换基本组。
  10. chage:更爱用户密码过期信息。
  11. id:显示用户正在的有效ID。
  12. su:切换用户。
  13. chsh:修改登录默认shell。
  14. finger:显示登录中的熊使用者信息。
  15. chfn:改变finger命令系那是的信息,信息存储在/et/passwd文件注释字段。
  16. whoami:打印当前有效用户。
  17. pwck:passwork check,用于验证系统认证文件/etc/passwd和/etc/shadow的内容和格式的完整性。
  18. grpck:用于验证组文件的完整性,在认证之前,需要先锁定(lock)组文件/etc/group和/etc/shaow。

五、权限

在Linux系统中,用户拥有的权限分别为写r(read)、w(write)、x(execute)。对于普通文件而言,r权限代表用户可以获取文件的数据,w权限代表用户能够修改文件的数据,x权限代表用户可以将文件运行为进程;对于目录文件而言,r权限代表用户可使用ls命令获取其下的文件列表,w权限代表用户可以修改目录下的文件列表,即可以在该目录下创建或者删除文件,x权限代表用户可以使用cd命令进入目录下,且可使用“ls -l”来获取所有文件的详细信息。

Linux通过三位八进制数分别表示文件所有者、所有组和其他人的权限。

权限 二进制表示 八进制
-.-x 001 1
-w- 010 2
-wx 011 3
r- - 100 4
r-x 101 5
rw- 110 6
rwx 111 7

通过bash内嵌命令umask可得到四维八进制的权限掩码。后三位从左到右分别代表该用户创建文件时不被允许获得的权限。

[root@localhost ~]# umask
0022

以此为例,可通过八进制减法777-022,得到用户创建文件或目录时的默认权限为755。此外,无论umask设置为何值,创建文件时都默认不给予任何执行权限x。系统默认umask值为0022,即创建目录时,系统默认给予目录755权限;创建文件时,系统默认给予文件644权限

六、权限管理命令

  1. chmod:修改权限。
  2. chown:修改所有者和所有组。
  3. chgrp:修改所有组。
  4. umask:显示或设定文件的权限掩码。
  5. install:复制文件的同时可以设置文件的权限、所有者和所有组。

你可能感兴趣的:(Linux基础入门,linux)