栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

一文讲明白Linux中的umask原理及应用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一文讲明白Linux中的umask原理及应用

大家在学习Linux操作系统的时候肯定遇到过umask,大部分的书籍会对umask从原理到各种情况下的应用都讲的非常详细,洋洋洒洒一大篇,然后呢?然后你就看得云里雾里似乎明白了,可是又不太懂这个东西干嘛搞这么复杂,再加上它不像ls命令那样经常用,三五天的时间估计就忘的一干二净了。

好了不废话了,其实我对于umask的理解也是经历过很多次这方面的坑才慢慢理解了它的作用的。简单一句话umask是配合Linux的权限管理机制,用来控制用户新建文件夹和新建文件的权限属性的,如果你在实际的工作当中遇到了相关权限问题时可以考虑从umask上进行排错。

1.查看系统的umask

命令

umask


大家使用Linux久了就会渐渐明白一个道理,像这种系统变量值这些只要是能够使用命令来配置的,一般都会有相应的配置文件。

umask的配置信息就在/etc/profile里

 vim /etc/profile


我们已经知道如果查看当前用户的umask值了,那么umask有什么用呢?我前面说了umask就是控制用户新建文件夹及新建文件的默认属性的,那么在Linux系统中用户新建文件夹及新建文件的默认属性是什么呢?

 在linux系统中用户新建文件夹的默认属性是777,新建文件的默认属性是666。(敲黑板、记结论,这个东西没有什么理解不理解的)

光这么说你可能还是不太明白,接下来就要一番操作猛如虎了。

root用户在/home目录下新建一个文件夹。

mkdir /home/test


看上图,你是不是有疑问啊?老师,你刚才不是说新建文件夹的默认属性不是777吗?怎么我新建的文件夹属性是755呢?

轮到umask上场了。

明白没?

再来,换个用户。

怎么样,只要小学毕业了,上面的算术题应该会算吧?

再来,新建文件的默认属性呢?

上操作。

cd /home/test
touch hello.txt
ll


换成普通用户再来。

cd /home/alfiy/test/
touch hello.txt
ll

好了,如果你明白了,我就不讲了,讲多了我也就不会了(哈哈)

如果你这大聪明看到上面的这些就大明白了,我这个老师也就应该休息了

老师决定坑你一把,记住了在学习的路上“不坑不长记性”,“一次被坑,终生难忘”,“这世界上并没有什么高手,只不过被坑的多了,便有了高手”。

空泛的讲你的记忆是不会深刻的。

这一次你们的老大给你下任务了。小X,你帮开发部在生产服务器上搭建一个FTP去。你心想,就这?前两天我老师刚教会我如何搭建FTP服务器,老师厉害了,不仅开了防火墙连"Selinux",都没关,不信你瞧这里centos8.5 Vsftpd 搭建FTP服务器。

按照老师的教程,你三下五除六,一番操作猛如虎的不到半个小时搞定了,正当你高兴的把FTP的址发给你老大,心中暗自得意的时候,没想到得到的是老大的一顿臭骂。“什么,我生产服务器上让你搭个FTP服务器,你竟然不使用SSL?” ”我开了防火墙的,SE也没关。” 你小声的诺诺道,“你建的服务器是明文传输的知道不?有多可怕明白不?” 老大几乎吼起来了,边说边打开了他的“大鲨鱼”(Wireshark),输入FTP网址、用户名、密码,一番操作后,你设置28个字符的密码赫然出现在老大的大鲨鱼中。这时的你挠着头说,“我再去把SSL功能打开吧。“

接着你又开始了疯狂面向百度编程,我说何必呢,来这里centos8 配置vsftpd的SSL/TLS功能。

好了,这次你接受了上次的教训,先默默的验证吧
一切都很正常的样子,登录时也提示了SSL信息。

进入FTP的根目录新建一个文件夹。




接着我想在/images文件夹下再新建一个’headers’文件夹



这❓

肯定是文件夹属性出现了问题,登录服务器看看吧。

再进入’images’文件夹看看。

如果真的想不起来那就接着听老师往下讲吧。

这次我们换一个用户登录,在前面的教程里我们不是建了两个虚拟用户吗,一个’ftpuser’,一个’ftptest’,这次我给’ftptest’用户动一下手脚。

 虚拟用户的配置文件在/etc/vsftpd/vusers_dir文件夹下,以用户名命名的文件。

vim /etc/vsftpd/vusers_dir/ftptest

添加anon_umask=0002

或者你直接使用我下面的命令

 echo "anon_umask=0002" >> ftptest

重启vsftpd服务

systemctl restart vsftpd

使用filezilla登录服务器。



是不是很爽?

登录服务器看看。



是不是和想像的一样啊?

至此,你品,你细品,关于Linux umask是否弄懂了呢?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/679290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号