知识结构:

  •  用户账号和组账号概述

  •  用户账号和组账号管理

  •  查询账号信息

  •  查看目录或文件的属性

  •  设置目录或文件的权限

  •  设置目录或文件的归属


(一)用户账号和组账号概述

用户账号:

  •  超级用户(root)

  •  普通用户

  •  程序用户(人为不可使用,专门管理某一个服务)

  •  everyone (匿名用户nobody)

组账号: 组(系统用户的集合,权限的集合)

  •  基本组(私有组):伴随着用户的创建而自行创建,与用户同名

  •  附加组(公共组):例如:人事部,财务部

UID和GID:

  •  UID(User IDentity 用户标识号):普通用户500-60000,程序用户1-499,root是0

  •  GID(Group IDentity 组标识号


用户账号文件/etc/passwd

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

  文件位置:/etc/passwd

查看:

[root@localhost ~]# head -2 /etc/passwd

每一行对应一个用户的账号记录

微信截图_20190816135805.png

passwd 文件的每一行内容中包含了七个用 “:”(冒号)分隔的配置字段,从左到右各配置字段的含义分别如下所述。

微信截图_20190816135805.png


用户账号文件/etc/shadow

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

文件位置:/etc/shadow

每一行对应一个用户的密码记录

微信截图_20190816135805.png

shadow 文件的每一行内容中包含了九个用“:”(冒号)分隔的配置字段,从左到右各 配置字段的含义分别如下所述。

第 1 字段:用户账号名称。

第 2 字段:使用 SHA-512(哈希算法中的一种)加密的密码字串信息,当为“*”或“!!”时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即 可登录系统。

第 3 字段:上次修改密码的时间,表示从 1970 年 01 月 01 日算起到最近一次修改 密码时间隔的天数。 

第 4 字段:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再 次修改密码。默认值为 0,表示不进行限制。

第 5 字段:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修 改密码。默认值为 99999,表示不进行限制。

第 6 字段:提前多少天警告用户密码将过期,默认值为 7。

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

第 8 字段:账号失效时间,此字段指定了用户作废的天数(从 1970 年 01 月 01 日 起计算),默认值为空,表示账号永久可用。

第 9 字段:保留字段,目前没有特定用途。


(二)用户账号和组账号管理

1,添加用户账号-useradd

useradd [选项]... 用户名
  • -u:指定账号的UID

  • -d:指定创建用户的家目录

  • -e:指定失效时间(YYYY-MM-dd 1990-10-11 天数)

  • -g:基本组 (对应的基本组必须存在

  • -G:附加组(对应的附加组必须存在)

  • -M:不创建家目录

  • -s:指定用户登录shell

创建zhangsan用户指定家目录和shell

[root@localhost ~]# useradd -d /opt/zhangsan -s /bin/bash zhangsan

微信截图_20190816135805.png

2,设置/更改用户口令-passwd(不加选项是设置密码)

passwd [选项] 用户名

常用选项:

  • -l:锁定用户

  • -S:查看用户状态

  • -u:解锁用户

微信截图_20190816135805.png

补充:passwd --stdin:标准性输入

微信截图_20190816135805.png

3,修改用户账号属性-usermod

usermod [选项] 用户名

常用选项:

  • -l:修改用户账号名称

  • -L:锁定用户

  • -U:解锁用户

以下选项与useradd命令中的含义相同

-u -d -e -g -G -s

4,删除用户账号-userdel

userdel [-r] 用户名

-r选项是连同用户账号的家目录一起删除

5,用户账号的初始配置文件

文件来源

  • 新建用户账号时,从/etc/skel目录中复制而来

主要的用户初始配置文件

用户的环境变量文件

  • ~/.bash_profile

  • ~/.bashrc

  • ~/.bash_loguot

微信截图_20190816135805.png

系统环境变量配置文件

  • /etc/profile

6,组账号文件(与用户账号文件相似)

  • /etc/group(保存组账号基本信息)

  • /etc/gshadow(保存组账号的密码信息)

微信截图_20190816135805.png

7,添加组账号-groupadd

groupadd [-g GID] 组账号名

微信截图_20190816135805.png

8,添加删除组成员-gpasswd

设置组账号密码啊(极少用),添加/删除组成员

gpasswd [选项] 组账号名

常用选项:

  • -a:向组内添加一个用户(追加用户到组)

  • -d:从组内删除一个用户成员

  • -M:定义组成员列表,以“,”分隔(会覆盖原组成员)

微信截图_20190816135805.png

9,删除组账号-groupdel

groupdel 组名

微信截图_20190816135805.png

(三)查询账号信息

  • groups:查询用户所属的组

  • id:查询用户身份标识

  • finger:查询用户账号的详细信息

  • w who users命令:查询已登录到主机的用户信息

微信截图_20190816135805.png

(四)查看目录或文件的属性

微信截图_20190816135805.png

权限项执行执行执行
字符表示rwxrwxrwx
数字表示421421421
权限分配文件所有者文件所属组其他用户

访问权限

r:查看文件的内容及目录列表

w:允许修改文件内容,允许在目录中新建,移动,删除文件或子目录

x:允许运行程序,切换目录(cd)

归属(所有权)

属主:拥有该文件或目录的用户账号

数组:拥有该文件或目录的组账号

d rwx r-x r-x 2(子目录个数) root(属主) root(属组) 6(文件大小字节)8月 5 2017(创建时间) 文件名

d:目录 

-:文件 

l:链接

第一段rwx:属主 主人

第二段r-x:属组 -不具备权限 “-”代表没有权限

第三段r-x:other 所有人(包括匿名用户)

(五)设置文件和目录的权限-chmod

chmod [ugoa] [+-=] [rwx] 文件或目录...
或
chmod nnn 文件或目录...
  • u,g,o,a分别表示属主,属组,其他用户,所有用户

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

  • nnn表示三位八进制数,即上面图示的4,2,1  文件的最大权限666 目录最大777

微信截图_20190816135805.png

微信截图_20190816135805.png

-R:递归修改指定目录下所有子项的权限

(六)设置文件和目录的归属-chown

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

微信截图_20190816135805.png

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

权限掩码umask

umask作用

  • 控制新建的文件或者目录的权限

  • 默认权限去除umask的权限就为新建的文件或者目录的权限

umask设置:umask 022

  • 文件最大权限是666 022就是666-644那就是rw-r--r--   目录最大权限是777 022就是777-755那就是rwxr-xr-x

umask查看:umask

微信截图_20190816135805.png


结语:

与 Windows 操作系统相比,Linux 操作系统中的用户账号和组账号的作用在本质上是一样的,同样都是基于用户身份来控制对资源的访问,只不过在表现形式及个别细节方面存在一些差异。


谢谢阅读!!!