详解ftp创建文件权限问题
一、问题
有一个这样的需求,admin为一个Linux为其FTP应用创建的一个有权限限制的用户,通过admin用户可以进行登录FTP服务,登录FTP服务后,创建文件夹,该文件夹的用户和用户组都是admin,属性为755,即只有admin用户才有写的权限,但是,FTP后台是通过b用户登录linux系统执行程序上传文件到FTP服务器,由于FTP服务器的文件夹都是由admin用户创建的,且属性为755,b用户根本没有写的权限,导致程序上传文件失败。
二、分析
那么解决问题的方法应该很容易,既然admin用户创建的目录默认属性为755,那么只要将默认属性改为775,并将b用户添加到admin所属用户组里面去,问题就解决了。
三、解决
1、因为系统默认的登录用户是b,为了方便测试,需要登录到admin用户,然后创建文件夹看看默认属性是否改变。通过b用户su到admin用户的时候报出了 This account is currently not available. 错误。才想到,当时创建admin用户的时候是用户的shell是禁止登录的,这里为了方便测试,通过如下命令开启shell登录:
$ sudo usermod -s /bin/bash admin
2、然后修改系统环境变量/etc/profile文件,设置umask为002 (目录默认属性 777-002=775,文件默认属性 666-002= 664),source 文件生效后,切换到admin用户创建文件夹试试:发现目录的默认属性成功改了,变为755了
drwxrwxr-x 2 admin admin 4.0K Dec 6 22:54 a
3、然后用admin登录FTP,新建一个文件夹看看,发现其权限还是755
4、由于对FTP并不熟悉,开始并没有想到FTP那里去,而是在捣鼓各种Linux用户组和用户权限的设置,尝试都没有用。最后静下来慢慢思考,突然想到,用admin账户登录FTP创建的文件属性一直是755,这里登录的只是FTP应用,没有登录到shell,所以才会不受Linux环境变量中umask的影响,而修改umask后的admin登录shell后创建的文件属性是775,这里登录到了shell,是根据umask的值没有问题。既然发现了问题,那么想到FTP应该也会有类似Linux umask的设置才对,于是找到了FTP的配置文件,果然发现了如下的参数:
5、修改FTP的Umask的值为002,重启FTP服务,发现问题解决了。
注:这次问题虽小,也比较快解决了,告诫自己!在捣鼓一些应用服务的前,要先充分了解和熟悉这些应用服务的资料配置等,切莫贪快,否则,出现了问题,自己都不知道从何排查。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
更新日志
- 《腾格尔 容中尔甲 亚东 高原三星 男人篇 3CD》[WAV/分轨][1GB]
- 命运圣契公测实测可用兑换码大全 命运圣契最新兑换码分享
- 黑神话悟空上品疾蝠精魄获取方法一览|上品疾蝠精魄收集攻略
- 《七龙珠电光炸裂!ZERO》GT角色预告片曝光,15位新角色登场
- [ABC]安娜-胆麦发烧女声[6N纯银镀膜][2016[低速原抓WAV+CUE]
- NewViennaOctetViennaWindSoloists-TheDeccaRecordings(2024)18CD[24-48][FLAC]-7
- 雨果唱片-三角琴《俄罗斯民间音乐系列-梁祝(中国名曲)》wav
- 《塞尔达传说:智慧的再现》新实机!无之世界介绍
- 任天堂公布《塞尔达传说》系列时间线:野炊与王泪独立在外
- 任天堂更新网络投稿规范:打击影响他人游戏体验行为
- 冼佩瑾.2024-女儿Daughter(EP)【杰威尔】【FLAC分轨】
- 黑豹乐队.1993-光芒之神【摇音晨【WAV+CUE】
- 曾轶可.2011-一只猫的旅行【天娱传媒】【WAV+CUE】
- 黑神话悟空上品狼刺客精魄获取方法一览|上品狼刺客精魄收集攻略
- 视觉小说《神椿市建设中REGENERATE》将于2025年2月20日发售