文件权限管理

详细信息字段意义

ls -l详细信息显示的信息字段意义,如果需要看目录的权限则使用ls -ld

image-20221024173159715

文件权限

有些目录我们可能没有办法操作,这就是因为我们没有文件的权限
在Linux中,每个文件的权限分配用9个位来标识,标注了文件所有者,文件所属组,其他用户对文件的权限,分别是读,写,执行,最后的.,代表是否配置扩展权限,有.代表没有配置

image-20221013223130502

rwx对应二进制1 1 1,十进制4 2 1,rwx=7

文件权限rwx rwx rwx 对应7 7 7 #为了方便理解,权限之前有空格隔开,实际上不会有空格

文件权限rw rw rw 对应6 6 6

文件权限rwx rwx rw 对应7 7 6

文件权限rwx r-x rw 对应7 5 6

文件默认权限

文件默认权限由umask值确定
目录默认权限:777-umask值
文件默认权限:666-umask值
更改umask值:umask 数值

修改文件权限

chmod 777 file              #更改文件权限为rwxrwxrwx的命令
chmod 766 file              #更改文件权限为rwxrw-rw-
chmod -R 777 /test/myapp    #递归更改目录的权限,包括子目录和子文件

除了使用数字,还可以使用加减号(+,-)来管理权限
u代表用户(前三位);g代表用户组(中间三位);o代表其他用户(后三位);
a代表全部权限,rwx代表读,写,执行,三个权限

chmod a-w file    #所有权限减去w,即取消`用户,用户组,其他用户`的`写`权限
chmod u-w file    #把当前文件的所属用户(u,即前三个rwx),的写权限(w)去掉

硬链接数量

表示着文件硬链接的数量

文件所有者

在9位文件权限后面,表示的是文件所有者文件所属的组,只有root用户才可以更改文件所有者

image-20221014163936635

修改文件所有者

只有root用户才可以更改文件所有者,文件所有者和文件所属的组的表示用:分开

chown root 1240           #将文件1240的所有者改为root
chown root:root 1240      #将文件1240的所有者和文件所属的组都改为root
chown -R root:root 26252  #将文件夹26252和子文件夹和子文件的所有者和所属组都改为root

用户分类

  • 超级用户
    用户名为root, 它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。

  • 系统用户(伪用户)
    一是Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,比如:bin、 daemon、adm、lp等用户,系统用户不能用来登录。

  • 普通用户
    一是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

用户组的分类

Linux中的组有以下三种:

  • 基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组,基本组只容纳一个用户。当把其他用户加入到该组中,则基本组就变成了附加组。

  • 附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。

  • 系统组:一般加入一些系统用户。

UID和GID

每个用户都有一个UID数值
超级用户的UID 0
系统用户的UID 1999 (Redhat7)
普通用户的UID 1000
60000 (Redhat7)

系统用户的UID  1~499           (Redhat6)
普通用户的UID  >=500           (Redhat6)

用户账号相关文件

在Linux中,用户账号、密码、组信息和组密码均
是存放在不同的配置文件中的。

用户账号文件 /etc/passwd

保存用户的账号信息,里面的字段用:分割开
/etc/passwd

image-20221011130503456

  • 字段1: 账号名称
  • 字段2: ‘x’ 代表密码占位符 真正的密码在/etc/shadow
  • 字段3: 用户的uid号
  • 字段4: 用户基本组的gid号
  • 字段5: 用户全名
  • 字段6: 宿主目录(用户的家目录)
  • 字段7: 用户登录shell

在图形化界面的对应:(图形化管理工具在后面安装)

image-20221011134230440

用户密码文件 /etc/shadow

保存用户的密码,使用了加密算法,又称shadow阴影密码

/etc/shadow   
  • 字段1:用户账户名称
  • 字段2:用户密码信息,使用了哈希加密算法
  • 字段3:上次修改密码的时间(1970.1.1)
  • 字段4:密码最短有效天数
  • 字段5:密码最长有效天数
  • 字段6:密码过期警告时间
  • 字段7:密码过期后是否可以登录 0不允许,10允许10天,-1允许登录后一天,
  • 字段8:密码过期时间
  • 字段9:保留字段

image-20221011123324307

组账号文件 /etc/group

保存着组账号的基本信息,如同/etc/paswd文件
/etc/group

字段1:用户名
字段2:密码
字段3:

组密码文件 /etc/gshadow

保存组密码的文件,如同/etc/shadow文件
/etc/gshadow

  • 字段1:用户名
  • 字段2:密码
  • 字段3:uid
  • 字段4:gid
  • 字段5:描述信息
  • 字段6:家目录
  • 字段7:shell

安装图形化管理工具

安装system-config-users

1.挂载光盘

image-20221011104032739

2.配置yum仓库

image-20221011110305781

image-20221011110351948

如果你创建的目录不一样,上图里的file:///mut/cd ,要换成你实际创建的目录

image-20221011110452041

3.安装软件包

接下来就可以安装

image-20221011112150672

可以在杂项-用户群组里打开,或者直接命令行输入命令来进行用户管理

image-20221011112303859

在用户和群组里就可以管理用户,添加账户之后在命令行里查看etc/passwd和/etc/shadow,用来验证更改前后有什么不同

用命令行管理用户

创建用户

useradd [选项] username
-u #为账号指定uid
-g #指定用户gid
-s #为账号指定默认的登录shell
-G #将用户添加到指定的附属组里面
-c #为用户添加文本描述
-d #为主目录指定不同于登录名的名称
-m #创建用户的家目录(默认创建)
-M #不创建用户的家目录
-p #passwd:为用户指定一个 默认密码
-r #创建一个系统账号
-e #指定用户账号的逾期时间YYYY-MM-DD

image-20221011113206974

删除用户

userdel -r username

image-20221011125924777

修改用户信息

usermod [选项] username

  • -u #重新指定用户的 uid 号
  • -s #重新指定用户的登录shell
  • -G #将用户添加到附加组内
  • -L #用于锁定账号,使用户无法登录
  • -U #用于解除账号锁定,使用户能够登录

image-20221011114316653

image-20221011123240534

组用户管理

image-20221011133135304

image-20221011133151540

修改登录配置文件(账户密码安全策略设置)

/etc/login.defs

可以修改密码最大天数

image-20221011131417727

image-20221011131407729

PASS的这四个对应着

  • 密码最大有效期
  • 两次修改密码的最小间隔
  • 密码最小长度(对于root无效)
  • 密码过期前多少天开始提示

image-20221011131430614