首页 > 系统相关 >LINUX学习之文件基本属性(二)

LINUX学习之文件基本属性(二)

时间:2023-01-18 22:56:39浏览次数:393  
标签:文件 rw 用户 LINUX txt 权限 root 属性

查看文件属性

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位并拥有不同的权限。在 Linux 系统中,通常使用 chown 命令来修改文件或目录的所有者,chmod 命令则用于设置用户的权限。

  • chown (change owner) :用于修改文件或目录的所有者和组。
  • chmod (change mode) :用于修改文件或目录的权限,如读、写、执行权限

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

1

如上图所示, Mail文件的第一个属性用d表示, 则代表此文件是一个目录文件, 在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等

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

如下图所示, 每个文件的属性由左边第一部分的 10 个字符来确定, 从左至右用 0-9 这些数字来表示。

0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限, 第4-6位确定属组(所有者的同组用户)拥有该文件的权限, 第7-9位确定其他用户拥有该文件的权限。

1


文件的属主和属组

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。在 Linux 系统中,用户是按组分类的,一个用户可以属于一个或多个组。

文件所有者以外的用户可以分为文件所属组的同组用户和其他用户。这些用户对文件的访问权限可能不同,因此在 Linux 系统中,需要对文件的访问权限进行管理。

在如下实例中, mysql 文件是一个目录文件, 属主和属组都为 mysql, 属主有可读、可写、可执行的权限; 与属主同组的其他用户有可读和可执行的权限; 其他用户也有可读和可执行的权限。而对于root用户来说, 文件的权限对其不起作用

[root@www /]# ls -l
total 64
drwxr-xr-x 2 root  root  4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql
……

更改文件属性的命令

1.chgrp: 更改文件属组

命令语法如下所示:

chgrp [-R] 属组名 文件名

-R: 如果加上-R的参数,那么该目录下的所有文件的属组都会更改


2.chown: 更改文件属主, 也可同时修改文件属组

命令语法如下所示:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

进入/root目录(~)将install.log的拥有者改为bin这个账号:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

install.log的拥有者与群组改回为root

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3.chmod: 更改文件权限

首先了解下文件的权限等级, Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)

1

  • u表示文件所有者, g表示与文件拥有者属于同一个群体, o表示其他人, a表示这三者皆是
  • +表示添加权限、-表示取消权限、=表示设定唯一权限
  • r表示可读取, w表示可写入, x表示可执行

使用符号模式可以设置多个项目: who(用户类型)、operator(操作符)、permission(权限)

以下是各个项目的符号模式表:

who 用户类型 说明
u user 文件所有者
g group 文件所有者所在组
o others 所有其他用户
a all 所有用户, 相当于 ugo
Operator 说明
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置
permission 名字 说明
r 设置为可读权限
w 设置为可写权限
x 执行权限 设置为可执行权限
X 特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
s setuid/gid 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t 粘贴位 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

chmod命令可以使用八进制来指定权限

# 权限 rwx
7 读(4) + 写(2) + 执行(1) rwx
6 读(4) + 写(2) rw-
5 读(4) + 执行(1) r-x
4 只读(4) r--
3 写(2) + 执行(1) -wx
2 只写(2) -w-
1 只执行(1) --x
0 --

chmod命令使用实例如下表格所示:

描述 命令
将file1.txt设为所有人都可读 chmod ugo+r file1.txt
chmod a+r file1.txt
将file1.txt和file2.txt权限设为文件拥有者和用户组可写,其他用户不可写 chmod ug+w,o-w file1.txt file2.txt
将当前目录下的所有文件与子目录皆设为任何人可读取 chmod -R a+r *
将file文件设为任何人可读可写可执行 chmod 777 file
chmod a=rwx file
使文件具有超级用户权限, chmod 4755 filename

4.umask:更改文件默认权限

创建文件的默认权限为rw-rw-rw-, 创建目录的默认权限为rwxrwxrwx

使用umask命令即可查询umask值, umask值表示从默认权限了去掉一些权限,然后成为最终的默认权限

[root@localhost 桌面]# umask
0022

