文件属性与权限,文件权限设置

参考资料:鸟哥的Linux私房菜

用户与用户组

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个惟一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

用户组相当于某几个用户组成的大家庭,具有共有数据也有私有数据。(例如两兄弟共享房间,房间里的某个抽屉却是某人私有的)

Linux文件属性

终端某目录输入 ls -al   (ls也即list浏览目录,-a参数时全部,-l参数显示详细信息)

xxx@xxx:~/code$ ls -al
总用量 32
drwxr-xr-x 7 xxx xxx 4096 1月 2 17:17 .
drwxr-xr-x 30 xxx xxx 4096 1月 2 20:46 ..
-rw-r--r-- 1 xxx xxx 23 1月 1 23:03 a.json
drwxrwxrwx 75 xxx xxx 4096 1月 2 17:16 code_cpp
drwxrwxrwx 22 xxx xxx 4096 1月 2 17:16 code_java
drwxrwxrwx 25 xxx xxx 4096 1月 2 17:17 code_leetcode
drwxrwxrwx 35 xxx xxx 4096 1月 2 17:18 code_py
drwxr-xr-x 2 xxx xxx 4096 12月 31 16:36 .vscode
1 2 3 4 5 6 7
权限 连接|所有者|用户组|文件容量|修改日期 文件名

以上共有7项属性

1.权限

以第一个文件为例          d               rwx(读写执行)                r-x(读执行)        r-x(读执行)

          文件类型    文件所有者权限    文件所属用户组权限         其他人权限

文件类型大致有 [d]目录    [-]文件    [l]连接文件     [b]可存储的接口设备       [c]串行端口设备如键盘鼠标

权限有   r读  w写  r执行

2.连接数:有多少文件名连接到此节点

3.所有者

4.用户组:文件所属用户组

5.文件大小:B为单位

6.最终修改日期

7.文件名

修改文件属性与权限

1.改变文件所属用户组 chgrp

chgrp [-R]   groupname   filename/dirname        (参数依次是:-R可选参数 可递归改变文件夹下所有文件,用户组名,文件或文件夹名)

root@xxx:~# ls -l test
-rw-r--r-- 1 root root 0 1月 3 01:09 test
root@xxx:~# chgrp -R xxx test
root@xxx:~# ls -l test
-rw-r--r-- 1 root xxx 0 1月 3 01:09 test

2.改变文件所有者 chown

chown [-R]  username  filename/dirname      (参数依次是:-R可选参数 可递归改变文件夹下所有文件,用户名,文件或文件夹名)

或chown [-R]  username:groupname    filename/dirname       (可同时改变文件所属用户组)

-rw-r--r-- 1 root xxx 0 1月   3 01:09 test
root@xxx:~# chown -R xxx test
root@xxx:~# ls -l test
-rw-r--r-- 1 xxx xxx 0 1月 3 01:09 test

3.改变权限  chmod

方法一:

文件权限9个,分别为onwer,group,others的读写执行权限

而读写执行权限的属性值分别为  r:4     w:2      x:1

chmod  [-R]  xyz  filename/dirname   (参数依次是:-R可选参数 可递归改变文件夹下所有文件,读/写/执行的数值和,文件或文件夹名)

例如改变test文件权限

xxx@xxx:~/Desktop$ chmod -R 751 test
xxx@xxx:~/Desktop$ ls -l test
-rwxr-x--x 1 xxx xxx 0 1月 3 00:48 test

方法二:

chmod

u(所有者)

g (用户组)

o(其他)

a(所有)

+(增加)

-(除去)

=(设置)

r

w

x

文件或目录

例如:对test文件,所有者设置读写执行权限,用户组增加写权限,其他去除读权限

xxx@xxx:~/Desktop$ ls -l test
-rw-r--r-- 1 xxx xxx 0 1月 3 00:48 test
xxx@xxx:~/Desktop$ chmod u=rwx,g+w,o-r test
xxx@xxx:~/Desktop$ ls -l test
-rwxrw---- 1 xxx xxx 0 1月 3 00:48 test

目录与文件权限意义

1.文件

读:读取文件实际内容

写:增加修改删除文件内容(不能删除文件)

执行:可被执行的权限

2.目录

读:读取文件列表及文件信息(不能读取实际内容)

写:新建文件或目录;删除文件或目录;文件重命名,转移文件或目录位置(写权限尤为重要)

执行:进入目录成为工作目录(此时即需要这些文件的读写执行权限来相应操作)

文件拓展名

linux使用拓展名来(让人较为方便的)识别文件类型;与windows不同,windows用拓展名来让机器识别是否为可执行文件如.exe以及.bat等

linux下文件拓展名举例:

*.sh  脚本或批处理文件

*Z        *tar     *.tar.gz     *.zip      *.tgz均为压缩文件,由于压缩软件或方式不同而取不同拓展名

