当前位置 博文首页 > VLadimir_的博客:Linux下的用户和文件权限管理

    VLadimir_的博客:Linux下的用户和文件权限管理

    作者:[db:作者] 时间:2021-08-07 22:13

    一、管理用户账号和组帐号

    1.用户帐号和组帐号概述

    1.1用户帐号

    用户账号

    特点

    超级用户

    root用户,负责系统管理和维护

    普通用户

    由root创建,有限的权限,一般只在自己的宿主目录中拥有完整权限

    程序用户

    Linux系统自带,不许登录到系统,仅用于维护系统或某个程序的正常运行

    1.2组帐号

    基本组(私有组):一个用户帐号至少属于一个组,权限最大

    附加组(公共组):一个用户同时还包含在其他组中,这些组就属于附加组

    1.3UID和GID号

    UID(User IDentity,用户标识号)

    GID(Group IDentify,组标识号)

    root用户账号:0

    程序用户帐号:1~999(7.0以前版本1~499)

    普通用户账号:1000~60000(7.0以前版本500~60000)

    2.用户账号管理

    2.1用户帐号文件

    与用户帐号相关的配置文件主要有两个,分别是/etc/passwd和/etc/shadow

    (1)passwd文件中的配置行格式

    保存用户名称、宿主目录、登录Shell等基本信息

    用“:”进行分隔,每一段有每一段的含义,总共有七个字段,每个字段含义分别如下所述:

    第一字段:用户帐号

    第二字段:密码占位符

    第三字段:用户帐号ID

    第四字段:组帐号ID

    第五字段:用户说明

    第六字段:宿主目录

    第七字段:登录 Shell

    (2)shadow文件中的配置行格式

    保存用户的密码、账号有效期等信息

    文件的每一行内容包含九个用冒号“:”分隔的配置字段,每个字段的含义如下所述:

    第一字段:用户帐号的名称

    第二字段:加密的密码字串信息

    第三字段:上次修改密码的时间

    第四字段:密码的最短有效天数,默认值为0,表示不进行限制

    第五字段:密码的最长有效天数,默认值为99999,表示不进行限制

    第六字段:提前多少天警告用户口令将过期,默认值为7

    第七字段:在密码过期之后多少天禁用此用户

    第八字段:帐号失效时间,默认值为空

    第九字段:保留字段(未使用)

    2.2添加、修改、删除用户帐号

    (1)useradd命令:添加用户账号

    参数

    作用

    -d

    指定用户的家目录(默认为/home/username)

    -e

    账户的到期时间,格式为 YYYY-MM-DD.

    -u

    指定该用户的默认 UID

    -g

    指定一个初始的用户基本组(必须已存在)

    -G

    指定一个或多个扩展用户组

    -N

    不创建与用户同名的基本用户组

    -s

    指定该用户的默认 Shell 解释器

    (2)passwd命令:设置/更改用户口令

    参数

    作用

    -l

    锁定用户,禁止其登录

    -u

    解除锁定,允许用户登录

    --stdin

    允许通过标准输入修改用户密码,如 echo "NewPassWord" | passwd –stdin Username

    -d

    使该用户可用空密码登录系统

    -e

    强制用户在下次登录时修改密码

    -S

    显示用户的密码是否被锁定,以及密码所采用的加密算法名称

    不指定用户名时,修改当前账号的密码

    (3)usermod命令:修改用户账号的属性

    ?

    参数

    作用

    -c

    填写用户账户的备注信息

    -d -m

    参数-m 与参数-d 连用,可重新指定用户的家目录并自动把旧的数据转移过去

    -e

    账户的到期时间,格式为 YYYY-MM-DD

    -g

    变更所属用户组

    -G

    变更扩展用户组

    -L

    锁定用户禁止其登录系统

    -U

    解锁用户,允许其登录系统

    -s

    变更默认终端

    -u

    修改用户的 UID

    (4)userdel命令:删除用户账号

    参数

    作用

    -f

    强制删除用户

    -r

    同时删除用户及用户家目录

    3.组帐号管理

    3.1组帐号文件

    与组账号相关的配置文件也有两个,分别是/etc/group(保存组帐号基本信息)和/etc/gshadow(保存组帐号的密码信息)

    3.2添加、管理、删除组帐号

    (1)groupadd命令:添加组帐号

    (2)gpasswd命令:添加、设置、删除组帐号

    -a:添加

    -d:删除

    -M:同时添加多个帐号

    (3)groupdel命令:删除组帐号

    4.查询帐号信息

    4.1 groups命令:查询用户帐号所属的组

    4.2 id:查询用户帐号的身份标识

    4.3 finger命令:查询用户帐号的登录属性

    如果没有该命令的话,可以先安装,如下:

    安装完成后,可以使用finger命令了,如下:

    4.4 w命令:查询当前主机的用户登录情况

    二、管理目录和文件的属性

    1.查看目录和文件的属性

    ?

    尽管在 Linux 系统中一切都是文件,但是每个文件的类型不尽相同,因此 Linux 系统使用了不同的字符来加以区分,常见的字符如下所示。

    • -:普通文件。
    • d:目录文件。
    • l:链接文件。
    • b:块设备文件。
    • c:字符设备文件。
    • p:管道文件。

    文件的读、写、执行权限可以简写为 rwx,亦可分别用数字 4、2、1 来表示,文件所有者,所属组及其他用户权限之间无关联,如下表所示。

    权限项

    执行

    执行

    执行

    字符表示

    r

    w

    x

    r

    w

    x

    r

    w

    x

    数字表示

    4

    2

    1

    4

    2

    1

    4

    2

    1

    权限分配

    文件所有者

    文件所属组

    其他用户

    ?

    2.设置目录和文件权限(使用chmod命令)

    chmod?? [ugoa]? [+-=]? [rwx]? 文件或目录...

    或chmod nnn 文件或目录...

    u、g、o、a 分别表示属主、属组、其他用户、所有用

    +、-、= 分别表示增加、去除、设置权限

    nnn:3位八进制数

    结合“-R”可进行递归修改,如下

    3.设置目录和文件的归属(使用chown命令)

    chown? 属主?? 文件或目录

    chown? :属组? 文件或目录

    chown? 属主:属组? 文件或目录

    -R:递归修改指定目录下所有文件、子目录的归属

    cs