Ubuntu 通过umask设置默认文件权限644,目录权限755

日期: 标签:Ubuntu
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

最近一直在折腾新服务器,虽然之前也玩过一阵Ubuntu,但仅仅只是玩过,深入了解的东西不多,很多学过的东西都忘得差不多了,导致现在使用起来很吃力,只能靠搜索引擎现学现用了。今天就记录一下umask的简单用法,方便以后用时查阅。

umask设置

现在服务器用的是sFTP来给服务器传输文件,使用过程中发现一个问题,就是从本地上传文件到服务器后,服务器端的文件夹权限是775,文件权限是664,但是出于安全考虑,想让上传到服务器的文件夹自动设置权限为755,文件权限为644。搜索了相关资料,在Linux系统下修改默认文件夹和文件的默认权限需要用到umask,使用这个命令可以查看当前的默认权限设置:

umask

输出结果一般是4位数字,如 0002、0022等,这个数字对应的权限可以到百度百科关于 umask 的说明中查看。常用的umask值代表的默认文件和目录的权限如下(0022跟022含义是一样的):

umask 值 文件 目录
0022 644 755
0027 640 750
0002 664 775
0006 660 771
0007 660 770

对照上表,为了实现默认文件权限644,目录权限755的需求,我们运行这个命令:

umask 0022

但是设置完成后,发现新上传的文件权限还是664,说明还没修改成功,接着还需要再编辑一下当前用户目录下的 .bashrc 文件

cd ~
vim .bashrc

在该文件中另起一行,输入:umask 022

保存后,重启sshd即可:

sudo service sshd restart

批量设置目录和文件权限

另外,如果文件已经上传,想批量修改目录和文件的权限该怎么做呢?我们可以使用以下命令:

# 对当前目录下所有的子目录及以下目录都设置成为 755权限
find . -type d -exec chmod 755 {} \;

# 对当前目录下的所有文件设置 644的权限。
find . -type f -exec chmod 644 {} \;

参考文章

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/ubuntu-umask.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者。

9 条留言

点此留言
  1. 明月登楼的博客 明月登楼的博客

    果断先评论支持了再说,嘿嘿!
    还坐了个沙发!

  2. 龙笑天 龙笑天

    文件或文件夹基本都是默认的权限~

  3. 露兜

    @龙笑天 有时候默认的并不是自己想要的。

  4. 龙笑天 龙笑天

    @露兜 这个也是,比如头像缓存等,都需要设置下权限~

  5. 露兜

    @龙笑天 想去你博客留言,但是好怕,不仅暴露了评论者的操作系统和浏览器,而且连老巢都给端出来了。

  6. 龙笑天 龙笑天

    @露兜 哈哈哈,不要在意细节嘛~

  7. 明月学习笔记Blog 明月学习笔记Blog

    我今天在折腾的时候也碰到这个目录和文件权限问题了!把我折腾死了都!还好最后都搞定了!

  8. 露兜

    @明月学习笔记Blog 看起来又弄了一个博客

  9. 波波

    系统要是没有ssh服务,怎么保存生效呢

发表留言