linux/Ubuntu下ftp上传文件的权限默认设置

1、先用vi打开 vsftpd.conf vsftpd的配置文件
在Ubuntu下是
vi /etc/vsftpd.conf
在centos 下是
vi /etc/vsftpd/vsftpd.conf
这个在不同的系统下可能不同,但是原理一样

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

3.下面说下unmsk的具体含义
umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限。
rwx分别代表“可读、可写、可执行”
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得到的值

转载于:https://my.oschina.net/chinacion/blog/799665

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了完成这个任务,首先需要在 Linux 系统上安装 vsftpd 服务。以 Ubuntu 系统为例,可以通过以下命令安装 vsftpd: ``` sudo apt-get update sudo apt-get install vsftpd ``` 安装完成后,可以使用以下命令启动 vsftpd 服务: ``` sudo systemctl start vsftpd ``` 接下来,按照以下步骤配置 FTP 服务器和虚拟用户认证模式。 **1. 配置 FTP 服务器** 在 vsftpd 的配置文件中,可以设置本地用户和 FTP 虚拟用户的目录、权限等信息。可以使用以下命令打开 vsftpd 配置文件: ``` sudo nano /etc/vsftpd.conf ``` 在文件中添加以下内容: ``` # 允许本地用户登录FTP local_enable=YES chroot_local_user=YES # 本地用户的FTP目录为/var/ftp/pub local_root=/var/ftp/pub # 禁止上传后缀名为.docx的文件 user_config_dir=/etc/vsftpd/user_conf local_umask=022 file_open_mode=0644 anon_upload_enable=NO deny_file={*.docx} # 启用虚拟用户 virtual_use_local_privs=YES guest_enable=YES guest_username=ftp user_sub_token=$USER local_root=/var/ftp/vdir/$USER listen=YES tcp_wrappers=YES ``` 以上配置中,`local_enable` 表示允许本地用户登录 FTP,`chroot_local_user` 表示限制本地用户只能访问自己的家目录,`local_root` 表示本地用户的 FTP 目录为 /var/ftp/pub。 `user_config_dir` 表示虚拟用户的配置文件存放的目录,`local_umask` 表示虚拟用户上传文件的默认权限,`file_open_mode` 表示虚拟用户下载文件的默认权限,`anon_upload_enable` 表示禁止匿名用户上传文件,`deny_file` 表示禁止上传后缀名为 .docx 的文件。 `virtual_use_local_privs` 表示虚拟用户使用本地用户的权限,`guest_enable` 表示启用虚拟用户,`guest_username` 表示虚拟用户的用户名,`user_sub_token` 表示虚拟用户的用户名与目录名的映射关系,`local_root` 表示虚拟用户的 FTP 目录为 /var/ftp/vdir/$USER。 保存并关闭文件后,重新启动 vsftpd 服务: ``` sudo systemctl restart vsftpd ``` **2. 配置 FTP 虚拟用户认证模式** 在 vsftpd 的配置文件中,需要为每个虚拟用户单独配置用户名和密码。可以使用以下命令创建虚拟用户的配置文件: ``` sudo mkdir /etc/vsftpd/user_conf sudo nano /etc/vsftpd/user_conf/ftp1 ``` 在文件中添加以下内容: ``` local_root=/var/ftp/vdir/ftp1 write_enable=YES anon_world_readable_only=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO deny_file={*.docx} ``` 以上配置中,`local_root` 表示虚拟用户 ftp1 的 FTP 目录为 /var/ftp/vdir/ftp1,`write_enable` 表示允许虚拟用户 ftp1 上传文件,`anon_world_readable_only` 表示不限制虚拟用户 ftp1 的下载权限,`anon_upload_enable` 表示禁止虚拟用户 ftp1 上传文件,`anon_mkdir_write_enable`、`anon_other_write_enable` 表示禁止虚拟用户 ftp1 创建目录和写入文件,`deny_file` 表示禁止上传后缀名为 .docx 的文件。 保存并关闭文件后,再创建并编辑虚拟用户 ftp2 的配置文件: ``` sudo nano /etc/vsftpd/user_conf/ftp2 ``` 在文件中添加以下内容: ``` local_root=/var/ftp/vdir/ftp2 write_enable=NO anon_world_readable_only=YES anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO ``` 以上配置中,`local_root` 表示虚拟用户 ftp2 的 FTP 目录为 /var/ftp/vdir/ftp2,`write_enable` 表示禁止虚拟用户 ftp2 上传文件,`anon_world_readable_only` 表示限制虚拟用户 ftp2 的下载权限,`anon_upload_enable`、`anon_mkdir_write_enable`、`anon_other_write_enable` 表示禁止虚拟用户 ftp2 上传文件、创建目录和写入文件。 保存并关闭文件后,重新启动 vsftpd 服务: ``` sudo systemctl restart vsftpd ``` 这样,就完成了 Linux 系统上 vsftpd 的 FTP 服务器和虚拟用户认证模式的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值