可以看到umask的值为0022,第一个0为特殊权限暂且不用理他,后面三个数字分别代表u(文件拥有者)、g(用户组用户)、o(其他用户)的权限变化。u为0,权限没发生改变;g为2,权限-2,失去w(写)权限;o为2,同理


新创建一个文件, 其默认权限为rw-rw-rw-, 由于umask值为0022, 即group和Other Users失去w权限, 最终文件的权限为rw-r--r--

[root@localhost 桌面]# touch test.txt
[root@localhost 桌面]# ls -l test.txt 
-rw-r--r--. 1 root root 0 10月 20 17:36 test.txt

新创建一个目录, 其默认权限为rwx-rwx-rwx, 由于umask值为0022, 即group和Other Users失去w权限, 最终文件的权限为rwxr-xr-x

[root@localhost 桌面]# mkdir test
[root@localhost 桌面]# ls -al test
总用量 0
drwxr-xr-x. 2 root  root   6 10月 20 17:42 .
drwxr-xr-x. 3 herry herry 34 10月 20 17:42 ..

还可使用umask命令修改文件默认权限

[root@localhost 桌面]# umask 027
[root@localhost 桌面]# touch test1.txt
[root@localhost 桌面]# ls -l test1.txt
-rw-r-----. 1 root root 0 10月 20 23:11 test1.txt

标签:文件,rw,用户,LINUX,txt,权限,root,属性
From: https://www.cnblogs.com/henry666/p/17060802.html

相关文章

  • node+express+ multer 实现文件上传入门
    文件上传文件上传需要借助一个中间件multer因此我们需要安装cnpminstallmulter--save前端界面在express创建的项目下的public/upload目录下创建indexfileuplo......
  • 学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明
    2023-01-18一、Spring声明式事务管理1、事务四大特征(ACID)(1)原子性(2)一致性(3)隔离性(4)持久性2、事务三种行为(1)开启事务:connection.setAutoCommit(False)(2)提交事务:conne......
  • 使用http请求发送文件,文件标题乱码
    使用http请求发送文件,文件标题乱码(内容正确)项目中的代码大致如下:最终的结果是,文件上送成功,文件的内容正常,但是文件的标题乱码。InputStreamis=null;DataOutputStreamdos......
  • python基础: 垃圾回收机制、字符编码、文件操作
    目录垃圾回收机制引用计数标记清除分代回收字符编码简介发展史字符编码的实操文件操作垃圾回收机制说明:我们在编写代码的时候涉及到存储空间的申请和存储空间的释放的操......
  • python基础: 文件操作
    目录文件操作简介文件操作:什么是文件:打开文件的俩种方式文件读写模式r-----只读模式(默认模式):w----只写模式:a----只追加模式:文件操作模式拷贝功能文件的诸多操作方法文件操......
  • 文件管理
    最好用的图片视频文件管理专家,保护您的隐私照片视频,支持rmvb、mp4、mkv等各种格式视频播放功能,批量管理照片和视频,简单实用的用户界面,是iPhone装机必备工具。主要功能:*在......
  • Linux开启Docker远程访问并设置安全访问(证书密钥),附一份小白一键设置脚本哦!
    前言喜欢折腾慢慢看,不喜欢折腾直接跳到小简下文的一键脚本那里,两分钟搞好。我的博客:https://blog.ideaopen.cn我的公众号:小简聊开发开启远程访问编辑docker.service......
  • Kali Linux没有声音的解决方法
    KaliLinux没有声音的解决方法KaliLinux系统默认状态下,root用户是无法使用声卡的,也就没有声音。启用的方法如下:(1)在终端执行命令:systemctl--userenablepulseaudio(2)......
  • Linux环境下nginx给wordpress站点配置http更换成https访问
    一、nginx添加ssl模块首先确认下自己的nginx是否有ssl模块,如没有,需要补安全,可以参考这篇文章《Nginx安装SSL模块教程及注意事项》。二、nginx配置#这个server是为了ht......
  • Spring MVC文件上传示例
    SpringMVC提供了一种上传文件的简便方法,它可以是图像或其他文件。让我们看一个使用SpringMVC上传文件的简单示例。必需的Jar文件要运行此示例,您需要加载:SpringCore......