【Linux教程】Ubuntu umask设置默认文件权限644

文章目录

  • umask设置
  • 批量设置目录和文件权限
  • 参考文章

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

umask设置

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

umask

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

umask 值文件目录
0022644755
0027640750
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 {} \;

参考文章

  • What is Umask and How To Setup Default umask Under Linux?
  • Linux批量修改目录和文件权限
  • 配置 bash 默认的 umask 更改 SFTP 上传文件的权限

-- 完 --

以上是 【Linux教程】Ubuntu umask设置默认文件权限644 的全部内容, 来源链接: www.h5w3.com/116112.html

回到顶部