文件权限_文件权限644 - CSDN
精华内容
参与话题
  • Linux系统上对文件权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。 Linux下文件权限类型一般包括读,写,执行。对应字母为 r、w、x。 Linux下权限的粒度有 拥有者 ...

    权限简介

    • Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。
    • Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
    • Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
    • Linux上通常使用chmod命令对文件的权限进行设置和更改。

    一、快速入门

    更改文件权限 (chmod命令)

    一般使用格式

    chmod [可选项] <mode> <file...>

    参数说明:
    
    [可选项]
      -c, --changes          like verbose but report only when a change is made (若该档案权限确实已经更改,才显示其更改动作)
      -f, --silent, --quiet  suppress most error messages  (若该档案权限无法被更改也不要显示错误讯息)
      -v, --verbose          output a diagnostic for every file processed(显示权限变更的详细资料)
           --no-preserve-root  do not treat '/' specially (the default)
           --preserve-root    fail to operate recursively on '/'
           --reference=RFILE  use RFILE's mode instead of MODE values
      -R, --recursive        change files and directories recursively (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)
           --help		显示此帮助信息
           --version		显示版本信息
    [mode] 
        权限设定字串,详细格式如下 :
        [ugoa...][[+-=][rwxX]...][,...],
    
        其中
        [ugoa...]
        u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
        [+-=]
        + 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
        [rwxX]
        r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
     	
    [file...]
        文件列表(单个或者多个文件、文件夹)

     范例:

    • 设置所有用户可读取文件 a.conf
    chmod ugo+r a.conf 
    或 
    chmod a+r  a.conf
    
    • 设置 c.sh 只有 拥有者可以读写及执行
    chmod u+rwx c.sh
    
    • 设置文件 a.conf 与 b.xml 权限为拥有者与其所属同一个群组 可读写,其它组可读不可写
    chmod a+r,ug+w,o-w a.conf b.xml
    
    • 设置当前目录下的所有档案与子目录皆设为任何人可读写
    chmod -R a+rw *
    

    数字权限使用格式

    在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,

    如:

    rwx = 4 + 2 + 1 = 7

    rw = 4 + 2 = 6

    rx = 4 +1 = 5

    若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7

    若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6

    若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5

    上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :

    chmod <abc> file...

    其中
    a,b,c各为一个数字,分别代表User、Group、及Other的权限。
    相当于简化版的
    chmod u=权限,g=权限,o=权限 file...
    而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限
    

    范例:

    • 设置所有人可以读写及执行
    chmod 777 file  (等价于  chmod u=rwx,g=rwx,o=rwx file 或  chmod a=rwx file)
    
    • 设置拥有者可读写,其他人不可读写执行
    chmod 600 file (等价于  chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
    

    更改文件拥有者(chown命令)

    linux/Unix 是多人多工作业系统,每个的文件都有拥有者(所有者),如果我们想变更文件的拥有者(利用 chown 将文件拥有者加以改变),一般只有系统管理员(root)拥有此操作权限,而普通用户则没有权限将自己或者别人的文件的拥有者设置为别人。

    语法格式:

    chown [可选项] user[:group] file...

    使用权限:root
    
    说明:
    [可选项] : 同上文chmod
    user : 新的文件拥有者的使用者 
    group : 新的文件拥有者的使用者群体(group)
    

    范例:

    • 设置文件 d.key、e.scrt的拥有者设为 users 群体的 tom
    chown tom:users file d.key e.scrt
    
    • 设置当前目录下与子目录下的所有文件的拥有者为 users 群体的 James
    chown -R James:users  *
    

    二、Linux权限详解

    Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。这也是Linux有别于Windows的机制,也是基于这个权限机制,Linux可以有效防止病毒自我运行,因为运行的条件是必须要有运行的权限,而这个权限在Linux是用户所赋予的。

    Linux的文件权限有以下设定:

    • Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
    • Linux下权限的属组有 拥有者 、群组 、其它组 三种。每个文件都可以针对这三个属组(粒度),设置不同的rwx(读写执行)权限。
    • 通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。

    如果我们要表示一个文件的所有权限详情,有两种方式:

    • 第一种是十位二进制表示法 ,(三个属组的每个权限使用一个二进制位,再加一个最高位共十位),可简化为三个八进制数字形式(如 755)
    • 另外一种十二位二进制表示法(十二个二进制位),可简化为四个八进制数字形式(如4755)

    十位权限表示

    常见的权限表示形式有:

    -rw------- (600)    只有拥有者有读写权限。
    -rw-r--r-- (644)    只有拥有者有读写权限;而属组用户和其他用户只有读权限。
    -rwx------ (700)    只有拥有者有读、写、执行权限。
    -rwxr-xr-x (755)    拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
    -rwx--x--x (711)    拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
    -rw-rw-rw- (666)    所有用户都有文件读、写权限。
    -rwxrwxrwx (777)    所有用户都有读、写、执行权限。
    

    后九位解析: 我们知道Linux权限总共有三个属组,这里我们给每个属组使用三个位置来定义三种操作(读、写、执行)权限,合起来则是权限的后九位。 上面我们用字符表示权限,其中 -代表无权限,r代表读权限,w代表写权限,x代表执行权限。(后九位的前3位对应拥有者权限、4-6位对应群组权限、7-9对应其他组权限)

    实际上,后九位每个位置的意义(代表某个属组的某个权限)都是固定的,如果我们将各个位置权限的有无用二进制数 1和 0来代替,则只读、只写、只执行权限,可以用三位二进制数表示为

    r-- = 100
    -w- = 010
    --x = 001
    --- = 000
    

    转换成八进制数,则为 r=4, w=2, x=1, -=0(这也就是用数字设置权限时为何是4代表读,2代表写,1代表执行)

    实际上,我们可以将所有的权限用二进制形式表现出来,并进一步转变成八进制数字:

    rwx = 111 = 7
    rw- = 110 = 6
    r-x = 101 = 5
    r-- = 100 = 4
    -wx = 011 = 3
    -w- = 010 = 2
    --x = 001 = 1
    --- = 000 = 0
    

    由上可以得出,每个属组的所有的权限都可以用一位八进制数表示,每个数字都代表了不同的权限(权值)。如 最高的权限为是7,代表可读,可写,可执行。

    故 如果我们将每个属组的权限都用八进制数表示,则文件的权限可以表示为三位八进制数

    -rw------- =  600
    -rw-rw-rw- =  666
    -rwxrwxrwx =  777
    

    关于第一位最高位的解释: 上面我们说到了权限表示中后九位的含义,剩下的第一位代表的是文件的类型,类型可以是下面几个中的一个:

    d代表的是目录(directroy)
    -代表的是文件(regular file)
    s代表的是套字文件(socket)
    p代表的管道文件(pipe)或命名管道文件(named pipe)
    l代表的是符号链接文件(symbolic link)
    b代表的是该文件是面向块的设备文件(block-oriented device file)
    c代表的是该文件是面向字符的设备文件(charcter-oriented device file)
    

    十二位权限(Linux附加权限)

    附加权限相关概念

     

    linux除了设置正常的读写操作权限外,还有关于一类设置也是涉及到权限,叫做Linxu附加权限。包括 SET位权限(suid,sgid)和粘滞位权限(sticky)。

     

    SET位权限:

    suid/sgid是为了使“没有取得特权用户要完成一项必须要有特权才可以执行的任务”而产生的。 一般用于给可执行的程序或脚本文件进行设置,其中SUID表示对属主用户增加SET位权限,SGID表示对属组内用户增加SET位权限。执行文件被设置了SUID、SGID权限后,任何用户执行该文件时,将获得该文件属主、属组账号对应的身份。在许多环境中,suid 和 sgid 很管用,但是不恰当地使用这些位可能使系统的安全遭到破坏。所以应该尽量避免使用SET位权限程序。(passwd 命令是为数不多的必须使用“suid”的命令之一)。

    • suid(set User ID,set UID)的意思是进程执行一个文件时通常保持进程拥有者的UID。然而,如果设置了可执行文件的suid位,进程就获得了该文件拥有者的UID。
    • sgid(set Group ID,set GID)意思也是一样,只是把上面的进程拥有者改成进程组就好了。

    SET位权限表示形式(10位权限):

    如果一个文件被设置了suid或sgid位,会分别表现在所有者或同组用户的权限的可执行位上;如果文件设置了suid还设置了x(执行)位,则相应的执行位表示为s(小写)。但是,如果没有设置x位,它将表示为S(大写)。如:

    1、-rwsr-xr-x 表示设置了suid,且拥有者有可执行权限
    2、-rwSr--r-- 表示suid被设置,但拥有者没有可执行权限
    3、-rwxr-sr-x 表示sgid被设置,且群组用户有可执行权限
    4、-rw-r-Sr-- 表示sgid被设置,但群组用户没有可执行权限
    

    设置方式:

    SET位权限可以通过chmod命令设置,给文件加suid和sgid的命令如下(类似于上面chmod赋予一般权限的命令):

    chmod u+s filename 	设置suid位
    chmod u-s filename 	去掉suid设置
    chmod g+s filename 	设置sgid位
    chmod g-s filename 	去掉sgid设置
    

    粘滞位权限:

     

    粘滞位权限即sticky。一般用于为目录设置特殊的附加权限,当目录被设置了粘滞位权限后,即便用户对该目录有写的权限,也不能删除该目录中其他用户的文件数据。设置了粘滞位权限的目录,是用ls查看其属性时,其他用户权限处的x将变为t。 使用chmod命令设置目录权限时,+t、-t权限模式可分别用于添加、移除粘滞位权限。

    粘滞位权限表示形式(10位权限):

    一个文件或目录被设置了粘滞位权限,会表现在其他组用户的权限的可执行位上。如果文件设置了sticky还设置了x(执行)位,其他组用户的权限的可执行位为t(小写)。但是,如果没有设置x位,它将表示为T(大写)。如:

    1、-rwsr-xr-t 表示设置了粘滞位且其他用户组有可执行权限
    2、-rwSr--r-T 表示设置了粘滞位但其他用户组没有可执行权限
    

    设置方式:

    sticky权限同样可以通过chmod命令设置:

    chmod +t <文件列表..>

    十二位的权限表示方法

    附加权限除了用十位权限形式表示外,还可以用用十二位字符表示。

    11 10 9 8 7 6 5 4 3 2 1 0
    S  G  T r w x r w x r w x
    

    SGT分别表示SUID权限、SGID权限、和 粘滞位权限,这十二位分别对应关系如下:

    第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位(后九位)。

    在这十二位的每一位上都置值。如果有相应的权限则为1, 没有此权限则为0。

    -rw-r-sr-- 的值为: 0 1 0  1 1 0  1 0 0  1 0 0
    -rwsr-xr-x 的值为: 1 0 0  1 1 1  1 0 1  1 0 1
    -rwsr-sr-x 的值为: 1 1 0  1 1 1  1 0 1  1 0 1 
    -rwsr-sr-t 的值为: 1 1 1  1 1 1  1 0 1  1 0 1
    

    如果将则前三位SGT也转换成一个二进制数,则

    • suid 的八进制数字是4
    • sgid 的代表数字是 2
    • sticky 位代表数字是1

    这样我们就可以将十二位权限三位三位的转化为4个八进制数。其中

    • 最高的一位八进制数就是suid,sgdi,sticky的权值。
    • 第二位为 拥有者的权值
    • 第三位为 所属组的权值
    • 最后一位为 其他组的权值

    附加权限的八进制形式

     

    通过上面,我们知道,正常权限和附加权限可以用4位八进制数表示。类似于正常权限的数字权限赋值模式(使用三位八进制数字赋值)

    chmod <abc> file...

    我们可以进一步使用4位八进制数字同时赋值正常权限和附加权限。

    chmod <sabc> file...

    其中s是表示附加权限的把八进制数字,abc与之前一致,分别是对应User、Group、及Other(拥有者、群组、其他组)的权限。因为SUID对应八进制数字是4,SGID对于八进制数字是2,则“4755”表示设置SUID权限,“6755”表示同时设置SUID、SGID权限。

    我们进一步将上小节的例子中的二进制数转变为八进制表示形式,则

    -rw-r-sr-- = 0 1 0 1 1 0 1 0 0 1 0 0 = 2644 
    -rwsr-xr-x = 1 0 0 1 1 1 1 0 1 1 0 1 = 4755
    -rwsr-sr-x = 1 1 0 1 1 1 1 0 1 1 0 1 = 6755
    -rwsr-sr-t = 1 1 1 1 1 1 1 0 1 1 0 1 = 7755
    

    对比范例:

    • 设置 netlogin 的权限为拥有者可读写执行,群组和其他权限为可读可执行
    chmod 755 netlogin
    
    
    • 设置 netlogin 的权限为拥有者可读写执行,群组和其他权限为可读可执行,并且设置suid
    chmod 4755 netlogin

    chmod 4755与chmod 755对比多了附加权限值4,这个4表示其他用户执行文件时,具有与所有者同样的权限(设置了SUID)。

    为什么要设置4755 而不是 755? 
    假设netlogin是root用户创建的一个上网认证程序,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。但假如netlogin执行时需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。

     

    展开全文
  • Linux 文件和文件夹权限操作

    万次阅读 多人点赞 2018-04-13 12:22:17
    三、Linux 文件权限首先来查看一下当前目录下的文件内容吧ls -l 查看当前目录下的文件列表 ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件我们可以看到文件的权限,-rw-rw-r-- ,一共有10位数。其中: 最前面...
    三、Linux 文件权限


    首先来查看一下当前目录下的文件内容吧

    ls -l    查看当前目录下的文件列表
    ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件


    我们可以看到文件的权限-rw-rw-r--  ,一共有10位数。

    其中: 最前面那个 - 代表的是类型(详细如下面贴图所示)
    中间那三个 rw- 代表的是所有者(user)
    然后那三个 rw- 代表的是组群(group)
    最后那三个 r-- 代表的是其他人(other)
    然后我再解释一下后面那9位数:
    r 表示文件可以被读(read)
    w 表示文件可以被写(write)
    x 表示文件可以被执行(如果它是程序的话)

    - 表示相应的权限还没有被授予

    文件和文件夹操作权限:

    权限简写对普通文件的作用对文件夹的作用
    读取r查看文件内容列出文件夹中的文件(ls)
    写入w修改文件内容在文件夹中删除、添加或重命名文件(夹)
    执行x文件可以作为程序执行cd 到文件夹
    图解:



    需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。

    补充:

    特殊权限SUID、SGID、Sticky
    在 linux 系统中还有三种与用户身份无关的三个文件权限属性。即SUID、SGID和Sticky。
    SUID(Set User ID, 4):
    该属性只对有执行权限的文件有效,对目录无效。执行具有SUID权限的程序时,引发的进程的所有者是程序文件的所有者,而不是启动程序的用户(除非二者是同一个人)。比如,如果一个程序的所有者是root且具有SUID属性,一个普通用户执行此程序时,如同root执行此程序一样。(请注意该属性对Shell脚本程序无效)该属性为一些特殊程序(如lpr)的启动带来了方便。但有时也带来了安全隐患:比如一个具有SUID属性的程序如果在执行时运行了一个shell,那么用户可以籍此得到系统的最高权限。SUID可用s表示,如:
    $ ls -l /usr/bin/passwd
    -rwsr-xr-x 1 root root 47032 Feb 16  2014 /usr/bin/passwd

    SGID(Set Group ID, 4):
    对于可执行文件,SGID与SUID类似,引发的进程的所有组是程序文件所属的组。对于目录,SGID属性会使目录中新建文件的所属组与该目录相同。SGID也可以用s表示,如:
    $ ls -l /var
    drwxrwsr-x  2 root staff    4096 Apr 10  2014 local
    drwxrwxr-x 15 root syslog   4096 Apr  4 19:57 log
    Sticky, 1:
    仅对目录有效。带sticky属性的目录下的文件或目录可以被其拥有者删除或改名。常利用sticky属性创建这样的目录:组用户可以在此目录中创建新文件、修改文件内容,但只有文件所有者才能对自己的文件进行删除或改名。如系统中的/tmp文件夹。在属性字符串中,通常用t表示。
    $ ls -l /
    drwxrwxrwt   8 root root  4096 Apr  4 23:57 tmp


    修改文件和文件夹对应用户的操作权限

    如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改,这里有两种方式:

    方式一:二进制数字表示


    每个文件的三组权限:
    u 代表所有者(user
    g 代表所有者所在的组群(group
    o 代表其他人,但不是u和g (other
    a 代表全部的人,也就是包括u,g和o
    根据上图,其中:rwx也可以用数字来代替
    r ------------4
    w -----------2
    x ------------1
    - ------------0

    当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
      -rw------- (600) 只有所有者才有读和写的权限
      -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
      -rwx------ (700) 只有所有者才有读,写,执行的权限
      -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
      -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
      -rw-rw-rw- (666) 每个人都有读写的权限
      -rwxrwxrwx (777) 每个人都有读写和执行的权限

    上实际操作

    查看了test的权限,是所有者拥有读、写、执行的权限:


    然后向文件里添加了些内容,更改了下权限(700:-rwx------),并尝试在shiyanlou(所有者)下读取文件,可以读取。


    更换到其他用户Peter,如下图再尝试读取,显示是权限不够,无法读取。



    方式二:加减赋值操作

    u 代表所有者(user)
    g 代表所有者所在的组群(group)
    o 代表其他人,但不是u和g (other)

    a 代表全部的人,也就是包括u,g和o

    + 和 - 分别表示增加和去掉相应的权限。+号一般不显示(初学练手时我还是会加上)

    在终端输入:
    chmod o+w xxx.xxx
    chmod o w xxx.xxx         表示给其他人授予xxx.xxx这个文件的权限

    chmod go-rw xxx.xxx      表示删除xxx.xxx中组群和其他人的读和写的权限
    chmod ug-r xxx.xxx




    修改文件或文件夹的拥有者/所属的组

    使用命令chown改变目录或文件的所有权(所有者/组)

    注释:这里说的断断续续的,将在学习下一个内容(用户/组 增删改查)之后补充

    文件与目录不仅可以改变权限,其所有权及所属用户组也能修改,和设置权限类似,用户可以通过图形界面来设置,或执行chown命令来修改。
    我们先执行ls -l看看目录情况:

    可以看到test文件的所属用户组为root所有者为root
    执行下面命令,把上图中test文件的所有权转移到用户peter:
    # chown peter test


    改变所属组,将test文件从root组中转移到组Peter中,可使用下面命令:
    # chown :peter test


    将所属的用户和组一起更改
    将文件夹或文件test的拥有者修改成shiyanlou,所属的组修改成shiyanlou,如下图:


    展开全文
  • Linux系统文件权限的管理

    千次阅读 2018-08-16 15:51:49
    文件权限是系统最底层安全设定方法之一,它保证文件可以被可用的用户做相应操作 2.权限的识别 利用以下命令进行查看: 对文件:ls -l file 对目录:ls -ld dir 3.权限的查看与理解 首先在/mnt目录下用touch /...

    1.权限存在的意义

    文件权限是系统最底层安全设定方法之一,它保证文件可以被可用的用户做相应操作

    2.权限的识别

    利用以下命令进行查看:
    对文件:ls -l file
    对目录:ls -ld dir

    3.权限的查看与理解

    首先在/mnt目录下用touch /mnt/file{1..3}新建3个文件,再在此目录下用mkdir /mnt/test新建文件夹test,且test文件夹下包含3个文件用touch /mnt/test/file{1..3}实现,再用watch -n 1 ls -Rl /mnt对文件权限进行监控,确保每次对权限的操作都能实时被看到。

    1)文件权限的查看

    命令:ls -l file
    - rw-r--r-- 1 root root 216 may 12 2017 /mnt/rht
    ①   ②    ③   ④   ⑤   ⑥            ⑦              ⑧
        ①文件类型

            -    普通文件
            d   目录
            l     软链接
            s    套接字
            c    字符设备(显示字符,如date命令)/dev/pts/1 date > /dev/pts/1
        ②文件的权限
            rw-|r--|r--
            u   g   o
            u:    user
            g:    group
            o:    other
        ③文件硬链接个数,文件内容被系统记录的个数
        ④文件拥有者
        ⑤文件拥有组
        ⑥文件大小
        ⑦文件最后一次被修改的时间
        ⑧文件名称

    2)文件权限的查看

    命令:ls -ld dir
    d rwxr-xr-x-. 1 root root 4096 Jul 30 09:05 /mnt/
    ①     ②       ③  ④   ⑤     ⑥            ⑦            ⑧
        ①类型
        ②权限
        ③目录中子目录个数
        ④用户
        ⑤组
        ⑥子文件或子目录元数据大小(属性)
        ⑦最后一次被更改的时间
        ⑧文件名称

    4.修改文件用户及用户组

    此命令必须用root用户执行,因此得首先切换到超级用户

    修改文件用户名
    1)chown username file|dir(修改文件或文件夹的用户名)
    2)chown -R username dir(修改文件夹中文件的用户名)
    3)chown username:group file|dir(修改文件或文件夹的用户名及用户组)

    以下图片是对这几个命令的分步演示:

    1)chown username file|dir

    2)chown -R username dir

    3)chown username:group file|dir

    修改文件的用户组
    1)chgrp group file|dir(修改文件或文件夹的用户组)
    2)chgrp -R group file|dir(修改文件夹中文件的用户组)

    分步演示:

    1)chgrp group file|dir

    2)chgrp -R group file|dir

    5.文件权限

    文件的权限总共有三种:r(可读),w(可写),x(可执行)
    1)文件权限的作用
    r
    对文件    是否可以查看文件中的字符
    对目录    是否可以查看目录中有什么文件
    w
    对文件    是否可以改变文件中记录的字符
    对目录    是否可以在目录中管理文件,是否可以更改目录中文件的元数据
    x
    对文件    是否可以通过文件名称调用文件内记录的程序
    对目录    是否可以进入此目录

    注意:删除文件需要w和x的权力

                r和x权限基本上是都给或者都不给

                w权限出现在rx之后

    2)权限的管理
    方式一:字符形式
    chmod <u|g|o> <+|-|=> <r|w|x> file|dir,ugo和+-=和rwx之间可以随意组合,但这种方式相对而言比较繁琐,因此一般使用第二种方式。


    方式二:数字方式
    r,w,x分别对应2,1,0
    x=2^0*0|1=0|1
    w=2^1*0|1=0|2
    w=2^2*0|1=0|4

    x=1
    w=2
    r=4

    rwx=7
    rw-=6
    r-x=5
    r--=4
    -wx=3
    -w-=2
    --x=1
    chmod 755 /mnt/file1就相当于设定文件权限为rwxr-xr-x-

    6.权限列表

    特定用户对特定文件有指定权限
    -rw-r--r--+ 1 root root 216 may 12 2017 /mnt/rht
    +号代表权限列表开启
    [root@foundation100 mnt]# getfacl file
    file:file    文件名称
    #owner:root    文件所有人
    #group:root    文件所有组
    user::rw--    用户权限
    user:kiosk:rwx    特殊指定用户权限
    group::r--    组权限
    mask::rwx    权限最大值
    other::r--    其他人权限

    setfacl -m u:student:rwx file    设定列表用户权限
    setfacl -x u:student file    删除列表中的指定用户
    setfacl -b file            关闭权限列表

    记下来我们通过两道简单的练习来掌握一下权限列表,

    第一题题目如下:

    1)新建用户组,shengchan,caiwu,jishu

    2)新建用户要求如下:

             ①tom是shengchan组的附加成员

             ②harry是caiwu组的附加成员

             ③leo是jishu组的附加成员

             ④新建admin用户,此用户不属于以上提到的三个部门

    3)新建目录要求如下:

             ① /cw目录为财务部存储目录只能对财务部人员可以写入

             ② /sc目录为生产部存储目录只能对生产部人员可以写入

             ③ /js目录为技术部存储目录只能对技术部人员可以写入

    步骤如下:

    第二题题目:

    拷贝/etc/fstab文件到/var/tmp目录中,设置以下需求:

    • 使harry用户对该文件无任何权限
    • 使natasha用户对该文件有完全控制权限
    • 配置文件所属用户为root
    • 配置文件所属组为root
    • 其它所有用户对文件拥有读权限
    • 其他所有用户对文件没有执行权限

    步骤如下:

    展开全文
  • 文件权限

    2018-07-25 16:39:17
    ###文件权限存在的意义### 系统最底层安全设定方法之一 保证文件可以被可用的用户做相应的操作 ####文件权限的查看## ls -l file ls -ld dir ll file ...

    ###文件权限存在的意义###

    系统最底层安全设定方法之一                  保证文件可以被可用的用户做相应的操作

    ####文件权限的查看##

    ls   -l  file                                    ls  -ld   dir                                        ll  file                                 ll   -d    dir

    ###文件权限的读取###

    -             rw-rw-r--         1         kiosk          kiosk             0             july 21  09:18              file

    [1]              [ 2]             [3]           [4]               [5]              [6]              [7]                               [8]

    [1]文件的类型            -   ###空文件或者文本      d   ##目录           l ###表示软链接

    s   ##socket套接字           

      b###block块设备            

    c###  字符设备

    [2]文件的权限     rw- rw-r--           [u]文件拥有者对文件能有什么操作

                                                           [g]文件所有组对文件能做什么操作

                                                           [o]其他人能对文件做什么操作

    [3]     对文件:文件硬链接个数(文件内容被记录的次数)

             对目录:目录中子目录的个数

    [4]   文件的所有人

    [5]   文件所有组

    [6]  对文件:文件的大小       对目录:目录中子文件元数据(matedate可以理解为文件的属性)的大小

    [7]  文件内容被修改的时间

    [8]  文件的名称

    ###改变文件的所有人和所有组###

    chown      username    file/dir                           

         chown   user.group     file/dir                   

    chown   -R   user.group    dir

    chgrp      group    file/dir                                          

     

    chgrp   -R   group   dir

     

    ###如何改变文件的权限###

    1.对权限的理解

    r     对文件:是否可以查看文件的内容

         对目录:  是否可以查看目录中有什么子文件或者子目录

    w  对文件: 是否可以改变文件里面记录的字符

        对目录:是否可以对目录中子目录或者子文件的元数据进行更改

    x  对文件:是否可以通过文件名称调用文件内记录的程序

        对目录:是否可以进入目录

    2.更改的方式

    chmod   u/g/o      +/-      r/w/x        file/dir

    chmod       u+x     /mnt/file                                 

    chmod   ug-r     file

    chmod       u-r,g+x       file                             

      chmod   o= r-x     file

    或者可以用数字代替权限的书写

    7=rwx                 

       6=rw-               

    5=r-x           

    4=r--                 

    3=-wx                 

    2=-w-          

    1=--x              

    0=---

    chmod  541    /mnt/file1

    ###umask###

    umask系统建立文件是默认保留的权力

    umask   007  ###临时设定系统预留权限为007

    永久更改umask

    vim  /etc/profile    ##系统配置文件

    vim    /etc/bashrc   ##shell 的配置文件(第一个出现的umask为普通用户的umask,第二个出现的umask为超级用户的umask)

    source   /etc/profile  ##让更改立即生效

    source   /etc/bashrc     

    ###特殊权限###

    1.sticky  ##粘制位##

    作用:只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被文件的所有者删除

    设定方式:chmod   o+t  dir                    chmod  1xxx  dir

    2.sgid  ##强制位##

    作用:对文件:只针对二进制可执行文件

                                 当文件上有sgid时任何人执行此文件产生的进程都属于文件的组

                   对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组

    设定方式: chmod  g+s   file/dir                        chmod  2xxx   file/dir

    3.suid   ##冒险位##

    作用:只针对二进制可执行文件

                当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件所有人

    设定方式:  chmod  u+s  file    chmod  4xxx      file

    ###文件的权限##

    getfacl   file   ##查看acl开启的文件的权限

    #file:file                   ##文件名称

    #owner:root               ##文件拥有者

    #group:root                      ##文件拥有组

    user::rw-                         ##文件拥有人的权限

    user:kiosk:rwx                   ##指定用户的权限

    group::r--                                ###文件拥有组的权力

    mask::rwx                                   ###能赋予用户的最大权力伐值            

    other::r--                              ####其他人的权限

    acl  列表的管理    

    set facl    -m   u:username:rwx   file             ###设定username对file 拥有rwx权限

    setfacl    -m   g:group:rwx    file              ##设定group组成员对file拥有rwx权限

    setfacl   -x   u:username   file                ###从acl列表中删除username

    setfacl   -b   file                                          ##关闭file上的acl 列表

    ###mask值##

    在权限列表中mask表示能生效的权力值,当用chmod减小开启acl的文件权限时mask值会发生改变     chmod  g-w  westos

    如果要恢复mask值   setfacl    -m  m:rw    westos

                  

    ##acl的默认权限的设定###

    acl默认权限只针对目录设定

    acl权限只针对设定完成之后新建立的文件或者目录生效,而已经存在的文件是不会继承默认权限的

    执行方式:  setfacl  -m   d:u:student:rwx   /mnt/westos

    ###对root进行设定权限###

    lsattr    file

    chattr  +i  file                    chattr  -i  file

     

     

     

     

     

    展开全文
  • Linux文件权限管理

    千次阅读 2020-10-13 14:49:02
    文件权限 ls -lh //可以查看目录详情,包括内存占用大小 drwxr-xr-x 2 root root 21 Jun 19 17:51 fileIotServer -rw-r--r-- 1 root root 63M Jun 19 18:48 iotserver-0.0.1.jar -rw-r--r-- 1 r...
  • 文件权限

    2018-08-12 15:38:05
    文件权限存在的意义 系统最底层安全设定的方法之一 保证文件可以被可用的用户做相应的操作 二.文件权限的查看 ls -l file  ls -ld dir ll file ll -d dir 三.文件属性的读取 ls -l filename -|rw-r--r--| 1...
  • 文件权限设置详解

    千次阅读 2018-03-18 17:00:53
    转载于:https://www.cnblogs.com/zhangchengxiang/p/5193816.html一、前言 Linux下所有资源、设备均被视作文件来操作,而文件权限则是决定用户可各文件操作的范围,无论是平时使用Linux,还是写程序均涉及这方面。...
  • linux下文件权限更改

    万次阅读 2018-11-07 18:44:51
    文件权限 #####1.文件属性的查看 ls -l filename -|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |filename — ————————— — ———— ———— —— ———————————— ——————...
  • 文件权限详解

    千次阅读 2016-05-28 14:36:55
    刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细介绍一下数字文件权限和字母文件权限的对应关系,以帮助Linux入门初学者尽快的完成对文件权限的理解,尽快学习Linux系统更深层次内容。 Linux下,查看某...
  • liunx中有文件有三种权限,用户权限,群组权限,其他用户权限,分别为r(可写)w(可读)x(可执行)rwxrwx ,还有s/t特殊权限,可分为: rwsrwxrwx 用户权限出现s,替代了x rwxrwsrwx 群组权限出现s,替代了x rwxrwxrwt ...
  • Linux查看文件权限

    万次阅读 2018-07-13 10:25:30
    Linux查看权限命令:ls -l 文件或文件夹
  • 以下命令行修改指定目录下的所有文件权限为全体可读、可修改、可执行 chmod -R 777 apache-tomcat-8.5.20/
  • Ubuntu修改文件权限

    万次阅读 多人点赞 2017-12-23 15:46:50
    Linux下修改文件权限
  • linux下拷贝文件的时候出现权限不够,如何解决

    万次阅读 多人点赞 2015-10-28 11:03:56
    首先是ctrl+alt+t 打开一个终端。 然后运行命令 sudo nautilus 。 就可以打开一个具有管理员权限文件管理器啦。 然后就可以在不切换到管理员的条件下拷贝文件啦。
  • 例:对/html目录下的所有文件与子目录执行相同的权限变更: chmod -R 777 /html -R参数是递归 处理目录下的所有文件以及子文件夹 777是变更后的权限表示(所有用户有读和写以及执行的权限) /html 是需要执行的...
  • 问题 解决方法1: 右键--属性--安全--编辑--选择Users,勾选完全控制--确定--确定 完成 或 解决方法2: 1.右键--属性--安全--编辑 2.点击--添加 3.点击--高级 4.立刻查找--选择Everyone......
  • 树莓派配置邮箱时需要用到ssmtp.conf文件,但是默认的权限为‘只读’,所以需要对权限修改才能进行文件的编辑。 进入该文件所在的文件夹,然后输入修改该文件的全部权限的命令:sudo chmod 777ssmtp.conf S1:我...
  • 今天在部署项目时进入webapps目录下,要删除我的项目war文件解压后的文件,发现删除不了。说是文件需要管理员权限才能删除的解决。 右键点击要删除文件,选择属性,选择安全。 点击编辑,添加Administrator ...
  • mac 查看、修改文件权限的命令

    万次阅读 多人点赞 2017-04-13 21:57:04
    mac 查看、修改文件权限的教程
  • 刚遇到这个问题的时候,第一时间会想到把自己的权限改成管理员权限,然后发现还是不行。 方法 1.右键属性—>安全—>编辑 2.编辑—>添加—>对象类型:直留用户,其他都取消 3.确定后点击高级—>立即...
1 2 3 4 5 ... 20
收藏数 1,477,786
精华内容 591,114
关键字:

文件权限