11.4 和11.6 linux的ftp服务

本文详细介绍如何在服务器上安装和配置FTP服务,包括使用vsftpd服务进行文件传输,讲解了服务安装、配置参数调整、匿名用户及本地用户权限管理、虚拟用户登录等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

互联中最重要的一个目的:信息的分享。在客户/服务器模型下,文件传输非常重要。今天我们介绍一个文件传输的服务叫做ftp。

ftp:文件传输协议英文File Transfer Protocol,缩写FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议应用层

1.安装服务

服务器端:

1).yum install vsftpd.x86_64 -y    ##安装vsftpd服务

2).systemctl start vsftpd     ##开启vsftpd服务

3)systemctl enable vsftpd    ##开机启动vsftpd服务

4) 
 systemctl stop firewalld.service     ##关闭防火墙

systemctl disable firewalld.service    ##开机不启动防火墙

5)

vim /etc/sysconfig/selinux    ##编辑内核防火墙

设置SELINUX=disabled

6)reboot 重启

用户端:

1)yum install lftp -y    ##安装lftp服务

2)连接服务lftp 172.25.254.185

2.vsftpd服务的配置参数

vim /etc/vsftpd/vsftpd.conf      ##对vsftp服务的配置文件进行编辑

每次修改完配置文件需要重新启动vsftpd

*)关于ftp的报错说明

500报错:权限过大

530报错:认证失败

550报错:服务本身不允许

553报错:文件系统权限过小

==============================================================

*)匿名用户的参数

1)匿名用户的设定

anonymous_enable=YES|NO       ##是否允许匿名用户登陆

2)匿名用户的上传

vim /etc/vsftpd/vsftpd.conf         ##编辑vsftpd服务的配置文件

write_enable=YES                    ##允许写

anon_upload_enable=YES        ##允许用户上传文件

chmod 775 /var//ftp/pub/          ##修改pub/目录的权限,如果不修改权限,即使vstpd服务允许写,但是目录本身不允许写。

chgrp ftp  /var/ftp/pub/             ##修改pub/的组用户,如果改成777,不太安全。改成775,并把/pub的目录的所属组改位为ftp

systemctl restart vsftpd.service   ##重启服务

测试:从客户机上上传一个文件

3)匿名用户建立目录

anon_mkdir_write_enable=YES

4)匿名用户删除文件

anon_other_write_enable=YES

 

==================用户下载文件的两种方法===========================

5)匿名用户下载自己上传的文件

anon_world_readable_only=NO  (NO表示匿名用户可以下载)

6)匿名用户上传文件默认权限修改

anon_umask=002       ##必须重新上传以改变权限才可以下载,重新上传改变了文件的权限,才可以下载。

================================================================

7)匿名用户使用的身份修改

chown_uploads=YES                   ##匿名用户登陆以后使用的是student用户,但是还是在/pub目录下
chown_username=student

8)匿名用户最大上传速率

anon_max_rate=102400

9)用户的最大连接数量

max_clients=2       ##用户是以那个用户先切换到/pub目录下位准

10)匿名用户家目录的修改

anon_root=目录

==============================================================================

*)

1)本地用户家目录的修改

修该配置文件:vim /etc/vsftpd/vsftpd.conf    

在客户端登陆时的命令:

lftp 172.25.254.185 -u student             ##默认本地用户登陆的是自己的家目录

2)本地用户上传文件权限

local_umask=xxx

上传文件前要修改家目录的权限。

3)限制本地用户浏览根目录

正常情况,本地用户是可以访问根目录的。

为了保证安全,可以限制本地用户访问根目录

chroot_local_user=YES

修改完后,需要修改家目录的权限,否则会报500错误。

chmod 555 /home/student/

结果

用户访问根目录的黑白名单

用户黑名单建立

chroot_local_user=NO                       ##允许用户登陆
chroot_list_enable=YES                    ##不允许列表中的用户登陆
chroot_list_file=/etc/vsftpd/chroot_list  ##列表文件所在的目录

黑名单用户只能访问自己的家目录

其他龙虎可以访问根目录

用户白名单建立

chroot_local_user=YES                       ##不允许任何人登陆根目录
chroot_list_enable=YES                      ##允许列表中的用户登陆
chroot_list_file=/etc/vsftpd/chroot_list   ##列表文件所在的目录

4)限制本地用户登陆

vim /etc/vsftpd/ftpusers            ##永久黑名单,出现的用户不可以使用ftp
 vim /etc/vsftpd//user_list         ##临时黑名单,出现的用户不可以使用ftp,需要到vsftpd.conf中配置

临时黑名单中加入student

用户黑名单的设定

编辑vsftpd的配置文件vim /etc/vsftpd/vsftpd.conf

userlist_enable=YES      ##使用临时黑白名单
userlist_deny=YES         ##名单为黑名单

用户白名单的设定

编辑vsftpd的配置文件vim /etc/vsftpd/vsftpd.conf

userlist_enable=YES      ##使用临时黑白名单
userlist_deny=NO         ##名单为白名单

=================================================================================

*)虚拟用户的登陆

1)虚拟用户的设定

步骤一:编辑虚拟用户目录

vim /etc/vsftpd/westosfile           ##文件名任意取,用来存放虚拟用户名和密码

user1

123

user2

123

db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db  ##生成加密文件,此时原来的文件可以删除,保证安全

步骤二:修改vsftpd的解析文件

编辑vim /etc/vsftpd/vsftpd.conf

