(转并修改)Linux下FTP虚拟账号环境部署总结

参考文章地址:Linux下FTP虚拟账号环境部署总结

按照上述文章在配置部署的时候,发现原文有几处不正确的地方,一并在此修改,不同之处使用“*******”线条框起来。

 

 

vsftp的用户有三种类型:匿名用户、系统用户、虚拟用户。
1)匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
2)本地用户登录:使用系统用户登录,在/etc/passwd中。
3)虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器

FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户账号可以提供集中管理的FTP根目录,方便了管理员的管理,同时将用于FTP登录的用户名、密码与系统用户账号区别开,进一步增强了FTP服务器的安全性。某种意义上来说,匿名用户也是系统用户,只是系统用户的一个映射。公开的FTP都不会使用系统用户作为FTP帐号,而更多的采用了虚拟用户,这样能保证系统的安全性。使用虚拟用户登录FTP服务器,可以避免使用操作系统帐号作为FTP用户带来的一些安全问题,也便于通过数据库或其它程序来进行管理。虚拟用户的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。

在VSFTP中,认证这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证。使用这种方式更加安全,并且配置更加灵活。
基本流程:FTP用户访问->PAM配置文件(由vsftpd.conf中pam_service_name指定)->PAM论证->区别用户读取配置文件(由vsftpd.conf中user_config_dir指定配置文件路径,文件名即用户名)

有两种方式建立FTP的虚拟用户,分别是:本地数据文件方式、数据库服务器(MySQL)方式
废话不多说,这里记录下centos6版本下采用本地数据文件方式部署FTP虚拟账号登陆环境的过程及其中遇到的问题:

1)yum安装vsftpd
[root@i-f658wfj6 ~]# yum install -y vsftpd
[root@i-f658wfj6 ~]# yum install -y db4
           
[root@cms_web vsftpd]# pwd
/etc/vsftpd
           
2)配置vsftpd(将vsftpd.conf文件备份,然后将配置内容直接粘贴下面内容)
[root@cms_web vsftpd]# cat vsftpd.conf|grep -v "^#"
anonymous_enable=NO //不允许匿名账号访问
local_enable=YES    
//本地用户可以访问(采用虚拟账号访问时,这个参数也要开启(虚拟账号要寄宿本地账号),虽然开启但是本地账号是不可以登陆的)

write_enable=YES    //可写可上传。这个参数是全局配置,否则上传和下载都会报错550!
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP service    //登陆FTP时显示的欢迎信息
listen=YES

*****************************************************************************************
*chroot_local_user=YES                
//限制所有的本地用户在自家目录,即用户登陆系统后锁定在自家目录。可以配合chroot_list_enable和chroot_list_file使用!
// 注意,原文中该选项配置为NO,其实应该配置为YES较好,然后利用下面的2个参数配置添加例外
*****************************************************************************************

chroot_list_enable=YES                //是否启用例外名单
chroot_list_file=/etc/vsftpd/chroot_list    
//指定可以离开家目录的用户列表文件,一行一个用户。chroot_local_user=YES时,该名单的用户可以切换到上级目录。
//chroot_local_user=NO时,该名单的用户被锁定在自己的目录,无法切换到上级目录,
//即列表里面的用户登陆ftp后都只能访问其主目录,其他目录都不能访问!

pam_service_name=vsftpd                
//指定PAM配置文件,即下面的/etc/pam.d/vsftpd文件要和这里指定的一致,也可以起其他的文件名,与此处的pam_service_name值相同即可。

userlist_enable=YES
tcp_wrappers=YES
virtual_use_local_privs=YES            
//这个参数一定要加上,虚拟用户和本地用户有相同的权限;否则ftp连上后不能上传,报错550权限拒绝!

guest_enable=YES                        //启用虚拟用户
guest_username=nobody                   //将虚拟用户映射为本地nobody用户(前提是local_enable=YES)
user_config_dir=/etc/vsftpd/vuser_conf   //指定不同虚拟用户配置文件的存放路径
           
connect_from_port_20=YES                //通过20端口传输数据
listen_port=2021                        //监听的ftp端口
pasv_min_port=40001                     //分配给ftp账号的最小端口。被动模式下的配置
pasv_max_port=40100                     //分配给ftp账号的最大端口。每个账号分配一个端口,即最大允许100个ftp账号连接。
max_clients=150                        //客户端的最大连接数
accept_timeout=5
connect_timeout=1
max_per_ip=5                            //每个ip最大连接数
           
-----------------------------------------------------------------------------------------
温馨提示:
上面的ftp是被动模式下的配置,配置后需要在iptables防火墙开通ftp访问
[root@cms_web vsftpd]# cat /etc/sysconfig/iptables
............
-A INPUT -s 10.68.250.13 -m state --state NEW -m tcp -p tcp --dport 2021 -j ACCEPT
-A INPUT -s 10.68.250.13 -m state --state NEW -m tcp -p tcp --dport 40001:40100 -j ACCEPT
..........
-----------------------------------------------------------------------------------------
           
设置登陆ftp的虚拟账号文件(格式依次是:第一行是账户名,次行是该账号的密码;即奇数行是账户名,偶数行是对应上一行的账户密码)。
这个虚拟账号是不需要手动创建的,它不是真实存在于系统中的,即/etc/passwd文件里没有的,它是借助于宿主账号nobody。
[root@cms_web vsftpd]# cat vuser_passwd.txt
hqsbcms
hqsbcms_2016@huanqiu.com
           
