天天看点

文件权限

晨考

1.linux系统中的文件‘身份证号’是什么
	index node

2.什么是硬链接,什么是软连接。
	硬链接就是文件的入口
	软连接就快捷方式

3.硬链接中保存的是什么,软连接中保存的是什么
	硬链接中保存的是index node号码
	软连接保存的是路径

4.删除文件的底层原理是什么
	删除硬链接
	硬链接格式为0时,删除文件内容

5.linux系统中常见的文件类型
	普通文件		:f(-)
	文件夹			:d
	链接文件		:L
	设备文件		:b,c
			b:磁盘文件
			c:字符文件
	套接字文件		:s
	管道文件		:p

6.创建用户的命令和参数
	useradd
		-g		:指定用户组
		-r		:指定系统用户
		-M		:不创建家目录
		-u		:制定与用户id
		-s		:指定解析器

7.创建用户涉及到的文件有哪些
	/etc/passwd
	/etc/group
	/etc/shadow
	/etc/gshadow
	创建用户:
		1.添加用户
			vim /etc/passwd
		2.添加组
			vim /etc/group
		3.添加密码
			vim /etc.shadow
		4.组
			vim /etc/gshadow
		5.家目录
			cd /home/
				mkdir 用户名
				cp /etc/skel/.bash* /home/用户名
				chown -R 新的使用者.新的组 原文件	:创建家目录
				chmod 700 新的使用者/			:增加权限

查看inode码:
	ll / -i
	stat

           

昨日问题

1.已连接只针对文件,不针对文件夹
2.index node号码必须是同一个文件系统内唯一
3./etc/passwd中添加用户,代表用户创建了,但不完全创建。(好像创建了,又好像没创建?)
           

概要

*********************************************
1.权限(重要)
2.系统优化
*********************************************
           

详细

1.权限

某一个用户针对某一个文件的权限
1.权限分为3部分
	r		:可读
	w		:可写
	x		:可执行
		脚本:执行脚本 == 运行脚本
	-		:没有对应权限

2.权限位
	权限位主要分为三部分:
		属主---属组---其他人
		rwxr-xr-x
		rex		:属主
		r-x		:属组
		r-x		:其他人
		针对三种角色有九个权限位,每种角色三种。
	一个文件属于哪个用户的,就是属主。同时属于这个用户所在的组。

3.每个权限拥有一个数字编号
	r----4		:可读
	w----2		:可写
	x----1		:可执行
	-----0		:没有对应权限

4.添加权限的时候,可以将权限加起来
	创建一个文件index:
		属主要求:可读可写可执行
		属组要求:可读可写
		其他人:没有任何权限
		rwxrw----:使用数字编号添加权限
		注:相加的时候每个角色的才可以相加
			rwxrw---- == 760
			rwx	==7
			rw-	==6
			---	==0
			到5里面查看添加

5.添加权限
	指令:chmod
		格式:
			chmod [参数] [权限表达式] [操作对象]
			参数:可有可无
			权限表达式:可以是数字形式或字符形式
		参数:
			-R	:递归更改文件夹内所有的文件权限
				chmod -R 777 index(这是4。创建的文件夹)

6.权限的归属:
	下列是为快速更改权限
	u		:属主
	g		:属组
	0		:其他人
	a		:所有

7.测试权限对用户的意义
	针对普通用户
	1.普通用户严格遵守权限
	2.root用户高于权限
	3.当1用户修改权限后,2用户需要重新登陆之后才可以操作1用户文件给的相关的权限

8.测试权限对于目录的意义
	超级管理员不受权限的限制
	1.文件可读,路径最小的权限是必须拥有可执行权(每层文件夹都要拥有可执行权限)
	2.文件可写,路径最小的权限是必须拥有可执行权限
	3.文件可执行,路径最小的权限必须拥有可读,可执行权限
	注:vim编写文件,文件要有可读可写权限
		echo重定向文件,只需要可写权限即可

9.创建文件的默认权限,创建文件夹的默认权限是从哪里来的
	在linux中,常用文件的权限是666,目录的权限是777
	1.文件的权限是跟umask值相减,遇到奇数相加,遇到偶数不变
	2.文件夹的权限是要跟umask值相减即可
	3.查看umask:
		cat /etc/profile
	4.umask的值:
		if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ];
			then
				umask 002
			else
				umask 022
		判断当前用户的id是否大于199和用户名和用户组的名相等时umask就是002,否则就是022
		-gt:与python中的 > 相同
		id -gn:表示组的id
		id -un:表示用户的id
		&&:与python中的and相同
		||:与python中的or相同
		umask:
			root	:002
		其他用户默认的smusk值需要进行判断
案例:
	案例1:设置1.txt的文件权限操作
		方法1:chmod 777 1.txt
		方法2:chmod u+r 1.txt(6.查看u+r具体使用)
	案例2:将index文件夹中的文件都设置一样的权限
		chmod 744 index/*
			注:这样只会更改index文件夹的下一层文件夹,而再向下就不会被更改
		需要递归更改:
			chmod -R 744 index/
		案例3:将index这个文件属组增加一个可执行权限
			chmod 770 index		:增加权限
			或者
			chmod g+x index		:权限的归属
			chmod g+x,o-r index  :增加,删减
	
           

2.文件时间信息

查看文件相关时间:
	stat [文件名]
		Access: 2021-12-15 16:04:01.003500731 +0800
		Modify: 2021-12-15 11:59:48.028012317 +0800
		Change: 2021-12-15 16:03:56.404500578 +0800
			Access:访问时间
				编辑文件内容会改变
			Modify:修改时间
				编辑文件内容会改变
				修改文件属性会改变
				注:编辑文件用echo,vim涉及读的过程,所以不用
			Change:改变时间(修改属性时间即:属组,属主,权限)
				修改文件属性会改变
				注:cp即复制也会改变此属性
           

测试

创建文件:

文件权限

1.cat访问文件

文件权限
任何时间都没有改变
           

2.vim访问文件不编辑

文件权限
任何时候都没有改变
           

3.echo 追加重定向文件

文件权限
1.Modifi
2.Change
           

4.vim编辑文件添加

文件权限
文件权限
第一次:三种时间都改变
第二次:后两个时间改变
           

5.chmod更改权限

文件权限
Change
           

6.再次测试cat访问

文件权限
文件权限
文件权限

系统优化

1.查看系统名称:
	cat /etc/redhat-release

2.查看系统内核版本参数:
	uname -a
		Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
			系统		:linux
			主机名		:localhost
			系统版本号	:3.10.0---
			Gnu/Linux	:免费的
	uname -r
		系统版本号
	uname -m
		硬件位数
           

为用户添加密码

1.passwd 用户名
	添加新的密码

2.echo 密码 | passwd --stdin 用户名
	免交互设置密码,一般用在脚本文件中
		类似:os.system('echo 密码 | passwd --stdin 用户名')
3.查看用户信息:
	whoami
		打印出登录当前窗口的用户
	who
		打印当前用户登录的系统终端个数
			tty:原本的终端(虚拟机)
			pts:虚拟终端
				xshell
4.命令提示信息优化
	暂时修改:
		export PS1='[\u@\h \w]\$ '
	永久修改:
		vim /etc/profile
		export PS1='[\u@\h \w]\$ '
	
	source
		重载的意思,文件立即生效