文件属性概述

查看文件的属性

ls -l -i

08.文件属性概述  01_可执行

文件的类型和Linux的权限

第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件

当为 d 则是目录
当为 - 则是文件;
若是 l 则表示为链接文档(link file);
若是 b 则表示为块设备文件(硬盘),装置文件里面的可供储存的接口设备;
若是 c 则表示为字符设备文件 (字体) 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
若是 s 则表示为 socket文件
若是 p 则表示为 管道文件
	管道:将前面一个命令的结果交给后面一个命令来处理即为管道技术。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

08.文件属性概述  01_字段_02

每个文件的属性由左边第一部分的 10 个字符确定

08.文件属性概述  01_用户组_03

从左至右用 0-9 这些数字来表示。

0 位确定文件类型

1-3 位确定属主(该文件的所有者)拥有该文件的权限。

第4-6位确定属组(所有者的同组用户)拥有该文件的权限

第7-9位确定其他用户拥有该文件的权限。

其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;

2、5、8 位表示写权限,如果用 w 字符表示则有写权限,如果用 - 字符表示没有写权限;

3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

硬链接和软链接

在linux系统中有种文件是链接文件,可以为解决文件的共享使用。链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)

查看linux系统中哪些是链接文件

08.文件属性概述  01_用户组_04

上图文件列表中第一列权限位标识第一个字符显示的是文件类型,-为一般文件,d为目录,而l显示的就是链接文件

硬链接

硬链接是通过索引节点进行的链接,在Linux中,多个文件指向同一个索引节点是允许的,这种情况下的文件称为硬链接。硬链接文件相当于文件的另一个入口,它的作用就是允许一个文件拥有多个有效路径,这样用户可以建立硬链接的重要文件可以防止误删源数据

ln [源来的路径] [新的路径]

ln /123/a.txt b.txt

硬链接生成的是普通文件

08.文件属性概述  01_字段_05

软链接

软链接(符号链接)有点像window里的快捷方式,与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建

ln -s [源来的路径] [新的路径]

ln -s /123/a.txt b.txt

软链接生成的是真正的链接文件

08.文件属性概述  01_用户组_06

file 文件信息

配置文件---.conf
日志文件---.log
脚本文件---.sh
脚本文件---.py

用户访问文件原理示意图

08.文件属性概述  01_硬链接_07

用户和用户组

用户就相当于系统系统管理员
用户组就相当于具备某种相同特征的一系列用户的集合

创建用户和用户组

uid 代表的是 用户的唯一标号
gid 代表的是 用户组的唯一编号

创建用户

useradd [选项(非必须)] [用户名称]


用户名命名规则:

1、可以包含字母和数字
2、必须以字母开头

选项:
-u : 指定uid
-g : 指定gid
-r : 指定创建系统用户
-s : 指定用户默认的解析器

创造用户组

groupadd [选项(非必须)] [用户组]

选项:
-g   指定gid
-f 	 新建一个账户,强制覆盖一个已存在的组账户

系统用户和普通用户的区别

系统用户一般用运行系统级别的应用程序

id号在 0 ~ 200之间的用户运行的是操作系统级别的应用程序
id号在 201 ~ 999 之间的用户运行的是用户级别的应用程序
通常情况下,id号在1000以下,那么该用户就是系统用户,在1000以上是普通用户。

普通用户一般用来登录操作系统

/etc/passwd文件保存的是用户信息

用户与组相关文件

和用户、组相关的文件:

/etc/passwd			保存用户的信息
/etc/shadow			保存用户的密码
/etc/group			用户组文件
/etc/gshadow		组密码文件

/etc/passwd 保存用户的信息

查看

cat /etc/passwd

08.文件属性概述  01_可执行_08

root:x:0:0:root:/root:/bin/bash

用户名:密码占位符:用户的UID:用户的GID:用户的简介:用户的家目录:该用户登录默认的解析器

08.文件属性概述  01_软链接_09

root:x:0:0:root:/root:/bin/bash

第一字段:root :用户名

第二字段:x: 用户的密码占位符(表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件)

第三字段:0:UID(用户ID)

第四字段:0:GID(组ID)

第五字段:root:描述性信息(用户的简介)

第六字段:/root: 主目录,通常称为用户的主(家)目录。

第七字段:/bin/bash: 默认Shell命令解释器

/etc/shadow 保存用户的密码

查看

cat /etc/shadow

08.文件属性概述  01_字段_10

root:$6$ixBIgswq$Dk6ojMj.SO9hBv4dq0DMhOxxKakhEQgu2tdmIHAdRfhZwjaCS70qJvLraP24yG0fPgm8z1NKsAMiIGBxqj0V1.:18888:0:99999:7:::


第一字段:root :用户名

