阿Q的Linux运维学习之路(day13-2)-Linux权限管理-设定权限

权限设定

我们可以设定权限,赋于某个用户或组 – 能够以何种方式 – 访问某个文件。
Linux下使用chmod命令来变更权限,root用户可以变更所有文件的权限,而普通用户仅能变更属于自己的文件。

chmod

chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。

语法格式:chmod 选项 参数

方式一:ugo

[root@localhost ~]# touch file					  #创建文件file
[root@localhost ~]# chmod a=rwx file			  #给所有人添加读写执行权限
[root@localhost ~]# ll file						  #查看文件file信息
-rwxrwxrwx. 1 root root 0 Mar 16 15:12 file

[root@localhost ~]# chmod a=-rwx file			  #取消所有的权限
[root@localhost ~]# ll file
----------. 1 root root 0 Mar 16 15:12 file

[root@localhost ~]# chmod u=rwx,g=rw,o=- file	  #属主读写执行,属组读写,其他人无权限
[root@localhost ~]# ll file
-rwxrw----. 1 root root 0 Mar 16 15:12 file

[root@localhost ~]# chmod ug=rwx,o=r file		  #属主属组读写执行,其他人读权限
[root@localhost ~]# ll file 
-rwxrwxr--. 1 root root 0 Mar 16 15:12 file

方式二:number(数字)
数字方式为递归修改,3个身份 user=7(r+w+x) group=4® other=1(x)
r=4,w=2,x=1

[root@localhost ~]# chmod 644 file
[root@localhost ~]# ll file
-rw-r--r--. 1 root root 0 Mar 16 15:12 file

[root@localhost ~]# chmod 700 file
[root@localhost ~]# ll file
-rwx------. 1 root root 0 Mar 16 15:12 file

针对目录设定权限:

[root@localhost ~]# mkdir QQQ			#新建目录QQQ
[root@localhost ~]# chmod 777 QQQ/		#给所有人添加读写执行权限
[root@localhost ~]# ll -d QQQ/			#-d选项查看目录自身信息
drwxrwxrwx. 2 root root 6 Mar 16 15:23 QQQ/

[root@localhost ~]# chmod -R 741 QQQ/		#修改目录及子目录权限

案例:

针对 hr 部门的访问目录/home/hr 设置权限,要求如下:
1.root 用户和 hr 组的员工可以读、写、执行
2.其他用户没有任何权限

[root@localhost ~]# groupadd hr			#创建hr分组
[root@localhost ~]# useradd hr01 -G hr	#创建用户hr01,归属组hr
[root@localhost ~]# useradd hr02 -G hr	#创建用户hr02,归属组hr
[root@localhost ~]# useradd hr03		#创建用户hr03,不设置组
[root@localhost ~]# mkdir /home/hr		#在/home/目录下创建hr目录
[root@localhost ~]# chgrp hr /home/hr	#变更hr的所属群组
[root@localhost ~]# chmod 770 /home/hr	#给hr目录设置权限
[root@localhost ~]# ll -d /home/hr
drwxrwx---. 2 root hr 6 Mar 16 10:02 /home/hr

hr01和hr02都可以完成对hr目录的读写执行操作,而hr03不能,因为他不是这个目录的所属主,也不是hr组的成员,所以按照其他权限的身份去访问。

权限对文件的影响

在Linux中权限对文件和对目录的影响是有不同区别的。
如图所示:
在这里插入图片描述
总结
对文件的影响:

  1. 读取权限(r)具有读取\阅读文件内容权限
    1)只能使用查看类命令cat、head、tail、less、more

  2. 写入权限(w)具有新增、修改文件内容的权限
    1)使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
    2)使用echo命令重定向的方式可以往文件内写入数据, >>可以进行追加
    3)不能删除文件,因为删除文件看的不是文件的属性, 需要看上级目录是否有w的权限

  3. 执行权限(x)具有执行文件的权限
    1)执行权限什么用都没有
    2)如果普通用户需要执行文件,需要配合r权限 rx (命令) rw(配置文件) r(单纯的普通只看不改不执行)

对目录的影响:

  1. 读取权限(r)如果目录只有r权限: 具有浏览目录及子目录权限
    1)可以使用ls命令浏览目录及子目录, 但同时也会提示权限拒绝
    2)使用ls -l命令浏览目录及子目录,文件属性会带问号,并且只能看到文件名
    总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限

  2. 写入权限(w),如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x权限配合)
    PS: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关)
    不能进入目录、不能复制目录、不能删除目录、不能移动目录

  3. 执行权限(x),如果目录只有x权限
    1)只能进入目录
    2)不能浏览、复制、移动、删除

文件r权限, 只给用户查看,无其他操作
文件rw权限, 可以查看和编辑文件内容
文件rx权限, 允许查看和执行文件、但不能修改文件----->PASS
文件rwx权限,能读,能写,能执行,但不能删除,因为删除需要看上级目录的权限有没有w----->PASS
目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录
目录wx权限,能进入目录,能删除内容,能写入内容,但就是无法使用ls cat这样的命令----->PASS
目录rw权限,能看,能写,但无法进入目录----->PASS

PS: 文件的 x权限小心给予,目录的 w权限小心给予。
PS: 文件通常设定的权限是644,目录设定的权限是755 PS:
控制目录权限755, 如果有普通用户需要操作目录里面的文件,在来看文件的权限

变更属主和属组

在Linux中如何变更一个文件或者一个资源的属主和属组呢,可以使用chown、chgrp命令实现。
chown能设置属主和属组,chgrp仅能设置属组。所以我们一般用chown
案例:

[root@localhost ~]# mkdir dir/test1 && touch dir/file	#创建文件目录
[root@localhost ~]# ll -d dir
drwxr-xr-x. 3 root root     31 Mar 16 16:03 dir 

[root@localhost ~]# chown bin dir/	#修改所属主为bin
[root@localhost ~]# ll -d dir		#查看修改后的结果
drwxr-xr-x. 3 bin root 31 Mar 16 16:03 dir

[root@localhost ~]# chown .adm dir	#修改所属组为adm
[root@localhost ~]# ll -d dir
drwxr-xr-x. 3 bin adm 31 Mar 16 16:03 dir

[root@localhost ~]# chown -R root.root dir	#递归修改目录及目录下的所有文件属主和属组
[root@localhost ~]# ll -d dir
drwxr-xr-x. 3 root root 31 Mar 16 16:03 dir
发布了38 篇原创文章 · 获赞 0 · 访问量 589

猜你喜欢

转载自blog.csdn.net/qq_39095114/article/details/104899733