生成虚拟用户口令认证的db文件(该文件设定600权限),这是本地数据库文件
[root@cms_web vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
[root@cms_web vsftpd]# chmod 600 /etc/vsftpd/vuser_passwd.db

**************************************************************************************** 
[root@cms_web vsftpd]# cat /etc/vsftpd/chroot_list
hqsbcms
//由于原文对chroot_local_user配置项的理解错误,其实该文件不需要修改
****************************************************************************************
      
[root@cms_web vsftpd]# mkdir vuser_conf      //此目录名是在vsftpd.conf配置中指定的,里面是虚拟用户配置文件(文件名是虚拟用户名)
[root@cms_web vsftpd]# cat vuser_conf/hqsbcms
local_root=/hqsb/ftp                        //指定虚拟账号登陆后的主目录,目录权限要是宿主账号nobody,这样就可以实现账号映射
write_enable=YES      
//写权限
anon_umask=022
anon_world_readable_only=NO                //下载权限(当其他四项的YES为NO时,则此账号登陆FTP后只有可读和下载权限了)
anon_upload_enable=YES                     //上传权限
anon_mkdir_write_enable=YES   
//创建目录权限
anon_other_write_enable=YES   
//删除和重命名权限
         
[root@bastion-IDC vsftpd]# ll /lib64/security/pam_userdb.so
-rwxr-xr-x. 1 root root 10280 May 11  2016
/lib64/security/pam_userdb.so
[root@cms_web vsftpd]# cat /etc/pam.d/vsftpd       //注释掉文件中原来的内容,添加下面两行内容
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
# 32-bit
#auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
#account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
# 64-bit

*****************************************************************************************
//这个vuser_passwd根据的是vuser_passwd.db
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd    

//这里64bit系统,必须用sufficient,否则上面vuser_conf目录下的虚拟主机配置文件无效!
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd    

*****************************************************************************************
// 实际使用时发现,该配置会导致虚拟账户无法登录,使用32位的语句可以正常登录
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

//宿主账号nobody的信息不用做任何修改,shell类型最好是/sbin/nologin,这样可以shell登录操作。           
[root@bastion-IDC ~]# cat /etc/passwd|grep nobody      
nobody:x:99:99:Nobody:/:/sbin/nologin         
 
//设置虚拟账号hqsbcms指定的主目录的权限为nobody,这样就可以映射到宿主账号nobody
[root@cms_web vsftpd]# chown -R nobody.nobody /hqsb/ftp     
[root@cms_web vsftpd]# chmod -R 700 /hqsb/ftp
           
[root@cms_web vsftpd]# /etc/init.d/vsftpd start
   
[root@bastion-IDC vsftpd]# ll /hqsb/ftp/
total 4
-rwxrwxrwx. 1 nobody nobody    0 Mar 29 12:53 aaa
drwxrwxrwx. 2 nobody nobody 4096 Mar 29 12:53
test

[root@bastion-IDC vsftpd]# service vsftpd restart

到这一步配置ftp虚拟账户就完成了,可以使用虚拟账户登录ftp。


---------------------------------------------------添加ftp虚拟账户--------------------------------------------------

比如添加账号ops(密码为ops@123),指定目录为/mnt/ops,操作如下:
[root@bastion-IDC vsftpd]# pwd
/etc/vsftpd
[root@bastion-IDC vsftpd]# cat chroot_list
hqsbcms
ops
 
[root@bastion-IDC vsftpd]# cat vuser_passwd.txt
hqsbcms
hqsbcms_2016@huanqiu.com
ops
ops@123
 
[root@bastion-IDC vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
 
[root@bastion-IDC vsftpd]# cat vuser_conf/ops
local_root=/mnt/ops/
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
 
[root@bastion-IDC vsftpd]# chown -R nobody.nobody /mnt/ops
[root@bastion-IDC vsftpd]# chmod -R 777 /mnt/ops
 
照此操作就可以添加FTP虚拟账号了,每个虚拟账号可以对应一个主目录,并且限定到只能ftp访问该主目录
------------------------------------------------------------
 
如果想让虚拟账号ops权限为只读以及只能下载(没有上传、删除、重命名、创建文件目录等写权限),那么它的配置修改如下:
[root@bastion-IDC vsftpd]# cat vuser_conf/ops
local_root=/mnt/ops/
write_enable=NO
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

 


--------------------------------------------------------配置加密ftp------------------------------------------------------------

[root@bastion-IDC ~]# mkdir /etc/vsftpd/sslkey
[root@bastion-IDC ~]# cd /etc/vsftpd/sslkey
[root@bastion-IDC sslkey]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
Generating a 2048 bit RSA private key
.........................................................................................+++
...................................+++
writing new private key to
'vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter 
'.', the field will be left blank.
-----
// 此处填入你的信息,自己记住即可
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:huanqiu
Organizational Unit Name (eg, section) []:technology
Common Name (eg, your name or your server's
hostname) []:huanqiu
Email Address []:wangshibo@huanqiu.cn
 
[root@bastion-IDC sslkey]# ls
vsftpd.pem
  
[root@bastion-IDC sslkey]# vim /etc/vsftpd/vsftpd.conf    //在文件最底部添加下面几行
ssl_enable=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES
ssl_ciphers=HIGH
require_ssl_reuse=NO
force_local_logins_ssl=YES
force_local_data_ssl=YES
rsa_cert_file=/etc/vsftpd/sslkey/vsftpd.pem
 
[root@bastion-IDC sslkey]# /etc/init.d/vsftpd restart

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值