Loading... 考虑到服务器文件安全性,在此需要开设多类不同权限的账户。 ## 一、用户管理 ### 1. USER 此类用户只具有上传权限,取消下载权限与删除权限。 ### 2. Admin 此类用户具有上传与下载权限,取消删除权限。 ## 二、目录设置 ### 1. USER Virtuoso工程的建立目录与PDK environment File(JAZZ.cshrc)中$PROJ_ROOT需要统一,因此采取一个用户一个单独目录的方案实现。 系统中建立用户 ``` adduser user1 passwd user1 mkdir /home/user1/project mkdir /home/user2/project ``` project作为工程目录 ``` cp JAZZ.cshrc /home/user1/project cp JAZZ.cshrc /home/user1/project vi JAZZ.cshrc ``` 修改user1配置文件中`setenv PROJ_ROOT /home/user1/project`,在此目录下新建JAZZ工程 ### 2. Admi Administrator账户用户服务器关键仿真文件的下载与管理,Admin账户能够下载所有USER目录下的文件。 系统中建立用户 ``` adduser admin1 passwd admin1 ``` ## 三、配置vsftpd ### 1. 安装vsftpd ``` yum -y install vsftpd rpm -ql vsftpd ``` 配置文件路径`/etc/vsftpd/` ``` service vsftpd start ``` ### 2. 虚拟用户 首先建立一个本地系统用户同于管理; ``` useradd -d /home/download abcde -s /sbin/nologin ``` 子目录即为 `/home/user1/project`与`/home/user2/project` ### 3. 创建用户数据文件 一行账号一行密码,不能存在空行与空格`vi /etc/vsftpd/userlist.txt` ``` user1 123456 user2 123456 admin 12345678 ``` 生成数据文件: ``` yum -y install db4* db_load -T -t hash -f /etc/vsftpd/userlist.txt /etc/vsftpd/userlist.db ``` 生成之后userlist.txt可用于备份 ### 4. 修改数据文件权限 ``` chmod 600 /etc/vsftpd/userlist.txt ``` ### 5. 修改pam配置 ``` vi /etc/pam.d/vsftpd ``` 将文件中内容全部注释加入两行 ``` auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/user_list account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/user_list ``` 64为操作系统文/lib64,32为操作系统为/lib ### 6.创建系统本地用户abcde对应的虚拟用户 虚拟用户需要通过本地系统用户来实现各种操作,因此要放在系统用户的同名文件夹下。 ``` mkdir /etc/vsftpd/abcde cd /etc/vsftpd/abcde ``` 修改user1权限: ``` cat >>user1<<EOF anon_world_readable_only=NO write_enable=YES download_enable=NO anon_mkdir_write_enable=YES anon_upload_enable=YES anon_other_write_enable=YES cmds_denied=DELE local_root=/home/user1/project EOF ``` 修改user2权限: ``` cat >>user2<<EOF anon_world_readable_only=NO write_enable=YES download_enable=NO anon_mkdir_write_enable=YES anon_upload_enable=YES anon_other_write_enable=YES cmds_denied=DELE local_root=/home/user2/project EOF ``` 修改admin权限: ``` cat >>admin<<EOF anon_world_readable_only=NO write_enable=YES anon_mkdir_write_enable=YES anon_upload_enable=YES anon_other_write_enable=YES local_root=/home/ EOF ``` user1与user2均删除下载权限与文件删除权限,admin保留下载权限。 ### 7. 配置文件vsftpd.conf ``` vi /etc/vsftpd/vsftpd.conf ``` 修改内容如下 ``` listen=YES listen_ipv6=NO connect_from_port_20=YES anonymous_enable=NO local_enable=YES write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list guest_enable=YES guest_username=abcde virtual_use_local_privs=YES allow_writeable_chroot=YES pam_service_name=vsftpd user_config_dir=/etc/vsftpd/abcde local_umask=477 xferlog_enable=YES xferlog_file=/var/log/vsftpd.log ``` `vi /etc/vsftpd/chroot_list`空白文件 添加`local_umask=477`为删除下载权限指令 ``` service vsftpd restart ``` ## 四、日常维护 ### 1. 更新帐号,先修改userlist.txt,再执行db_load ``` db_load -T -t hash -f /etc/vsftpd/userlist.txt /etc/vsftpd/userlist.db ``` ### 2. 更新/etc/vsftpd/abcde/下不同用户对应的权限 ### 3. 重启vsftpd ``` service vsftpd restart ``` 注: 上述完成后FTP无法按照权限读或写,修改文件夹权限: ``` chown -R abcde: /home/user1/project chown -R abcde: /home/user2/project ``` 切记在此不能之间图省事将 /home 权限设置为abcde,会导致无法登录远程桌面; ``` chmod 755 /home/user1/project chmod 755 /home/user2/project ``` 最后修改:2022 年 03 月 23 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