Linux文件基本属性

标签: Linux  linux

Linux系统是一种典型的多用户系统,不同的用户拥有不同的权限。

 

一:权限

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组

 

看这个

当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

详细一点的
“-”表示普通文件;
“d”表示目录;
“l”表示链接文件;
“p”表示管理文件;
“b”表示块设备文件;
“c”表示字符设备文件;
“s”表示套接字文件;

第一个字符是l,所以可以知道这个文件类型是链接文档

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合

其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)[ˈeksɪkjuːt]

这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已

从lrwxrwxrwx结合图可以知道,这个链接文档的权限(读写执行)
属主(该文件的所有者):rwx
属组(所有者的同组用户):rwx
其他用户:rwx

#文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户

 

 

二:Linux文件属主和属组

先了解具体的属性

【文件/目录大小】

文件:文件的大小,单位为字节
目录:目录符的大小,并不是该目录下所有文件的大小

【文件名称】

如果A带了星号(*),说明这是一个可执行文件

【其他】

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户

在Linux系统中,用户是按组分类的,一个用户属于一个或多个组

文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户

对于 root 用户来说,一般情况下,文件的权限对其不起作用

 

三:修改文件属性

现在我有一个目录A,其属主(owner)是root;属组(group)也是root
drwxr-xr-x. 2 root root    6 5月  18 11:39 A

(1) 更改文件属组

#更改文件属组
chgrp [-R] 属组名 文件名
参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
参考:https://jingyan.baidu.com/article/a681b0de159b093b184346a7.html

有什么用户??输入命令行cat /etc/passwd去查就行
[[email protected] ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
chy:x:1000:1000:chy:/home/chy:/bin/bash
[用户名:密码(显示了个X):用户id:用户所在组id:备注:所在家目录:shell命令所在目录]

有什么组??键入命令行cat /etc/group去查就行
[[email protected] ~]# cat /etc/group
root:x:0:
chy:x:1000:


查看当前用户所在组,以及组内其他成员的信息
[[email protected] ~]# groups chy
chy : chy wheel

可以看到属组变成了chy

[[email protected] ~]# ls
A                initial-setup-ks.cfg  模板  图片  下载  桌面
anaconda-ks.cfg  公共                  视频  文档  音乐
[[email protected] ~]# chgrp chy A
[[email protected] ~]# ls
A                initial-setup-ks.cfg  模板  图片  下载  桌面
anaconda-ks.cfg  公共                  视频  文档  音乐
[[email protected] ~]# ll
总用量 8
drwxr-xr-x. 2 root chy     6 5月  18 11:39 A

 

(2)更改文件属主,也可以同时更改文件属组

chown:更改文件属主,也可以同时更改文件属组
语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

 可以看到属主改变了

[[email protected] ~]# chown chy A
[[email protected] ~]# ll
drwxr-xr-x. 2 chy  chy     6 5月  18 11:39 A

再改回去,属主和属组都改为root

[[email protected] ~]# chown root:root A
[[email protected] ~]# ll
drwxr-xr-x. 2 root root    6 5月  18 11:39 A

 

(3)更改文件9个属性

Linux文件属性有两种设置方法,一种是数字,一种是符号

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限

各权限的分数对照表如下:(我的理解就是这些字母是多少分,求某个身份就累加起来)

  • r:4
  • w:2
  • x:1

例如当权限为: [-rwxrwx---] 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0

那这个文件的权限数字是770

#更改文件9个属性
chmod [-R] xyz 文件或目录
选项与参数:

xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
[email protected] chy]# ll
#可以看出权限是755
drwxr-xr-x. 2 root root  6 5月  18 15:18 A
#现在改为770
[[email protected] chy]# chmod 770 A
[[email protected] chy]# ll
drwxrwx---. 2 root root  6 5月  18 15:18 A

 

符号类型改变文件权限

基本上就九个权限分别是:

  • (1)user
  • (2)group
  • (3)others

那么我们就可以使用 u, g, o 来代表三种身份的权限, a 则代表 all,即全部的身份

如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定

 

去掉全部人的可执行权限

