linux如何修改文件或目录的权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux如何修改文件或目录的权限相关的知识,希望对你有一定的参考价值。

参考技术A

工具/材料

linux系统,如redhat或ubuntu

    01

    打开操作系统,切换到要修改的文件或目录的父目录。注意,首先切换到root用户群进行更改。

    02

    接下来,为了举例,我复制/etc/rc.d下的文件到/tmp下,并切换到/tmp目录。

    03

    文件的基本权限分为三种:rwx,权限的对象也有三种:属主(u)、属组(g)、其他(o)。对于文件权限的修改,有两种方式。第一种指定对某一类用户添加(+)或删除(-)某一个权限。在不指定用户时,表示对所有用户修改某一个权限。

    04

    第二种是直接指定一个3位的8进制数,它的二进制表示的每一位分别表示该用户的某个权限,0表示没有权限,1表示有权限。

    05

    以上的命令只能修改对应的目录自身权限,不能修改目录内部文件的权限。如果要修改目录内部的权限,则使用-R选项,表示递归修改。

如何设置UNIX/Linux中新创建目录或文件的默认权限

在unix或者linux中,创建一个新文件或者目录时,这个文件或者目录都具有一个默认的权限,比如目录755,文件644,这些默认权限是由umask(权限掩码)来控制的,一般umask默认值为022,其最终效果就是新创建的目录权限为755,文件权限为644。所以只要修改了用户的umask值,就可以控制默认权限。


1、查看当前umask值,终端运行:

$ umask

2、根据实际需要设置新的umask:

$ umask  nnn

n为1-7中的任一数字,可以根据文件或者目录权限的数字表示值计算得到。

示例:

$ umask 002

目录权限:7-0=7,7-0=7,7-2=5, 即新建目录的默认权限为775

文件权限:目录权限去掉执行权限(-1),即664。

执行该命令只在用户本次登录期间有效,下次登录会恢复默认权限umask。


3、让umask值在用户每次登录后都有效

编辑用户环境变量(~/.profile)文件或者所有用户环境变量(/etc/profile)文件中,修改(或增加)语句umask nnn。


4、常见权限掩码示例

umask值 目录 文件

022    755    644

027    750    640

002    775    664

006    771    660

007    770    660

参考技术A 普通文件默认是644 也就是:
-rw-r--r-- 1 root root 0 May15 20:04 test
自已有读写(rw),同组人员有读(r),其它有读(r)
默认权限可通过umask 修改
默认umask 为022
文件:666 - 022 = 644
目录:777 - 022 = 755
如果你下了umask 011 的指令,则生成的文件目录权限就变成:
文件:666 - 011 = 655
目录:777 - 011 = 766本回答被提问者和网友采纳

以上是关于linux如何修改文件或目录的权限的主要内容,如果未能解决你的问题,请参考以下文章

如何修改Linux文件的属性与权限

如何修改Linux文件的属性与权限

Linux系统下如何修改文件或目录的权限?

Ubuntu 文件(夹)权限查看与修改相关指令

linux如何修改文件或目录的权限(chmod)

linux如何修改用户主目录