linux 文件 目录 默认权限

结论

在linux系统中任何文件/目录都有一定的权限,对于新创建的文件或目录,也会有默认的访问权限。可能是出于安全的考虑,linux系统新建文件默认没有执行权限,其最大权限为rw-rw-rw-(666),新建目录的最大权限为rwx-rwx-rwx(777)。而默认的权限与umask命令有关。

umask指定当前用户在新建文件和目录时的默认权限,其值可以通过 umask 命令得到,其值的含义与 chmod 命令是补码的关系。也可以通过 umask -S 直接查看默认权限。

例如:

[root@localhost /]# umask
0022
[root@localhost /]# umask -S
u=rwx,g=rx,o=rx

默认文件权限:777 - 022 = 755

默认目录权限:666 - 022 = 644

 

实验

实现此案例需要按照如下步骤进行。
步骤一:以用户root登入,测试umask掩码值
查看当前的umask值
新建目录udir1、文件ufile1,查看默认权限
将umask设为077,再新建目录udir2、文件ufile2,查看默认权限
请把umask值重新设置为022
命令操作如下所示:

[root@localhost ~]# whoami       //确保自己登录身份是root
root
[root@localhost ~]# umask        //查看当前umask值,文件需用最大权限777减去022 目录需要用最大权限减去022
0022
[root@localhost ~]# umask –S     //另外一种查看方式,-S选项是直接显示默认权限
u=rwx,g=rx,o=rx

分析: 查看创建目录以及文件的默认权限,是否与umask一致,注意文件默认安全起见没有赋予x执行权限

[root@localhost ~]# mkdir /udir1        //创建测试目录
[root@localhost ~]# touch /ufile1       //创建测试文件
[root@localhost ~]# ls -ld /udir1/      //查看是否与umask值相符合
drwxr-xr-x. 2 root root 4096 2月  26 16:37 /udir1/
[root@localhost ~]# ls -l /ufile1        //查看是否与umask值相符合
-rw-r--r--. 1 root root 0 2月  26 16:37 /ufile1
[root@localhost ~]# umask 077            //更改umask值
[root@localhost ~]# umask                //查看是否修改成功
0077
[root@localhost ~]# umask –S             
u=rwx,g=,o=
[root@localhost ~]# mkdir /udir2         //创建测试目录
[root@localhost ~]# touch /ufile2        //创建测试文件
[root@localhost ~]# ls -ld /udir2        //查看是否与umask值相符合
drwx------. 2 root root 4096 2月  26 16:43 /udir2
[root@localhost ~]# ls -l /ufile2        //查看是否与umask值相符合
-rw-------. 1 root root 0 2月  26 16:44 /ufile2
[root@localhost ~]# umask 022             //更改umask值为022
[root@localhost ~]# umask                 //查看是否修改成功
0022

步骤二:以用户zhangsan登入,查看当前的umask值(本题的目的主要是为了让大家知道管理员与普通用户的默认umask是不同的)
命令操作如下所示:

[root@localhost ~]# umask    //查看root的umask值
0022
[root@localhost ~]# su – zhangsan   //切换zhangsan用户身份
[zhangsan@localhost ~]$ umask       //查看zhangsan的umask值
0002

步骤三:请问为什么普通用户的家目录权限都是700
分析: 本题主要考察,useradd这条命令在执行的时候,与那些默认配置文件相关,有两个配置文件分别为/etc/default/useradd、/etc/login.defs。
命令操作如下所示:

[root@localhost ~]# grep -v "^#" /etc/login.defs | grep -v "^$" | grep -i umask
UMASK           077       //此配置文件规定创建用户家目录时,需遵循的umask值

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在Linux中,可以使用命令“ls -l”来查看目录默认权限。这个命令会列出目录中所有文件和子目录的详细信息,包括文件类型、权限、所有者、所属组、大小、修改时间等。其中,权限部分包括三个字符,分别表示文件所有者、所属组和其他用户的读、写、执行权限。例如,“drwxr-xr-x”表示这个目录的所有者有读、写、执行权限,所属组和其他用户只有读和执行权限。 ### 回答2: 在Linux操作系统中,每个文件目录都有一个权限属性,决定了用户对其进行哪些操作。包括读、写、执行等操作,并根据文件类型与文件所有者和权限属性值来控制用户可作何操作,同时还可控制组和其他用户可作何操作。 对于目录而言,它是一个特殊的文件,也有对应的权限属性。可以使用ls命令查看目录权限默认权限为755,意味着该目录所有者可以读取、写入和执行该目录,该目录所处的用户组和其他用户可以访问和执行该目录,但仅可以读取其内容,无法修改和删除。也可以使用chmod命令修改目录默认权限。 其中数字755代表三个权限的值。第一个数字代表所有者的权限值,第二个数字代表属于同一个用户组的其他用户的权限值,第三个数字代表其他用户的权限值。每个数值都对应着不同的权限,0表示不具备该权限,1表示执行权限,2表示写权限,4表示读权限,将这三个数字进行组合,可以灵活地设置目录的访问权限。例如,777表示都拥有读、写、执行权限,而666表示仅具备读、写权限。 总之,在Linux操作系统中,要想正确查看目录是否设置了权限,涉及到文件目录的类型、所有者、属组等信息,需要通过ls和chmod命令进行查看和控制,以确保文件目录权限设置得当,保障系统的安全性和稳定性。 ### 回答3: Linux是一个基于Unix的操作系统,具有安全、稳定、高效等特点。在Linux系统中,权限控制是非常重要的,目录默认权限也很重要。 在Linux中,目录默认权限是通过umask命令来设置的。umask命令是用来设置文件创建时的默认权限掩码,它用来控制文件目录默认权限。umask默认值为022,即当新建一个文件目录时,所创建的文件目录权限默认权限减去umask值之后的权限。 例如,当默认权限为755时,umask的默认值为022,那么当创建一个目录时,该目录权限为(755-022=733),即所有者有读、写、执行的权限,组和其他人只有读和执行的权限。 如果要查看当前系统umask的值,可以在终端窗口中输入umask命令。如果要修改umask的值,可以通过修改主目录下的.bashrc或.profile文件来实现。 总之,在Linux中,目录默认权限可以通过umask命令来设置,umask命令可以用来控制文件目录默认权限,这对于系统的安全性和稳定性具有非常重要的意义。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值