Linux基础知识之文件权限(一)


Linux优点之一就是它拥有多用户多任务的环境,在提供文件共享的同时也能保证用户文件的安全性。所以,设置文件的权限管理变得尤为重要。

权限讲解

[der@Der ~]$ ls -al            # 列出当前目录下所有文件的详细信息

以上图的最后一个文件.bash_logout为例,‘.’表示隐藏文件;

- rw- r– r– 1 der der 18  Aug 8 20:06 .bash_logout
文件类型 属主权限 属组权限 其他人
权限
连接数 文件属主 文件属组 文件大小 文件最后修改时间 文件名

权限的表示方法

字母法  r:read–>读权限;w:write–>写权限;x:excute–>执行权; 
数字法  4–>读权限;2–>写权限;1–>执行权限;

文件.bash_logout的属主为root,有rw权限;属组为root(组内可能有其他用户),有读权限;其他人有r权限;创建新用户时,该用户的属组默认为用户名。

例题:请问testgroup这个群组的成员与其他人(others)是否可以进入本目录?

drwxr-xr– 1 test1 testgroup 5238 Jun 19 10:25 groups/

答:testgroup群组拥有目录的执行权,可进入该目录,没有写的权限;而othes用户没有执行权,不能进入该目录,即使有读的权限。

权限更改

命令:chgrp,chown,chmod

chgrp:改变文件的所属群组

    chgrp [OPTION]… GROUP  FILE…

[root@Der_Tencent ~]# su -               #切换之root用户,root才有更改文件的属性;
[root@Der_Tencent ~]# touch test.txt         #用touch创建测试文件
[root@Der_Tencent ~]# ls -al test.txt        #列出该文件的详细属性
-rw-r--r-- root root Sep : test.txt #文件的属组为root
[root@Der_Tencent ~]# useradd alice          #添加alice用户,默认属组问alice
[root@Der_Tencent ~]# chgrp alice test.txt    #更改文件属组为alice
[root@Der_Tencent ~]# ls -l test.txt
-rw-r--r-- root alice Sep : test.txt  #文件的属主已改为alice

chown :改变文件的的属主和属组

chown [OPTION]... [OWNER][:[GROUP]] FILE...

[root@Der_Tencent ~]# chown alice test.txt       #更改文件的属主为alice
[root@Der_Tencent ~]# ls -l test.txt
-rw-r--r-- alice alice Sep : test.txt #属主已经改为alice
[root@Der_Tencent ~]# chown root:root test.txt #同时更改属主和属组
[root@Der_Tencent ~]# ls -l test.txt
-rw-r--r-- root root Sep : test.txt

chmod :改变文件的权限

赋权法:u(user)=MODE,g(group)=MODE,o(others)=MODE

[root@Der_Tencent ~]# chmod u=rwx,o=rw test.txt   #以逗号隔开选项,u的权限改为读写执行,o的权限改为读写
[root@Der_Tencent ~]# ls -l test.txt
-rwxr--rw- root root Sep : test.txt

授权法:u+|-MODE;g+|-MODE;o+|-MODE     #  ‘|’表示或

[root@Der_Tencent ~]# chmod g+w,g-r,o-w test.txt #g的权限加写,o的权限减去读
[root@Der_Tencent ~]# ls -l test.txt
-rwx-w-r-- root root Sep : test.txt

注意:赋权表示法会覆盖其他属性,而授权法只更改指定的属性

数字法 r=4,w=2,x=1

[root@Der_Tencent ~]# chmod  test.txt #u=+,g=,o=
[root@Der_Tencent ~]# ls -l test.txt
-rw-r--r-- root root Sep : test.txt #u读写权限,g读权限,o读权限

权限对文件和目录的意义

对文件

r (read):可读取此一文件的实际内容,命令有cat,tail,head等; 
w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件),命令有vim,nano等; 
x (eXecute):该文件具有可以被系统执行的权限,例如.sh脚本文件。

对目录

r (read contents in directory):可以查看目录下的文件;例如ls命令 
w (modify contents of directory):在目录下创建文件目录,删除,更名,移动; 
x (access directory):可以进入目录;

注意:1、即使有目录的rw,没有x,不能进入目录工作; 
2、用户对目录拥有w权限,即使没有目录内文件的w权限,也可以将文件删除,即删除整个文件;

