查看文件的属性
ls -l -i
文件的类型和Linux的权限
第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件
当为 d 则是目录
当为 - 则是文件;
若是 l 则表示为链接文档(link file);
若是 b 则表示为块设备文件(硬盘),装置文件里面的可供储存的接口设备;
若是 c 则表示为字符设备文件 (字体) 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
若是 s 则表示为 socket文件
若是 p 则表示为 管道文件
管道:将前面一个命令的结果交给后面一个命令来处理即为管道技术。
接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
每个文件的属性由左边第一部分的 10 个字符确定
从左至右用 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系统中哪些是链接文件
上图文件列表中第一列权限位标识第一个字符显示的是文件类型,-为一般文件,d为目录,而l显示的就是链接文件
硬链接
硬链接是通过索引节点进行的链接,在Linux中,多个文件指向同一个索引节点是允许的,这种情况下的文件称为硬链接。硬链接文件相当于文件的另一个入口,它的作用就是允许一个文件拥有多个有效路径,这样用户可以建立硬链接的重要文件可以防止误删源数据
ln [源来的路径] [新的路径]
ln /123/a.txt b.txt
硬链接生成的是普通文件
软链接
软链接(符号链接)有点像window里的快捷方式,与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建
ln -s [源来的路径] [新的路径]
ln -s /123/a.txt b.txt
软链接生成的是真正的链接文件
file 文件信息
配置文件---.conf
日志文件---.log
脚本文件---.sh
脚本文件---.py
用户访问文件原理示意图
用户和用户组
用户就相当于系统系统管理员
用户组就相当于具备某种相同特征的一系列用户的集合
创建用户和用户组
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
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:用户的UID:用户的GID:用户的简介:用户的家目录:该用户登录默认的解析器
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
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
root:x:0:
第一段:root:用户组名
第二段:x:用户组的密码占位符
第三段:0:用户组的ID(GID)
/etc/gshadow 组密码文件
查看
cat /etc/gshadow
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选项
手动创建一个用户
chown 是用来修改用户及用户组
chown [用户].[用户组] [地址]
chmod 是用来修改权限的
chmod [权限] [地址]
第一步:
向 /etc/gshadow文件添加 user1:!::
vim /etc/gshadow
user1:!::
第二步:
向 /etc/group文件添加 user1:x:1111
vim /etc/group
user1:x:1111
第三步:
向 /etc/passwd文件添加 user1:x:1099:1111:手动创建文件:/home/test:/bin/bash
vim /etc/passwd
user1:x:1099:1111:手动创建文件:/home/test:/bin/bash
第四步:
向 /etc/shadow文件添加 user1:$6$Wj1ga/9nmn6UT134$z4o/eXCMCeVV/eNqyEURZGdbwheEex2HiHvARirraJlpHQoCTvyyh/i/0FmAngzvQ6SNU/QOo8MrpF0WL.bzT/::0:99999:7:::
vim /etc/shadow
第五步:
/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 (链接)
文件权限管理
基本权限介绍
基本权限类型
r:可读=》4
w:可写=》2
x:可执行=》1
权限的归属
属主:u
属组:g
其他人:o
第 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、可执行权限
文件可执行权限的最小权限是:文件夹有可执行权限而文件有可读可执行权限。
目录必须有可执行权限,文件才能拥有其他权限。