#  chmod  a-x test1
# ls -al test1

 

 

版权声明:本文为weixin_42717928原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42717928/article/details/106194077

智能推荐

Java基础=>String,StringBuffer与StringBuilder的区别

字符串常量池 什么是字符串常量池? JVM为了减少字符串对象的重复创建,其维护了一块特殊的内存,这段内存被称为字符串常量池(存储在方法区中)。 具体实现 当代码中出现字符串时,JVM首先会对其进行检查。 如果字符串常量池中存在相同内容的字符串对象,如果有,则不再创建,直接返回这个对象的地址返回。 如果字符串常量池中不存在相同内容的字符串对象,则创建一个新的字符串对象并放入常量池,并返回新创建的字符...

java调用其他java项目的Https接口

项目中是这样的: 用户拿出二维码展示,让机器识别二维码, 机器调用开门的后台系统接口, 然后开门的后台系统接口需要调用管理系统的接口, 管理系统需要判断能不能开门.这两个系统是互相独立的.当时使用http调用是没有问题的.当时后来要求必须用https.废话不说,直接代码: 我的项目中调用的是 HttpsUtils.Get(utlStr) 这个接口 开门系统接口如下图:   管理系统的接口...

Hadoop1.2.1全分布式模式配置

一 集群规划 主机名            IP                               安装的软件 &nbs...

Go语言gin框架的安装

尝试安装了一下gin,把遇到的一些小问题来记录一下 安装步骤 首先来看看官方文档,链接点这里 可以看到安装步骤很简单,就一句话 在命令行中输入这句话运行等待就好。 问题来了,因为墙的问题,go get会很慢,所以命令行里面半天什么反应也没有,不要急,慢慢等着就会看到gin-gonic/gin这个目录出现 这个时候命令行还是没有结束,表示还在下一些东西。有的时候可能心急的人就停了(比如我),然后写个...

uni-app表单组件二

input(输入框) 属性名 类型 说明 平台差异 value String 输入框的初始内容 type String input 的类型 password Boolean(默认false) 是否是密码类型 placeholder String 输入框为空时占位符 placeholder-style String 指定 placeholder 的样式 placeholder-class Strin...

猜你喜欢

深入理解 JavaScript 代码执行机制

深入理解 JavaScript 代码执行机制 前言 本文仅为个人见解,如有错误的地方欢迎留言区探讨和指正。 1、餐前甜品 如下是一段 JavaScript 代码,如果你毫不犹豫的说出代码执行顺序。那么请直接滚动到底部,留下你的足迹,接受膜拜。如果还不是很确定,那么请往下继续查看。 2、磨刀不误砍柴工(了解浏览器原理) (1) 进程和线程 进程是cpu资源分配的最小单位(是能拥有资源和独立运行的最小...

Centos7下配置DRBD Cluster扩展节点

操作环境 CentOS Linux release 7.4.1708 (Core) DRBDADM_BUILDTAG=GIT-hash:\ ee126652638328b55dc6bff47d07d6161ab768db\ build\ by\ [email protected]\,\ 2018-07-30\ 22:23:07 DRBDADM_API_VERSION=2 DRBD_KERNEL_VER...

选择排序了解一下

选择排序是一种简单直观的排序算法,它的主要思想:初始时在序列中找到最小(大)的元素,放到序列的起始位置作为已排序序列;然后再从剩余未排序元素中继续寻找最小(大)的元素,放到已排序序列的末尾,以此类推,直到所有元素均排序完毕。 即每遍历一次就记住了最大(小)的元素的位置,最后仅需要一次交换操作就可以放到其适合的位置。 如下图所示: 实现代码如下: 选择排序是不稳定排序,时间复杂度在最优、最坏情况下都...

ssh免密登录、操作另一个服务器

目录 一、SSH简介 scp 传输文件 二、SSH免密登陆原理  三、SSH免密登陆 1、生成** 2、将客户端公钥 配置到服务器端 方法一:  方法二: 3、known_hosts 一、SSH简介 SSH(Secure Shell)是一种通信加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。 SSH通过在网络中创建安全隧道来实现SSH客户...