linux下 ftp服务器如何设置上传文件的权限

linux下 ftp服务器如何设置上传文件的权限,第1张

1、先用vi打开 vsftpd.conf   vsftpd的配置文件

在Ubuntu下是

vi /etc/vsftpd.conf

在centos 下是

vi /etc/vsftpd/vsftpd.conf

这个在不同的系统下可能不同原理一样

2.找到unmsk默认是022 ,修改成你要的权限就可以了。

3.下面说下unmsk的具体含义

umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限

针对文件的x的权限代表执行,这个风险太高,所以一般权限初始赋值必须去掉x的

  第一个0代表suid 丢弃的权限;(一般省略了)

第二个0代表本文件/目录拥有者什么权限都没丢弃(如果是文件,x权限除外);

第三个2代表本文件/目录的用户组丢弃了w权限(如果是文件那么它的x权限也丢弃);

第三个2代表本文件/目录的其他用户能使用的权限只有有r和x(文件除外)。

综合上面所说如果你新创建一个文件那么它的权限是:-wr-w--w-- 即是:644

如果你新创建一个目录的话那么它的权限是:dwrxw-xw-x 即是:755

4、怎么计算unmsk

1) 目录权限 rwx r-x r-x (755) 这就是目录创建缺省权限

目录权限:777 - unmsk得到的值

2) 文件权限 rw- r-- r-- (644) 这就是文件创建缺省权限

文件权限:666 - unmsk得到的值

需求1: 我记得在VSFTPD中,当你使用了ftp用户登陆默认的就是/var/ftp,因为ftp用户是vsftpd中的匿名用户,默认站点就是这个,而且已经禁锢在了这个目录中,也就是说即使你在vsftpd中使用了cd /这个命令,依然还是在/var/ftp目录中。

需求2和3可以通过以下方式完成。

随便在什么位置建立一个目录,比如你建立了/ftpuser这个目录。

在vsftpd的主配置文件中添加下面的配置语句 user_config_dir=/ftpuser    (=后面就是步骤1中的目录名)

在这个目录中建立两个和本地用户同名的文件,比如user1和user2 (用vi建立最好)

分别编辑这两个文件,里面主要是设置权限,配置项有以下几种

4.1  local_root=                (用来配置访问站点,比如local_root=/home/ftp/user1)

4.2  writable_enable=yes  (或者no,用来配置是否有上传,删除权限)

4.3  download_enable=yes  (或者no,用来配置是否有下载权限)

保存退出,重启服务就可以了。

不过,遗憾的是,上面的配置无法满足你说的user2用户登陆后,可以上传,不能删除这个要求。上面的配置项只能实现本地用户要么能上传就能删除,要么都不能。

 当然,如果你要做虚拟用户的话,那么这些要求都是可以实现的。虚拟用户权限如下

    1.   local_root=

    2.   anon_world_readable_only=NO       可以浏览目录并下载

    3.   anon_mkdir_write_enable=YES       可以建立目录

    4.   anon_upload_enable=YES              可以上传

    5.   anon_other_write_enable=YES       可以删除,重命名

  敬候高人解答。

权限什么的基本上不用管。因为这些服务可以使用本地的帐户,这样,本地的用户权限就直接应用上了。samba和vsftpd会在安装的时候建立匿名用户,这样匿名用户的权限就也有了。

另外,samba中共享文件也可以在共享项目上设置权限,这个是在配置文件里面,但最终你还是必须要经过系统用户权限这一关,这是绕不过去的。

对于vsftpd,存在虚拟用户一说,但那只是验证过程,真实的权限还是与用户权限相同的,只是多个虚拟用户的权限会映射到一个统一的本地用户上。当然,也可以在配置文件中设置诸如只读,可写入等权限,但它们的等级要低于本地账户的权限。

总之一句话,只要弄对了对应的本地用户权限,你的服务权限就基本不会错了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/8105420.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存