linux 权限 某类型文件_linux 查看某用户对某文件的权限 - CSDN
精华内容
参与话题
  • Linux下更改文件权限

    万次阅读 2019-04-10 10:11:40
    目录 查看文件权限 修改文件权限 查看文件权限 查看文件权限可以通过ls -l命令查看,如下所示: ...如果只想查看一个...在linux下,文件权限分为三种:可读权限(read)、可写权限(write)以及可执行权限(execut...

    目录

    查看文件权限

    修改文件权限


    查看文件权限

    查看文件权限可以通过ls -l命令查看,如下所示:

    如果只想查看某一个文件的权限,可以使用grep,如下所示:

    可以发现,每一个文件的第一个字段都是由r、w、x等10个字符构成,这10个字符所组成的字符串反映了文件的权限。

    在linux下,文件权限分为三种:可读权限(read)、可写权限(write)以及可执行权限(execute),三者分别对应的字符为r、w和x;

    除此之外,文件权限身份也分三种:文件所有者(user)、文件所有者所在组(group)以及其他(others),这里所说的“其他”,就是指的非文件所有者及其所在组的用户。在上述查询结果中的第3个字段和第4个字段分别反映了该文件的所有者以及文件所有者所在组。

    现在再来说说如何通过每个文件第一个字段中的字符串来了解文件的权限。

    整个10个字符分为以下4个部分:

    ①第1个字符。描述文件\目录 类型,如果为‘-’则表示这是一个文件,如果为'd'表示这是一个目录

    ②第2~4个字符。这3个字符为一组,按照顺序描述了文件所有者对该文件的可读、可写和可执行权限

    ②第5~7个字符。这3个字符为一组,按照顺序描述了文件所有者所在组对该文件的可读、可写和可执行权限

    ②第8~10个字符。这3个字符为一组,按照顺序描述了其他身份对该文件的可读、可写和可执行权限

    也就是说,第1个字符反映了文件类型,后面9个字符每3个字符为一组,分别反映了文件所有者、文件所有者所在组和其他身份对该文件的可读、可写和可执行权限,如果为‘r’表示可读,为'w'表示可写,为'x'表示可执行,为'-'表示无相应权限。

    以上面的client.cpp为例,第一个字段为"-rw-rw-r--",它的含义表示:这是个文件(非目录),文件所有者可以进行读和写但是不能执行(对应“rw-”),文件所有者所在组可以进行读和写但是不能执行(对应“rw-”),其他身份可读但不可写也不可执行(对应“r--”)

    修改文件权限

    修改文件权限使用chmod指令。该指令常用的有两种使用方式:

    1.chmod abc filename

    指令中的a、b、c分别表示一个数字,其中a对应文件所有者权限,b对应文件所有者所在组权限,c对应其他身份权限。

    对于a、b、c各自来讲,它们都是0~7的数字,对应r、w、x三个二进制位按序组成的二进制数,举个例子,如果是只可读,对应的二进制数就是“100”,也就是4;如果是可读可写不可执行,那么对应二进制数为“110”,也就是6……

    再举个最常见的chmod 777 xxxx指令,这里有3个7,但是每个7的含义是不同的。7的二进制形式为111,表示可读可写可执行,第1个7表示文件对于文件所有者来说可读可写可执行;第2个7表示文件对于文件所有者所在组来说可读可写可执行;第3个7表示文件对于其他身份的用户来说可读可写可执行。也就是说,通过chmod 777,文件就没有了读写执行权限限制了。

    如果我要将上述client.cpp文件权限改为“文件所有者可读可写可执行,其余身份只可读”,那么就可以使用如下指令:

    chmod 744 client.cpp

    2.chmod u/g/o/a    +/-    r/w/x   filename

    该指令除了chmod和filename之外,还有三个部分:

    ①描述文件权限身份。u表示文件所有者、g表示文件所有者所在组、o表示其他用户、a表示三者全部。可以搭配使用,如ug表示文件所有者及其所在组;

    ②指定权限配置行为。‘+’表示添加权限,‘-’表示删除权限;

    ③权限类型。分别对于可读可写可执行。

    举个例子,通过chmod的第一种方式,我已经将client.cpp的权限改为“文件所有者可读可写可执行,其余身份只可读”,如果我现在想删除文件所有者的可执行权限(u -x),增加文件所有者所在组和其他身份的可写和可执行权限(go +wx),就可以使用如下指令:

    chmod u-x,go+wx client.cpp

    展开全文
  • linux某文件权限为drw -r r--,用数值形式表示该权限,则八进制数为_____,文件类型为______ 各权限用十进制数字表示分别是: 值 表示的意义 4 表示文件或者目录的读权限 2 表示文件或者目录的写权限 1 表示文件...

    原文链接

    linux 下某文件权限为drw -r r--,用数值形式表示该权限,则八进制数为_____,文件类型为______

    各权限用十进制数字表示分别是:
    值 表示的意义
    4 表示文件或者目录的读权限
    2 表示文件或者目录的写权限
    1 表示文件或者目录的执行权限

    所以这个文件的权限为:644
    而由于它的第一个字母是"d",所以是文件夹,也就是目录.
    故两个空,分别是:
    644,目录文件

     

    因为,在linux中,(一共九位,如本例中rw-_r--_r--)使用八进制数表示的语法如下:r(4)、w(2)、x(1)、-(0)

    前三位(rw-)表示的是文件拥有者的权限,在本例中为 4+2+0=6

    中间三位(r--)表示的是同组群的权限,在本例中为 4+0+0=4

    最后三位(r--)表示的是其他组群的权限,在本例中为 4+0+0=4

    所以八进制数表示为 644  

    接下来是文件属性为目录,这里就要说一下第一位的 d 了

    这第一个字符代表的是文件的类型:

    d  :目录

    -   :文件

    l   :连接档

    b  :装置文件里的可供存储的接口设备 (可随机存储装置)

    c  :装置文件里的串行端口设备,例如键盘、鼠标(一次性读取装置)
     

    展开全文
  • linux下查找类型文件方法

    万次阅读 2016-04-15 11:03:54
     find / -name 查找的文件(全局查找) demo:查找linux下的http.conf的文件路径   2:根据部分文件名查找方法  find /etc -name '*vim*' (在etc目录下查找含有vim的文件) 3:find命令常用方法举例 find -...

    find:通过文件名检索文件路径

    1:通过文件名查找的方法

         find / -name 查找的文件(全局查找)

    demo:查找linux下的http.conf的文件路径

         


    2:根据部分文件名查找方法

        find /etc -name '*vim*' (在etc目录下查找含有vim的文件)


    3:find命令常用方法举例

    find -name "*.txt" -print 查找txt结尾的文件并输出到屏幕上 
    find /cmd ".sh" -print 查找/cmd目录下所有sh文件,并输出 
    find . -perm 755 -print 查找当前目录下权限为755的文件,并输出 
    find `pwd` -user root -print 查找当前目录下属主为root的文件,并输出 
    find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文件 
    find /var -mtime -5 -print 查找/var目录下更改时间为5天内的所有文件 
    find /var -mtime +5 -print 查找/var目录下更改时间为5天以前的所有文件 
    find /var -newer "myfile1" ! -newer "myfile2" -print 查找/var目录下比myfile1新,但是比myfile2旧的所有文件。 
    find /var -type d -print 查找/var目录下所有目录 
    find /var -type l -print 查找/var目录下所有的符号链接文件。 
    find . -size +1000000c -print 查找当前目录下大于1000000字节的文件 
    find / -name "con.file" -depth -print 查找根目录下有无"con.file",若无则在其子目录中查找 
    find . -type f -exec ls -l {} \; 查找当前目录下是否有普通文件,若有则执行ls -l 


    grep:用于搜索服务器或者工作站中的任何位置的文本信息

    1、如何匹配你要查找的内容?


    正则表达式只不过是每个输入行匹配的模式。模式是一个字符序列。下面都是范例:


    例如:“^w1”、“w1|w2”、“[^ ]”。


    在 ‘/etc/passswd’ 中检索 ‘vivek’ 。


    grep vivek /etc/passwd


    输出结果案例:

    vivek:x:1000:1000:Vivek Gite,,,:/home/vivek:/bin/bash

    vivekgite:x:1001:1001::/home/vivekgite:/bin/sh

    gitevivek:x:1002:1002::/home/gitevivek:/bin/sh

    在任何情况下都搜索 ‘vivek’  (即不区分大小):

    grep -i -w vivek /etc/passwd

    不区分大小写地检索 ‘vivek’ 和 ‘raj’ :

    grep -E -i -w 'vivek|raj' /etc/passwd

    在最后一个例子中,使用了扩展正则表达式的模式。

    固定检索内容的位置:

    你可以使用 ^ 和 $ 符号强制一个正则表达式分别匹配一行的开始或结束的位置。下面的示例显示以 ‘vivek’ 开头的文本。

    grep ^vivek /etc/passwd

    输出结果示例:

    vivek:x:1000:1000:Vivek Gite,,,:/home/vivek:/bin/bash

    vivekgite:x:1001:1001::/home/vivekgite:/bin/sh

    你可以只显示以 vivek 开头的文本行。举例说就是不显示 vivekgite , vivekg 这样单词开头的。

    grep -w ^vivek /etc/passwd

    检索以 ‘foo’ 结尾的文本格式:

    grep 'foo$' FILENAME

    你还可以用下面这样的方式搜索空白行:

    grep '^$' FILENAME

    2、如何匹配具体字符?

    匹配 ‘Vivek’ 或 ‘vivek’ :

    grep '[vV]ivek' FILENAME

    或者可以这样:

    grep '[vV][iI][Vv][Ee][kK]' FILENAME

    你可以匹配数字(例如匹配 vivek1 或 Vivek2 ):

    grep -w '[vV]ivek[0-9]' FILENAME

    你可以匹配两位数(例如匹配 foo11 , foo12 ):

    grep 'foo[0-9][0-9]' FILENAME

    不仅仅是数字,你可以匹配字母:

    grep '[A-Za-z]' FILENAME

    显示所有包含 “w” 或 “n” 字母的文本行:

    grep [wn] FILENAME

    在括号内的表达式中,在“ [: ”和“ :] ”中所附的字符类的名称:代表属于该类的所有字符的列表。标准字符类名称:

    [:alnum:] – 字母数字字符。

    [:alpha:] – 字母顺序

    [:blank:] – 空格和制表符。

    [:digit:] – 数字: ‘0 1 2 3 4 5 6 7 8 9’。

    [:lower:] – 小写字母:‘a b c d e f ‘。

    [:space:] – 特殊字符:制表符,换行符,垂直制表符、换页,回车,和空间。

    [:upper:] – 大写字母:‘A B C D E F G H I J K L M N O P Q R S T U V W X Y Z’。

    在下面这个例子中,匹配所有大写字母:

    grep '[:upper:]' FILENAME

    3、如何使用通配符?

    你可以用 “.” 来代替单个字符。在下面的例子中,查询了所有以字母 “b” 开头、字母 “t” 结尾的三个字符的单词。

    grep '\<b.t\>' FILENAME

    在上面的例子中,

    \< 在单词的开始位置匹配空格字符串

    \> 在单词的结尾匹配空格字符串

    检索并输出所有两个字母的结果:

    grep '^..$' FILENAME

    检索并显示所有以 ‘.’ 和数字开头的结果:

    grep '^\.[0-9]' FILENAME

    转义字符’.’

    下面的正则表达式查找 IP 地址 192.168.1.254 将不能获得预期的结果:

    grep '192.168.1.254' /etc/hosts

    其中三个点都需要被转义:

    grep '192\.168\.1\.254' /etc/hosts

    以下示例将只匹配一个地址:

    egrep '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]

    {1,3}' FILENAME

    以下将不分大小写地匹配单词 Linux 或 Unix :

    egrep -i '^(linux|unix)' FILENAME

    二、深入探索 grep 高级查找模式

    1、如何检索一个具有以 ‘-‘ 开头的的模式?

    使用 -e 选项搜索所有匹配 ‘–test–‘ 的结果。grep 会尝试把 ‘–test–‘ 作为一个选项解析:

    grep -e '--test--' FILENAME

    2、如何在grep中使用 OR 的逻辑运算 ?

    grep -E 'word1|word2' FILENAME

    ### OR ###

    egrep 'word1|word2' FILENAME

    或者可以这样做

    grep 'word1\|word2' FILENAME

    3、如何在grep中使用 AND 的逻辑运算 ?

    按照下面的语法显示所有包含了单词 ‘word1′ 和 ‘word2′ 的结果:

    grep 'word1' FILENAME | grep 'word2'

    或者可以这样:

    grep 'foo.*bar\|word3.*word4' FILENAME

    4、如何测试序列?

    你可以使用下面的语法测试一个字符在序列中的重复的次数:

    {N}

    {N,}

    {min,max}

    匹配包含两个字母 v 的字符串结果:

    egrep "v{2}" FILENAME

    下面的例子中将检索文件内包含 “col” 和 “cool” 的字符串结果:

    egrep 'co{1,2}l' FILENAME

    下面的例子中将匹配至少含有3个字母 c 的结果:

    egrep 'c{3,}' FILENAME

    下面的示例将匹配 “91-1234567890″ 格式的手机号码(即 “两位数字-十位数字”)

    grep "[[:digit:]]\{2\}[ -]\?[[:digit:]]\{10\}" FILENAME

    5、如何使 grep 的输出结果高亮标注?

    使用下面例子的语法:

    grep --color regex FILENAME

    6、如何使 grep 的输出只显示匹配的部分而不是整行?

    使用下面例子的语法:

    grep -o regex FILENAME

    三、正则表达式操作符总结











    展开全文
  • 那你就错了,其实在linux系统中权限也是有分类的,也是有上下级的关系,之前我们仅仅只是针对一个文件来谈权限。 考大家一个问题:如果一个文件夹所有者、所属组、其他人都有读写和执行的权...

    引言:上期回顾(想要学习的童鞋可以点击看看)

        学到这里的小伙伴想必对linux中的文件操作都有了一定的基础,那么这一章节我们来谈谈在linux中权限的概念。难道你真的以为只有读写和执行这么简单吗?那你就错了,其实在linux系统中权限也是有分类的,也是有上下级的关系,之前我们仅仅只是针对某一个文件来谈权限。

        考大家一个问题:如果一个文件夹所有者、所属组、其他人都有读写和执行的权限,那么在这个文件夹下有一个文件只有"所有者"才有读写和执行的权限,问:"用一个普通用户账号登陆进来,可不可以删除这个文件夹下的文件?"

    一 修改权限的第一种方式

        命令 :chmod , 修改权限所用到的命令

        命令格式: chmod { [ugoa][+-=][rwx]} 文件名

        第一种方式:使用+ - = 的方式来进行修改。

        首先我们得了解什么人才可以修改权限,在linux中对一个文件进行修改权限必须是该文件的所有者、或者是root,只有这两个才可以进行修改。 我们看命令格式,

                第一部分:"u:所有者"、"g:所属组"、"o:其他人"、"a:包括以上三个角色"。

                第二部分 :"+:加什么权限"、"-:减什么权限"、"=:等于什么权限"

                第三部分:"r:读"、"w:写"、"x:执行"

        在root目录下有一个3.txt的文件,一开始的文件权限是rw-r--r--,代表着所有者有读写权限、所属组和其他人都是读的权限。现在我们执行这条命令 "chmod o+wx 3.txt",什么意思呢? o代表的是其他人,就是给其他人加上写和执行的权限(图1)。然后我们再来查看3.txt文件的详细信息,现在已经是rw-r--rwx。现在所有者不服了,一个文件的所有者都没有执行的权限,其他人却有,那我们在来执行一条命"chmod u+x,o-rwx 3.txt",这样就把所有者的执行权限加上了,同时也把其他人rwx权限都去掉了。(图2)或者也可以不管所属组之前是什么权限,直接用"chmod g=rwx 3.txt",这样所属组的权限就是rwx了。(图3)

        

    二 修改权限的第二种方式

       命令 :chmod , 同样是也是chmod

        命令格式: chmod 777 文件名

        第二种方式:使用数字的方式来修改,我们先来查看数字的定义。

     

    数字对应的权限关系
    4 r(读)
    2 w(写)
    1 x(执行)

        我们来举个例子:rwxrw-r--,我们看所有者的权限关系是rwx,然后再看权限数组对应表,r=4、w=2、x=1相加等于7,所属组的权限rw-,r=4、w=2、-=0,相加就是6、其他人的权限是r--,那也就是r =4 、-=0,所以等于4。 那这个文件的所对应数字就是764,加到命令中去就是"chmod 764 3.txt"。

        如果我们在面试过程中,面试官给你权限相对应的数字需要你写出对应的权限,这一点我们也需要会。比如说

            1  572 ————r-x rwx -w-,5代表着所有者的权限r(4)+x(1)=5,r(4)+w(2)+x(1),w(2)=2。

            2 777 ———— rwx rwx rwx,7就代表着rwx权限都有。

         在修改权限的命令当中还有一个-R的选项,-R选项的作用是:我们在对目录进行修改权限的时候,如果使用-R(大写的R)目录下全部的文件都会修改成和目录一样的权限(图2)。

              

    三 更加深入了解权限

        争对文章一开始提出的问题,一个文件目录的权限的是"777",但是目录下的一个文件的权限是"700",这个时候一个普通用户登录进来,问该用户能不能删除这个目录下的文件。我们查看下面的表格,

        1 当我们对一个目录有r权限的时候,可以查看也就是用ls命令列出目录下的文件。

        2 当我们对一个目录有w权限的时候,可以在目录中创建、删除文件。

        3 当我们对一个目录有x权限的时候,可以进入目录,也就是相对应的cd命令。

    知道这些以后,答案就很明显了,一个目录的权限是"777",那意思就是不管是什么人都可以对该目录下的文件进行查看、创建文件、删除文件等之类的操作。所以我们的答案是"可以删除这个目录下的文件的"。

     

     

    文件目录权限总结
    代表字符 权限 对文件的含义 对目录的含义
    r 读权限 可以查看文件内容 可以列出目录中的内容
    w 写权限 可以修改文件内容 可以在目录中创建、删除文件
    x 执行权限 可以执行文件 可以进入目录

     

    展开全文
  • Linux基础命令学习——文件权限与归属(十二)

    千次阅读 多人点赞 2020-05-13 12:17:17
    Linux系统中“一切皆文件”,每个文件类型不尽相同;在Linux系统中使用不同的字符加以区分,常见的字符如下所示: -:普通文件 d:目录文件 l:链接文件 b:块设备文件 c:字符设备文件 p:管道文件 1.1.1 访问...
  • linux文件权限标志位共九个,分为3组,分别代表文件拥有者的权限文件所属用户组的权限和其它用户的权限Linux 文件权限有三种: 可读(r):意味着我们可以查看阅读; 可写(w):意味着,可以修改或删除(不过...
  • Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-] 目录文件 就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx] ...
  • Linux文件系统权限管理

    千次阅读 多人点赞 2020-06-22 11:23:46
    AUG权限、进程安全上下文、ACL权限权限掩码umask、文件特殊权限SUID/SGID/SBIT、隐藏属性
  • Linux不同颜色文件类型/权限/属性

    千次阅读 2012-04-30 15:16:06
    Linux不同颜色文件类型/权限/属性 蓝色文件----------目录 白色文件----------一般性文件,如文本文件,配置文件,源码文件等 浅蓝色文件----------链接文件,主要是使用ln命令建立的文件 绿色文件-----...
  • linux文件权限标志位共九个,分为3组,分别代表文件拥有者的权限文件所属用户组的权限和其它用户的权限Linux 文件权限有三种: 可读(r):意味着我们可以查看阅读; 可写(w):意味着,可以修改或删除(不过...
  • 一、UNIX下关于文件权限的表示方法和解析 UNIX下关于文件权限的表示方法和解析   SUID 是 Set User ID, SGID 是 Set Group ID的意思。   UNIX下可以用ls -l 命令来看到文件权限。用ls命令所得到的表示法的...
  • linux文件和目录权限的查看及修改

    千次阅读 2018-07-31 19:52:05
    Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。 在终端里输入 ls -l 命令可以查看当前目录下某个文件或目录的权限,显示每行数据的第一个字段就是它的权限内容。第一个字段由10个字符组成,...
  • linux ftp如何配置 文件上传权限

    千次阅读 2016-01-11 18:00:08
    因为要往linux上传东西,所以弄了一下vsftp,上网找了很多的教程,但感觉好多地方没有写到。根据我自己的配置经验来写...配置文件是 /etc/vsftpd/vsftpd.conf 按如下编辑此文件,编辑文件当然用vi了注意以下配置中
  • Linux下,查看路径下用(ls -l)或(ll) 查看所有文件的详细属性列表时,会看到文件的操作权限,类似“drwxr-xr-x”的字符串。 d :第一位表示文件类型  d 文件夹  - 普通文件  l 链接  b 块设备文件 ...
  • 一、统计单个文件 统计单个文件字符串出现次数,语法:grep 字符串 文件名|wc -l ,grep输出,wc -l按行统计,每行重复只统计一个 如:统计task-hbase-transform.log中NullPointerException出现的次数 grep ...
  • Linux文件和目录访问权限设置

    千次阅读 2013-11-19 09:26:58
    linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。   通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的...
  • linux chmod命令是在日常运维中比较常用的命令之一,对文件管理比较重要,如设置web目录时需设置特定的权限以保证服务器安全。 提示:在写完shell脚本后,我们一般需要给这脚本设置权限:chmoda+x shell.sh 有...
  • linux查找文件命令find

    万次阅读 多人点赞 2008-04-25 16:56:00
    我们有时候经常忘记文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上...
  • Linux 文件权限简单说明

    千次阅读 2015-06-03 18:32:32
    linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问(所有者);允许一个预先指定的...
  • linux下查找某个文件位置的方法

    万次阅读 多人点赞 2011-04-27 00:10:00
    看看怎么查这个文件linux下的哪个目录一.通过文件名查找法:举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录 下,甚至在系统的某个地方也不知道,则这是可以使用如下命令: find / -name httpd.conf ...
1 2 3 4 5 ... 20
收藏数 78,084
精华内容 31,233
关键字:

linux 权限 某类型文件