Linux下的文件与目录权限

一、用户(User)、群组(Group)和其他人(Others)

linux是多用户多任务的操作系统,同一时刻可能会有多个用户登录系统,考虑到文件的安全性等问题,所以Linux下的文件都属于一个特定的用户(user),比如我们使用用户名user1登录系统,user1在自己的工作目录下创建了一个文件diary.txt来记录自己的日记,则日记diary.txt的用户为user1,系统中可能有其他用户存在,而user1并不想其他人读自己的日记,这时user1就可以通过设置日记的权限来控制主机上的所有用户对自己日记的访问(设置为自己对日记可读可写,其他用户没有权限)。有了用户为什么还要有组(group)的概念呢?有时对于一个文件,我们想对同组的用户设置一种权限,而对组外的用户设置另一种权限,设想这样一种情况,有一天user1突然想让主机上的另一个用户user2来读自己的日记,但之前设置的权限是只有自己可读可写,其他人没有访问权限,而user1只想增加user2的访问权限,这时通过组就可以轻松解决,方法是将user1和user2添加到同一组group1里,然后给group1添加读权限,这样处在组group1下的用户user2也可以读user1的日记了,不在组里的其他用户(Others)依然不能访问user1的日记。

在linux下,用户被记录在 /etc/passwd 文件中,用户密码被记录在 /etc/shadow 文件中,组名则被记录在 /etc/group 文件中。

二、linux下的文件权限

1、查看文件权限

可以使用命令 ls -al 来查看当前目录下的文件权限, -a表示显示目录下的所有文件,包括以.开始的隐藏文件, -l表示以长列表形式显示。比如我进入下载目录后 ls -al ,如下所示

其中第一列表示了这个文件的类型和权限,拿 -rwxrwxrwx 来说,我们可以将它分成4个部分,如下图:

其中类型指出了文件的类型:

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

[-]后面的字符每3个一组分析其含义,其中r代表可读(read),w代表可写(write),x代表可执行(execute),所以上面的含义就是文件data_format.zip对文件拥有者可读可写可执行(rwx),对文件所属群组中的用户可读可写可执行(rwx),对其他用户可读可写可执行(rwx),也就是对所有用户都可读可写可执行。

第二列表示这个文件的链接(可以理解为windows下的快捷方式)有多少;

第三列表示这个文件的用户;

第四列表示这个文件所在的组;

第五列表示这个文件的大小,默认单位为byte;

第六列表示这个文件的创建日期后者最近的修改日期;

第七列为文件名(或目录名)。

2、修改文件权限

修改文件权限的命令常用的有3个:chgrp修改文件的组,chown修改文件拥有者,chmod修改文件的权限。

2.1、改变文件群组chgrp

可以使用 chgrp [OPTION]... GROUP FILE  来修改文件file的组为group,在上面的例子中文件data_format.zip所处的组为hadoop,下面的命令中,我将data_format.zip的组修改为root

[email protected]:~/下载$ sudo chgrp root data_format.zip
[email protected]-pc:~/下载$ ls -al data_format.zip
-rwxrwxrwx 1 hadoop root 612614352 11月 29 10:46 data_format.zip

可以看到,data_format.zip的组已经被改为了root。如果要将目录下的文件的组全部修改,则加上选项-r即可。

2.2、改变文件拥有者chown

方法:

chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录

在下面的命令中,我将data_format.zip的用户修改为root

[email protected]:~/下载$ sudo chown root data_format.zip
[email protected]-pc:~/下载$ ls -al data_format.zip
-rwxrwxrwx 1 root root 612614352 11月 29 10:46 data_format.zip

2.3、改变文件权限chmod

原文地址:https://www.cnblogs.com/sench/p/8921782.html

时间: 2024-08-06 06:17:49

Linux下的文件与目录权限的相关文章

linux系统下修改文件夹目录权限

linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名为cc的文件夹为例. 下面一步一步介绍如何修改权限: 1.打开终端.输入su(没 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件

linux下查看文件及目录个数

linux下查看文件及目录个数1.查看当前文件和目录总数(不包括子目录):ls -l | wc -l 2.查看当前目录下文件个数(不包括子目录):ls -l |grep "^-"|wc -l ===查看当前目录下文件个数(包括子目录)ls -lR |grep "^d" | wc -l 4.查看当前目录目录个数(包括子目录)ls -lR |grep "^d" | wc -l =====================================

Linux命令之文件及目录权限

1 chmod:修改文件及目录权限 选项:--reference=file    根据参考文件设置权限 -R                  递归设置权限 chmod命令参数中,u代表所有者,g代表属组,o代表其它用户,a代表所有人 [[email protected] ~]# chmod 755 a.txt [[email protected] ~]# chmod o-x a.txt [[email protected] ~]# chmod u=rw,g=rw,o=r a.txt [[ema

linux下的文件及目录介绍

FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途.所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理. FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等. 第二层则是针对 /usr 及 /var 这两个目录的子目录来定义.例如 /var/log

linux下加密文件和目录

在Linux下,我们主要有两种加密文件和目录的方法.一种是文件系统级别的加密,在这种加密中,你可以选择性地加密某些文件或者目录(如,/home/alice).对我而言,这是个十分不错的方法,你不需要为了启用或者测试加密而把所有一切重新安装一遍.然而,文件系统级别的加密也有一些缺点.例如,许多现代应用程序会缓存(部分)文件你硬盘中未加密的部分中,比如交换分区./tmp和/var文件夹,而这会导致隐私泄漏. 另外一种方式,就是所谓的全盘加密,这意味着整个磁盘都会被加密(可能除了主引导记录外).全盘加

Linux下的文件与目录

常用的命令: 对文件操作: rm rm -r:递归删除 -f:强制删除,不提示 -rf:递归并强制删除,不提示 du -sh mkdir -p touch less more tail -n head -n cp mv ls ls是"List"的意思,列出指定路径下的文件. ls -l:长格式显示 -h:做单位换算,将byte换算成K,M,G等. -a:列出所有文件,包括以.开头的隐藏文件 -d:列出目录自身属性 -i:index node,inode,作为计算机使用者来讲,以名字来记

linux下判断文件和目录是否存在

1.前言 工作中涉及到文件系统,有时候需要判断文件和目录是否存在.我结合APUE第四章文件和目录,总结一下如何正确判断文件和目录是否存在,方便以后查询. 2.stat系列函数 stat函数用来返回与文件有关的结构信息.stat系列函数有三种情况,分别对应文件名称.文件描述符和符号链接文件.stat结构描述了文件的属性,主要包括文件的类型.文件大小等等.详细stat结构如下所示: 1 struct stat { 2 mode_t st_mode; // file type & mode(permi

linux下查找文件或目录(which,whereis,locate,find)

命令 查找对象 查找速度 备注 which 可执行文件  根据PATH变量的内容去寻找可执行文件  不同的PATH配置会有不一样的结果 whereis 程序名的搜索  根据数据库来寻找,速度快  只支持二进制文件,源代码,man手册 locate 文件或目录  根据数据库来寻找,速度快  更新数据库:$sudo updatedb find 文件或目录  在硬盘里寻找,速度慢  NA

在Linux下对文件或者目录进行打包压缩

一.压缩命令[compress/gzip/bzip2]: 压缩只能对文件,不能对目录,目录要先打包,然后再压缩. (1)compress (2)gzip 1.压缩文件 [cpp] view plain copy gzip hosts          #将hosts压缩成hosts.gz,不保留原文件 gzip -c hosts > xx/hosts.gz  #将hosts压缩成hosts.gz,保留原文件,还可以指定路径 2.查看压缩文件内容 [cpp] view plain copy zca