Linux文件(夹)属性与权限的更多相关文章

  1. #Linux学习笔记# Linux文件的属性以及权限说明

    1. Linux文件的属性 关于Linux文件的属性的说明和设置请参考鸟哥Linux私房菜:Linux 的文件权限与目录配置 2. 目录和文件的权限意义 在Linux系统中,每个文件都有三种身份的权限 ...

  2. Linux文件(夹)属性

    ll  或者 ls -lh 查看文件属性:

  3. Linux 服务器如何设置文件和文件夹的读写权限

    修改文件可读写属性的方法 例如:把index.htm 文件修改为可写可读可执行: chmod 777 index.htm 要修改目录下所有文件属性可写可读可执行: chmod 777 *.* 该命令中 ...

  4. linux - 文件夹、文件默认属性: umask使用

    一 权限掩码umask umask是chmod配套的.总共为4位(gid/uid,属主.组权,其他用户的权限),只是通经常使用到的是后3个.比如你用chmod 755 file(此时这文件的权限是属主 ...

  5. linux中如何修改文件夹的用户权限 chown命令

    linux中,可以使用chown命令来修改文件夹的用户权限. 1.  以普通用户 A 登录linux,利用su -切换到root用户 2. 在root用户下,可以看到文件夹内容 3. 但通过文件系统, ...

  6. linux根据该文件夹的读取权限和权限运行差异

    假设你linux下使用ls.细心的你会发现居然夹有权限运行.例如: drwxrwxr-x 11 cl cl 4096  9 25 14:22 ./ drwxr-xr-x 49 cl cl 4096 1 ...

  7. Linux下批量修改文件及文件夹所有者及权限

    Linux下批量修改文件及文件夹所有者及权限需要使用到两个命令,chmod以及chown 例:对/opt/Oracle/目录下的所有文件与子目录执行相同的权限变更: chmod -R 700 /opt ...

  8. linux 文件夹权限及umask

    先创建一个目录,看看权限: $ ll 总用量 drwxrwxr-x huangxm huangxm 2月 : ./ drwxr-xr-x huangxm huangxm 2月 : ../ drwxrw ...

  9. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

随机推荐

  1. 离线安装VS Code Server

    1. 获取commit 从https://github.com/microsoft/vscode/tags 获取最新的commit 2. 清理目录 mkdir -p ~/.vscode-server/ ...

  2. CompletionService简介、原理以及小案例

    博客1:http://www.oschina.net/question/12_11255 博客2: CompletionService简介 CompletionService与ExecutorServ ...

  3. JAVA虚拟机中的堆内存Heap与栈内存Stack

    原文链接:http://www.cnblogs.com/laoyangHJ/archive/2011/08/17/gc-Stack.html 深入Java虚拟机:JVM中的Stack和Heap 在JV ...

  4. jdbc操作mysql(四):利用反射封装

    前言 有了前面利用注解拼接sql语句,下面来看一下利用反射获取类的属性和方法 不过好像有一个问题,数据库中的表名和字段中带有下划线该如何解决呢 实践操作 工具类:获取connection对象 publ ...

  5. 理解ASP.NET Core - [02] Middleware

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 中间件 先借用微软官方文档的一张图: 可以看到,中间件实际上是一种配置在HTTP请求管道中,用 ...

  6. 【Office Excel】vlookup函数的反向查找实例教程,不只是正向查找,还可以反向查找,实例讲解

    VLOOKUP 反向查询 众所周知,vlookup只能从左向右查找,而不能从右至左的反向查找.为此高手们设计了一个让无数新手迷惑的公式.今天优爱酷将彻底帮同学们解开这个迷团. [例]如下图所示要求根据 ...

  7. 从零开始实现简单 RPC 框架 8:网络通信之 Request-Response 模型

    Netty 在服务端与客户端的网络通信中,使用的是异步双向通信(双工)的方式,即客户端和服务端可以相互主动发请求给对方,发消息后不会同步等响应.这样就会有一下问题: 如何识别消息是请求还是响应? 请求 ...

  8. .NetCore 项目在服务器打包失败解决

    错误描述:NuGet警告 NU3037 NU3028 原因:Nuget无法访问到json所在的网络 2021年1月31日更新:更好的方法 把自动生成的Dockerfile内的AS build 替换成官 ...

  9. Git - Mac 电脑使用 brew 更新 Git

    安装 Homebrew Homebrew 是一个软件包管理器.它的作用就是将软件包安装到自己的目录中,然后将其文件符号链接到 /usr/local.更多信息,请自行进入官网查看 https://bre ...

  10. 简说yuv

    最近弄了一个读取y4m文件转成yuv的流的事情,记录一些yuv相关的细节 为什么会有yuv 因为我们目前的显示器显示的原理都是三原色,几乎所有的视频数据最后都要转为rgb格式才能渲染到显示屏上,而原始 ...