第二字段:$6$ixBIgswq$Dk6ojMj.SO9hBv4dq0DMhOxxKakhEQgu2tdmIHAdRfhZwjaCS70qJvLraP24yG0fPgm8z1NKsAMiIGBxqj0V1.:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的;

第三字段:18888:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码

第四字段:0:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用处不是太大;

第五字段:99999:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;

第六字段:7:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;

第七字段::在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户
第八字段::用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;

/etc/group 组文件

查看

cat /etc/group

08.文件属性概述  01_字段_11

root:x:0:

第一段:root:用户组名

第二段:x:用户组的密码占位符

第三段:0:用户组的ID(GID)

/etc/gshadow 组密码文件

查看

cat /etc/gshadow

08.文件属性概述  01_可执行_12

root:::

第一段:root:用户组名

第二段::用户组的密码如果是空或!,表示没有密码

第三段: :用户组的管理者

用户管理命令

用户管理命令汇总

useradd        #添加用户
userdel        #删除用户
usermod        #修改用户信息

1、创建用户

useradd [用户名]

[root@localhost ~]#useradd hh1

2、查看用户

id [用户名]

[root@localhost ~]#id hh1
uid=1011(hh1) gid=1011(hh1) groups=1011(hh1)

注意:当创建一个用户时,如果没有指定用户的主组,将会创建一个同名的组作为用户的主组

3、删除用户

userdel [用户名]

[root@localhost ~]#userdel hh1


删除用户user1,但不删除用户家目录和mail
要想删彻底,加-r选项

08.文件属性概述  01_软链接_13

手动创建一个用户

chown 是用来修改用户及用户组
	chown [用户].[用户组] [地址]

chmod 是用来修改权限的
	chmod [权限] [地址]

第一步:

向  /etc/gshadow文件添加 user1:!::


vim /etc/gshadow 


user1:!::

08.文件属性概述  01_硬链接_14

第二步:

向  /etc/group文件添加 user1:x:1111
vim /etc/group

user1:x:1111

08.文件属性概述  01_字段_15

第三步:

向  /etc/passwd文件添加 user1:x:1099:1111:手动创建文件:/home/test:/bin/bash

vim /etc/passwd

user1:x:1099:1111:手动创建文件:/home/test:/bin/bash

08.文件属性概述  01_字段_16

第四步:

向  /etc/shadow文件添加 user1:$6$Wj1ga/9nmn6UT134$z4o/eXCMCeVV/eNqyEURZGdbwheEex2HiHvARirraJlpHQoCTvyyh/i/0FmAngzvQ6SNU/QOo8MrpF0WL.bzT/::0:99999:7:::


vim /etc/shadow


08.文件属性概述  01_软链接_17

第五步:

/etc/skel/ 用户老家的模板
mkdir -p /home/user1   (创建用户文件)

cp /etc/skel/.* /home/user1/    (复制用户模板)

[root@localhost home]#chmod 700 user1  (修改权限)

[root@localhost home]#chown user1.user1 user1(修改用户和用户组)
[root@localhost home]#cd user1
[root@localhost user1]#chown user1.user1 ./.*(修改用户和用户组)




ssh user1@192.168.15.200  (链接)

08.文件属性概述  01_硬链接_18

08.文件属性概述  01_用户组_19

文件权限管理

基本权限介绍

基本权限类型

r:可读=》4
w:可写=》2
x:可执行=》1

权限的归属

属主:u
属组:g
其他人:o

08.文件属性概述  01_用户组_03

第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。

第4-6位确定属组(所有者的同组用户)拥有该文件的权限

第7-9位确定其他用户拥有该文件的权限。

其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;

第 2、5、8 位表示写权限,如果用 w 字符表示则有写权限,如果用 - 字符表示没有写权限;

第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限

设置权限

r:可读=》4
w:可写=》2
x:可执行=》1

属主:u
属组:g
其他人:o


chmod [选项(非必须)] [数字权限,[归属+字母权限]] [路径]
-R : 递归设置

例:
[root@localhost dome]#chmod 000 abc
root@localhost dome]#ll
total 0
d--------- 2 root root 6 Sep 24 15:07 abc


例:
[root@localhost dome]#chmod u+xwr abc
[root@localhost dome]#ll
total 0
drwx------ 2 root root 6 Sep 24 15:07 abc

路径对于文件权限的意义

linux一般是最小化安装,为了提高性能;linux一般是设置最小权限,为了提高安全性。

注:一定要使用普通用户。同时使用全路径来测试。


1、读权限

当目录有可执行权限,文件有可读权限时,文件可读。

2、写权限

当目录有可执行权限,文件有可写权限时,文件可写。

3、可执行权限

文件可执行权限的最小权限是:文件夹有可执行权限而文件有可读可执行权限。

目录必须有可执行权限,文件才能拥有其他权限。