文件权限linux


进入文件权限笔记

不同的用户,以及不同的组,对于linux的文件操作,权限高地,权限不同。

读取 cat,more,tail

写入  echo 追加 ,vim编辑,cat重定向

修改,修改文件属性,mv改名字,修改文件权限

执行, 文件中写的是可执行的语句,如bash语句,python的脚本文件

执行一般指的是,文件中写的是编程语言的语句的一个特殊文件

可以运行该文件,称之为脚本
r   表示可读,可查看文件内容 表示可以查看文件内容;cat;  可以对此目录执行ls列出所有文件  

w   表示可以更改文件的内容;vim 修改,保存退出;  表示是否可以删除目录中的子文件或者新建子目录 rm/touch/mkdir

x   表示是否可以执行文件,一般指二进制文件、或者脚本文件 表示是否可以进入目录中 cd

rwx权限表示

r  read  数字表示为4

w  write 数字表示为2

x  execute  数字表示为1

- 表示为无权限

关于 u g

u 表示文件属主的权限

g 表示组用户的权限

o 表示其他用户的权限

a 则表示所有用户(包括上面的三种)

权限设定

+  增加权限

-  取消权限

=  唯一设定权限

r 读权限

w 写入权限

x 执行权限

s 文件属主和组id

常见权限对应

444   r--r--r--

600   rw-------

644   rw-r--r--

666   rw-rw-rw-

700   rwx------

744   rwxr--r--

755   rwxr-xr-x

777   rwxrwxrwx

chmod命令

chmod命令用来变更文件或目录的权限
设置文件所有人可读
chmod  ugo+r

chmod   a+r 

文件属主可以执行
chmod  u+x

文件属主和属组内成员可写  其他人不可写
chmod  ug+w,o-w

所有人都可读 ,写 ,执行
chmod  777

所有人无权限
chmod 0

chown命令

chown命令用来改变文件的属主信息
参数  
-R  递归处理所有的文件及子目录
-v  为处理的所有文件显示诊断信息

chgrp命令

chgrp命令用来改变文件目录的所属组信息
-c 或-changes 效果类似-v 参数 ,但仅汇报更改的部分

-f 或-quiet或-silent 不显示错误信息

-h 或-no-dereference 只对符号连接的文件修改,而不是其他任何关联文件

-R 或-recursive 递归处理将指令目录下的所有文件及子目录一并处理

-v 或-verbose 显示指令执行过程

查看普通用户,创建的文件,对应的,user,group是谁 以及普通用户,在修改了主组之后,再创建文件,对应的user,group是谁

关于用户bob01,对文件file.txt是否有读,写,执行的权限,需要关注

1.该文件file.txt的user,group,other的权限是多少,是否有r,w,x的权限

jack01(user) devops(group)  file.txt  
user========  rwx
group======= rw-
other======== ---

你想让bob01对这个文件,可以达到如下权限的情况,怎么思考
(在不修改文件权限的情况下,完成此操作,你要改的是文件的拥有者的类别)
1.可以读写执行
	更改file.txt的主人,改为bob01
	bob01(user) devops(group)  file.txt  
	
	
2.可以读写
	把bob01加入到devops组中,就享有组内的权限了
	jack01(user) devops(group)  file.txt  文件权限不变
	变得是用户bob01的属性
		usermod -G devops bob01
	





3.该文件的file.txt所处的目录,对于bob01是否也同样有相关的r,w,x权限


user 主人
group所属的组
other其他人

all 角色
	每次都要单独的对u,g,o三个角色,添加,删除权限,很麻烦
	只需要对a角色操作,就可以同时给u,g,o三个角色,添加,修改权限
	具体对应到的是linux命令
	chmod a+r  file.txt 
	
	chmod u-r file.txt  # 给file.txt的属主,减去读取的权限

all 角色

在后续使用linux命令,修改文件权限时,除了会用到 u、g、o三个角色,还会使用all(缩写a),表示一次性对三个角色,设置权限。

学习link添加快捷方式

1.软连接
[root@localhost ~]# ln -s  /usr/local/cmatrix12/bin/cmatrix    /usr/local/bin/
[root@localhost ~]# vim  /etc/pr
prelink.conf.d/ profile         protocols       
printcap        profile.d/      
[root@localhost ~]# vim  /etc/profile
[root@localhost ~]# cmatrix 
[root@localhost ~]#软连接 添加代码雨

2.PATH变量
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin:/usr/bin/:/usr/local/cmatrix12/bin/:/root/bin
[root@localhost ~]# cmatrix   #输入执行,PATH 变量的代码雨