修改pam_service_name=westos    ##其中的westos为 pam的解析源头

步骤三:查看是否安装pam

PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制,

通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。

步骤四:编辑解析文件

编辑 vim /etc/pam.d/westos

account       required    pam_userdb.so    db=/etc/vsftpd/westosfile    ##系统会默认在westosfile后面加.db
auth          required    pam_userdb.so    db=/etc/vsftpd/westosfile

步骤五:编辑vsftpd 的配置文件

pam_service_name=westos       ##解析文件在westos,此时本机用户无法使用,因为westos里面没有对本机内容的解析
guest_enable=YES                     ##允许虚拟用户登陆
guest_username=student              ##虚拟用户以student的身份登陆

2)虚拟用户家目录的设定

不同的虚拟用户,应该有不同的家目录

步骤一:创建家目录,并修改权限

mkdir /ftphome/user1/user1dir  -p  ##root用户建立的,虚拟用户不可写,但是改为777又不安全,所以将组改为ftp,权限为775

mkdir /ftphome/user2/user2dir  -p

chgrp ftp /ftphome/ -R

步骤二:修改vsftp的配置文件

local_root=/ftphome/$USER     ##设置登陆用户的家目录为$USER,为一个变量
user_sub_token=$USER          ##变量的定义

必须将虚拟用户身份改为ftp,否则没有对家目录的权限。

测试:

3)虚拟用户的独立配置

步骤一:配置文件vsftpd文件

user_config_dir=/etc/vsftpd/userconf     ##userconf中存放的是用户独立的配置文件爱你的目录

步骤二:编辑独立的配置文件

mkdir /etc/vsftpd/userconf                ##创建目录
vim /etc/vsftpd/userconf/user1           ##编辑配置文件

例如:anon_upload_enable=YES

user1可写,user2不可写

 

 

 

 

 

 

 

 

 

 

<think>好的,我需要帮助用户将CUDA从11.4升级到11.6。首先,我应该回忆一下CUDA的安装升级流程。根据用户提供的引用,CUDA通常作为独立版本安装在/usr/local目录下,不同版本通过软链接切换。升级可能不是直接覆盖安装,而是安装新版本后切换软链接。 用户之前提到他们使用软链接指向当前CUDA版本,比如cuda指向cuda-11.4。所以升级到11.6应该是下载11.6的安装包,安装到/usr/local/cuda-11.6,然后修改软链接指向新版本,并更新环境变量。 接下来,我需要确认安装步骤是否正确。用户之前安装11.2用的是.run文件,所以11.6应该类似。需要指导用户下载正确的.run文件,运行安装程序,注意安装时可能不需要重复安装驱动,避免冲突。安装完成后,删除旧的软链接,新建指向11.6的链接,并检查环境变量是否指向cuda目录。 还要提醒用户在安装过程中可能遇到的问题,比如驱动兼容性、路径设置是否正确,以及安装后验证版本是否正确。可能需要检查nvcc --versionnvidia-smi的输出是否一致,如果出现版本不一致的情况,需要解释这是因为工具显示的是驱动支持的最高版本,不影响使用。 最后,生成相关问题,可能涉及如何验证安装、切换版本、处理驱动问题等。确保回答结构清晰,步骤明确,用户能一步步操作。</think>### CUDA从11.4升级到11.6的逐步指南 #### 1. **下载CUDA 11.6安装包** - 访问[NVIDIA CUDA Toolkit Archive](https://developer.nvidia.com/cuda-toolkit-archive),选择CUDA Toolkit 11.6- 根据操作系统架构(如Linux x86_64)选择`.run`格式安装文件,例如: ```bash wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run ``` #### 2. **关闭图形界面(避免驱动冲突)** ```bash sudo systemctl isolate multi-user.target # 进入命令行模式 ``` #### 3. **卸载旧版本驱动(可选)** - 如果CUDA 11.6需要更新的驱动(如>=510.x),需先卸载旧驱动: ```bash sudo /usr/bin/nvidia-uninstall # 根据提示操作 ``` #### 4. **安装CUDA 11.6** - 运行安装脚本,**取消勾选驱动安装**(若已单独安装驱动): ```bash sudo sh cuda_11.6.2_510.47.03_linux.run ``` - 安装路径保持默认`/usr/local/cuda-11.6`[^2]。 #### 5. **更新软链接指向新版本** ```bash sudo rm -rf /usr/local/cuda # 删除旧软链接 sudo ln -s /usr/local/cuda-11.6 /usr/local/cuda # 新建指向11.6的链接 ``` #### 6. **更新环境变量** - 编辑`~/.bashrc`文件,确保路径指向新的CUDA: ```bash export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` - 应用配置: ```bash source ~/.bashrc ``` #### 7. **验证安装** - 检查CUDA版本: ```bash nvcc --version # 应显示11.6 ``` - 验证GPU状态: ```bash nvidia-smi # 显示驱动版本及GPU信息 ``` #### 8. **恢复图形界面** ```bash sudo systemctl start graphical.target ``` ### 常见问题处理 - **驱动版本不兼容**:CUDA 11.6需NVIDIA驱动>=510.x,若`nvidia-smi`显示版本过低,需先升级驱动[^1]。 - **多版本共存**:可通过切换软链接`/usr/local/cuda`实现不同CUDA版本切换。 - **路径冲突**:确保`/usr/local/cuda/bin`在PATH中优先级高于其他CUDA路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值