linux 账号和权限管理

543 阅读5分钟

用户账号和组账号概述

linux基于用户身份对资源访问进行控制

用户账号

image.png

组账号

image.png

UID和GID

image.png

用户账号文件/etc/passwd

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

  • 文件位置:/etc/passwd
  • 每一行对应一个用户的账号记录
  • 基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。
  • 在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此有在一定的安全隐患。后来经改进后,将密码转存入专门的shadow文件中,,而passwd文件中仪保留密码占位符"x"。

7个字段

指令:head -2 /etc/passwd

QQ截图20220307190714.png

用户账号文件/etc/shadow

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

  •  文件位置:/etc/shadow
  •  每一行对应一个用户的密码记录
  •  默认只有root用户能够读取shadow文件中的内容,且不允许直接编辑该文件中的内容

 

9个字段(以:为分隔)

指令:head -2 /etc/shadow

  • 示例: root:$6$9/xVl6PV$fzlIeSlxg7wLDHyHy5VJD/KWynOhvGuUYVB/QNTyDfhy8TM8WrPKHDr/uWdTmuv6EvTi2SVVTSpLVR.RlMPw/0:19051:0:99999:7::: Snipaste_2022-03-07_19-16-30.png

  • 字段一:用户账号的名称

  • 字段二:使用MD5加密的密码字串信息,当为"*“或”!!"时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统

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

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

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

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

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

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

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

添加用户账号:useradd

在/etc/passwd文件和/etc/shadow文件的末尾增加该用户账号的记录。

若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。

若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group和/etc/gshadow文件中。

1. 格式

useradd 【选项...】 用户名

2. 常用选项

image.png

## 设置/更改用户口令:passwd

  •  root用户可以指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码。
  •  普通用户却只能执行单独的"passwd"命令修改自己的密码。 1. 格式

passwd 【选项...】 用户名

2. 常用选项

image.png

修改用户账号属性:usermod

1. 格式

usermod 【选项...】 用户名

2. 常用选项

image.png

注: 比如将 mrhope 用户的登录名更改为 qaz123

usermod -l mrhope qaz123

删除用户账号:userdel

1. 格式

userdel -r 用户名

用户账号的初始配置文件

1、文件来源

  •  useradd命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件。
  •  这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件。

2、主要的用户初始配置文件

2.1、宿主目录下的初始配置文件只对当前用户有效

image.png

2.2、全局配置文件对所有用户有效

image.png

组账号文件

1、与用户账号文件相类似

image.png

2、/etc/group文件内容:

[root@localhost ~]# head /etc/group (查看group文件)
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:

image.png

添加组账号:groupadd

1、格式

groupadd -g GID 组账号名

  1. 实例 groupadd -g 1000 mrhope #添加组账号mrhope

添加删除组成员:gpasswd

1、格式

gpasswd 【选项..】 组账号名

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

image.png

查询账号信息

1、查询用户所属组:groups

group 用户名

2、查询用户身份标识:id

3、查询用户账号的登录属性:finger(需要先安装finger软件包)

finger 用户名

4、查询已登录到主机的用户信息:w、who、users

文件/目录的权限和归属

访问权限

image.png

归属(所有权)

image.png

查看文件/目录的权限和归属

image.png

image.png 注:rwx表示可读可写可执行,用数字会更利于记忆,4读2写1执行

设置文件/目录的权限和归属:chmod

1、格式一

chmod 【ugoa...】 【+-=】 【rwx】 文件或目录

“ugoa”表示该权限设置针对的用户类别。(缺省时为a)

‘u’ 代表文件属性

‘g’ 代表文件属组内的用户

‘o’ 代表其他任何用户

‘a’ 代表所有用户

"+ - ="表示设置权限的操作动作。

‘+’ 代表增加相应权限

‘-’ 代表减少相应权限

‘=’ 代表仅设置对应的权限

“rwx”是权限的字符组合形式,也可以拆分使用。

2、格式二

chmod nnn 文件或目录

每个n代表一个八进制数,每个八进制数值得是权限的数字表示形式的和

设置文件和目录的归属:chown

1.格式

image.png

image.png

设置目录和文件的默认权限:umask

1、作用

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

默认权限去除umask的权限为新建的文件或者目录的权限(新建的文件或者目录的权限为默认最大权限减去umake 。普通文件的最大默认权限为6, 目录的最大默认权限为7。)

2、umask设置: umask 022

3、umask 查看: umask