Linux基础知识之文件的权限(一)的更多相关文章

  1. Linux基础知识之文件的权限(二)

    除了基本的r,w,x之外,在linux传统的ext2.ext3.ext4文件系统下,还可以设置其他 的文件属性.如chattr,lsattr,而在CentOS7中默认利用xfs作为默认的文件系统,就不 ...

  2. Linux基础知识之文件和目录的权限机制

    Linux中的用户 Linux中的用户有三类,分别是: 所有者(u) 同组用户(g) 其他人(o) 如下图所示,假设存在两个组:groupA和groupB,rachel和ross属于组groupA,m ...

  3. Linux基础知识第七讲,用户权限以及用户操作命令

    目录 Linux基础知识第七讲,用户权限以及用户操作命令 一丶简介linux用户,用户权限,组的概念. 1.1 基本概念 1.2 组 1.3 ls命令查看权限. 二丶用户权限修改命令 1.chmod ...

  4. Linux基础知识第三讲,拷贝文件跟移动文件命令

    目录 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命令 1.tree命令常用选项 2.cp复制文件命令 3.mv 命令的使用 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命 ...

  5. Linux基础知识入门

    [Linux基础]Linux基础知识入门及常见命令.   前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...

  6. 运维之linux基础知识(一)

    运维之linux基础知识(一) 1.GUI:Graphic User Interface 图形用户界面 2.CLI:Command line Interface 命令行界面 3 dll:Dynamic ...

  7. Linux基础知识梳理

    Linux基础知识梳理 Linux内核最初只是由芬兰人林纳斯?托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的.Linux是一套免费使用和自由传播的类Unix操作系统,是 ...

  8. Linux基础知识回顾及BASH学习

    2019-2020-030189224 <网络攻防技术与实践>第一周学习总结 Linux基础知识错题回顾 1.Linux中使用(B)命令新建空白文件. A .mkdir B .touch ...

  9. Linux基础知识与基础命令

    Linux基础知识与基础命令 系统目录 Linux只有一个根目录,没有盘符的概念,文件目录是一个倒立的树形结构. 常用的目录功能 bin 与程序相关的文件 boot 与系统启动相关 cdrom 与Li ...

随机推荐

  1. laravel中的管道设计模式

    转自 http://laravelacademy.org/post/3088.html

  2. 继承System.Web.UI.Page的页面基类

    服务器端的page类      所有我们编写的页面都继承自page类,可见page类是非常重要的,page类提供了哪些功能,直接决定了我们的页面类可以继承什么功能,或者说,直接决定了我们的页面类功能的 ...

  3. 简单谈谈java中匿名内部类构造函数?

    先看看下面的代码能不能编译通过: public static void main(String[] args) {List l1 = new ArrayList();List l2 = new Arr ...

  4. KVM虚拟化介绍(1)

    一.虚拟化分类    1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独 立的空间内运 ...

  5. Hyperledger Fabric 常用命令

    Peer常用命令: #peer chaincode --help #peer channel list --help --logging-level <string> #<strin ...

  6. VS编译错误._CRT_SECURE_NO_WARNINGS、_WINSOCK_DEPRECATED_NO_WARNINGS

    1.不记得原来的情况了,记得大概是这样: 低版本的 VC编译器 使用 strcpy.sprintf 等它不会报错,但是 高版本的 VS编译就会报错,大意是 strcpy.sprintf 等函数 不安全 ...

  7. 处理vue页面406问题纪要

    1.servlet-mapping url-pattern / 与 /* 的区别注意关注 2.mvc:resource 是否生效,注意关注,如不生效,可在 web.xml中配置<servlet- ...

  8. (九)springMvc 的 post 提交乱码

    #post 提交乱码 在 web.xml 配置下 过滤器 : <!--解决 post 乱码问题,--> <filter> <filter-name>characte ...

  9. ros 配置udev

    显示已经链接设备 lsusb 显示挂载点 ls /dev/ttyACM* /dev/ttyUSB* 可以看到 ttyUSB0 和 ttyUSB1 对应哪一个设备不确定,因此,我们就需要一种方法来保证每 ...

  10. Python http.server中获取Post的请求报文

    今天在自学http.server请求命令, 各个字段都很好理解, 但唯独想打印获取Post请求报文时, 被难住了, 网上找了很多帖子, 官方的文档也刷了几遍, 但没有一个明确的答复. 后来不经意间看到 ...