组长布了一台FTP服务器用于文件的上传和下载,要求有一个账号能够上传下载,其他用户仅可下载,基本系统已完成部署,但是不需要用户登录默认创建用户文件夹,并且需要统一指向指定文件夹。
在要到服务器账号密码后因为服务不是我布置的,所以显示查询了VSFTP的相关资料,结合在windows上的使用经验,linux上的FTP文件夹权限也是和FTP时的权限对应的,所以这里先复习了一下Linux文件夹的权限相关。
除了第一位,平常见到的权限表示分为三个部分,每一部分的数字表示就是从左到右是二进制高位到低位,分别代表可读可写可执行,写上1表示能够被应用,所以7就表示三位都为1,其他的权限以此类推。 然后就是在尝试更改某个文件夹的权限后发现FTP确实是和系统权限关联的,所以现在需要某个文件可以被某些人读写且不显示用户文件夹。
bashvim /etc/vsftpd/vsftpd.conf # 修改配置文件
#修改默认指向Home目录的local_root=/home/ --> local_root=/ftp/
mkdir /ftp # 新建文件夹
groupadd ftprw #新建组
usermod -a -G ftprw root
usermod -a -G ftprw jenkins #将需要对文件读写的用户加入组中
chmod 775 /ftp #同组可读写
chown -R root:ftprw /ftp #修改所属组
总体解决方法并不困难,主要是有可能不了解FTP所访问的文件和系统的权限是关联的,其他的都是Linux基础巩固