贝壳之家

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

评分 10, 满分 10 分 (4 票)
Loading...
如果需要我帮忙改代码,或者有WordPress二次开发 / PHP网站建设等需求,可以联系我购买付费服务。QQ 825533758
文章目录

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

umask设置

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

umask

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

umask 值文件目录
0022644755
0027640 750
0002664775
0006660771
0007660770

对照上表,为了实现默认文件权限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 {} \;

参考文章

露兜
ourwindow@163.com

业余编程爱好者。

标签: Ubuntu
我要提问

1 条评论

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

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

发表评论

评分 10, 满分 10 分 (4 票)
Loading...