编程技术分享平台

网站首页 > 技术教程 正文

你知道为什么Linux创建文件权限默认为644吗?

xnh888 2025-04-06 22:49:21 技术教程 38 ℃ 0 评论

#默认权限

每一个终端都拥有一个umask属性,来确定新建文件、文件夹的默认权限

目录默认权限为777

文件默认权限为666


#/etc/profile文件可以看到设置的umask值

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then

umask 002

else

umask 022

fi

#注释:如果UID大于199并且用户的组名和用户名一样,umask值为002,否则就为022

#注释:gt在shell脚本中是大于,id -gn:显示组名,id -un:显示用户名


#涉及到shell脚本的if条件语句

if [条件表达式];then

执行什么操作

else

执行什么操作

fi

#简单记忆就是:如果(if)....那么....否则(else).....果如(fi)


#UID小于199并且用户的组名和用户名一样的,那么创建的

目录创建的默认权限为777-umask 就是755

文件创建的默认权限为777-umask 就是644

#如root用户,root用于的UID为0


#应用

#root用户创建文件,权限为644,uid为0

[root@centos7 ~]# touch test.txt

[root@centos7 ~]# ls -l test.txt

-rw-r--r--. 1 root root 0 Jul 13 00:30 test.txt


#切换到普通用户创建文件,权限为664,uid大于199

[root@centos7 ~]# su - test

Last login: Mon Jul 13 00:07:25 EDT 2020 on pts/0

[test@centos7 ~]$ touch test1.txt

[test@centos7 ~]$ ls -l test1.txt

-rw-rw-r--. 1 test test 0 Jul 13 00:31 test1.txt


#总结:由此得知,当用户UID大于199并且用户的组名和用户名一样的时候,创建文件的权限为664,否则创建文件的权限为644

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表