FTP 使用 21 和 20 端口号 。有主动和被动模式,一般用被动。
vsftpd服务
yum install vsftpd
匿名用户
vim /etc/vsftpd/vsftpd.conf 主配置文件,主配置文件中没有所有的配置参数,子配置文件还有参数。
共127行,下面把注释去掉。
cd /etc/vsftpd
mv vsftpd.conf vsftpd.conf_bak > vsftpd.conf
grep -v "#" vsftpd.conf_bak -v反选,包含#号的行
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //启用匿名验证模式
anon_umask=022 //
anon_upload_enable=YES //是否允许匿名用户的上传文件
anon_mkdir_write_enbale=YES //是否允许匿名用户创建文件
anon_other_write_enbales=YES //是否允许匿名用户的其他权限,例如,重命名,删除文件等
local_enable=YES //本地验证模式,使用本地的账号密码登入到ftp服务器
write_enable=YES //本地用户可以写入ftp服务器
local_umask=022 //文件的反掩码 文件创建后默认是644 目录创建后默认是755 。权限等于 nnn-umask值,例如666-022=644 可以通过umask值来调整文件和目录的大小。
dirmessage_enable=YES //进入不同目录时显示一些提示信息
xferlog_enable=YES//记录日志,记录在/var/log/message
connect_from_port_20=YES//端口号是否是20
xferlog_std_format=YES//日志是否已标准形式展示
listen=NO//是否要独立运行监听
listen_IPv6=YES
pam_service_name=vsftpd//可插拔认证模块
userlist_enabled=YES//用户黑名单 /etc/vsftpd/user_list
tcp_wrappers=YES//是否允许tcp_wrappers管理ftp服务程序
wq!
systemctl restart vsftpd
systemctl enable vsftpd
iptables -F 清空防火墙链
service iptables save
yum install ftp 安装ftp客户端
ftp 192.168.10.10
name:anonymous
password:空
匿名用户登录的所在目录 /var/ftp
cd /var/ftp/pub
mkdir hoho 会创建失败
chwon -Rf ftp /var/ftp/pub
匿名用户所创建的文件一定要归属与某个系统用户,这个用户是ftp,这个用户就要映射用户 。这个用户会在安装ftp服务时自动创建。
getsebook -a |greap ftp
setsebool -P ftpd_full_access=on
ftp 192.168.10.10
mkdir hoho创建成功
本地用户
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES //本地验证模式,使用本地的账号密码登入到ftp服务器
write_enable=YES //本地用户可以写入ftp服务器
local_umask=022 //文件的反掩码 文件创建后默认是644 目录创建后默认是755 。权限等于 nnn-umask值,例如666-022=644 可以通过umask值来调整文件和目录的大小。
dirmessage_enable=YES //进入不同目录时显示一些提示信息
xferlog_enable=YES//记录日志,记录在/var/log/message
connect_from_port_20=YES//端口号是否是20
xferlog_std_format=YES//日志是否已标准形式展示
listen=NO//是否要独立运行监听
listen_IPv6=YES
pam_service_name=vsftpd//可插拔认证模块
userlist_enabled=YES//用户黑名单 /etc/vsftpd/user_list和ftpusers。如果userlist_enable=NO ,那么user_list和ftpusers就是白名单了。
tcp_wrappers=YES//是否允许tcp_wrappers管理ftp服务程序
wq!
systemctl restart vsftpd
登录后默认路径是home
ftp 192.168.10.10
用户名:root 提示拒绝
cd /etc/vsftpd
ls
vim ftpusers
删除root
vim user_list
删除root
systemctl restart enable
ftp 192.168.10.10
mkdir zhaosi
切换到另一个控制台 cd ~
ls 看见刚才创建的文件
虚拟用户
cd /etc/vsftpd
vim hoho.list
zhangsan 单数行是用户名,偶数行是密码
123456
lisi
654321
wq!
db_load -T -t hash -f hoho.list -t是使用哈西的方式加密,-f是指要加密的文件。
file hoho.list
file hoho.db
chmod 600 vuser.db
useradd -d /var/ftproot -s /sbin/nologin virtual 添加本地用户用于虚拟用户和本地用户的映射,-d 添加用户的家目录 -s /sbin/nologin不用用户登录到服务器 virtual是用户名
id virtual
chmod -Rf 775 /var/ftproot/
PAM可插拔是认证模块
vim /etc/pam.d/vsftpd.vu 我们自己新建的文件名随意
auth required pam_userdb..so db=/etc/vsftpd/vuser 不写后缀
account required pam_userdb.so db=/etc/vsftpd/vuser
wq!
vim /vsftpd.conf
chroot 牢笼机制,限定用户可访问目录的访问范围,只能在ftp目录里操作。
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=YES
allow_writeable_chroot=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu 新建的配置文件
userlist_enable=YES
tcp_wrappers=YES
wq!
user_config_dir=/etc/vsftpd/vuser_dir 用于设置vsftpd.vu文件里登记的用户的权限
wq!
mkdir /etc/vsftpd/vuser_dir
cd /etc/vsftpd/vuser_dir
touch zhangsan
touch lisi
vim zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
systemctl restart vsftpd
ftp 192.168.10.10
name:zhangsan
password:123456
mkdir jincos
在另一个窗口里查看
cd /etc/vsftpd/vuser_dir
里有jincos
还原虚拟机
tftp简单文件传输协议 占用 649端口 ,只能登录后下载文件。
yum install tftp-server tftp 安装tfpt服务和tftp工具 选择 1。
vim /etc/xinetd.d/tftp 所有小的精简的服务程序都有xinnetd服务所管理,打开它tfpt就能用了
更改 disable=no 不要禁用
systemctl restart xinetd
tftp 192.168.10.10
切换新页面
cd /var/lib/tftpboot/
echo "hohoho" > readme.txt
exit
切换页面
tftp 192.168.10.10
get readme.txt
就可以下载readme.txt
put aa.txt 如果权限不够就777这个文件夹
相关推荐
"Linux I2C总线分析(主要是probe的方式)" Linux I2C总线分析是指Linux操作系统中I2C总线的工作机制和结构。I2C总线是串行总线,它可以实现多个设备之间的数据交换。Linux I2C总线分析可以分为三个组成部分:I2C...
在嵌入式Linux系统中,`probe`是一个关键机制,用于连接硬件设备(device)与驱动程序(device_driver)。在Linux内核加载过程中,probe机制允许内核发现并初始化硬件设备,确保驱动程序能正确地识别和管理这些设备...
6. **跨平台**:ucProbe支持Windows、Linux和Mac OS操作系统,满足不同开发环境的需求。 7. **源码级调试**:通过集成的GDB调试服务器,ucProbe能实现源码级别的调试,这对于理解代码执行流程和查找错误至关重要。 ...
在Linux驱动程序中,`probe`函数是设备驱动的核心部分,用于初始化和配置硬件设备。这个函数的调用时机和过程是设备驱动模型中的关键环节。当我们在编写驱动时,通常会定义一个`probe`函数,该函数会在特定条件下被...
文献资料安装开发安装QtPyVCP使用文档资源 (#hazzy)(隔离) (#qtpyvcp:matrix.org)(桥接) (桥接) (桥接)依存关系 Python 2.7 PyQt5或PySide2 Probe Basic是使用LinuxCNC Debian 9 x64(拉伸) 和Ubuntu ...
Linux 的 I2C 体系结构分为三个组成部分:I2C 核心、I2C 总线驱动和 I2C 设备驱动。 I2C 核心提供了 I2C 总线驱动和设备驱动的注册、注销方法,I2C 通信方法(即“algorithm”)上层的、与具体适配器无关的代码以及...
在 Linux 操作系统下,有三类主要的设备文件类型:字符设备、块设备和网络设备。字符设备和块设备的主要区别是:在对字符设备发出读、写请求时,实际的硬件 I/O 一般就紧接着发生了,块设备则不然,它利用一个块系统...
通常,我们会在数据输出的pad上添加探针,如在上面例子中的`appsink`。 ```cpp QGstPadProbeInfo probeInfo; QGstPadProbePtr probe = pipeline->pad("sink")->addProbe(QGstPadProbeType::QGST_PAD_PROBE_TYPE_...
util-linux-ng-2.17.2/shlibs/blkid/src/probe.c [code] util-linux-ng-2.17.2/shlibs/blkid/src/read.c [code] util-linux-ng-2.17.2/shlibs/blkid/src/resolve.c [code] util-linux-ng-2.17.2/shlibs/blkid/src...
- 编写识别设备的`probe`函数,通过比较设备ID(Vendor ID和Device ID)来确定是否支持该设备。 - 注册中断处理程序,处理来自PCIe设备的中断。 - 初始化设备,包括分配资源、设置寄存器、加载固件等。 - 实现...
平台驱动是Linux内核中用于处理特定SoC(系统级芯片)上非标准或专用外设的驱动类型。AT24Cxx在某些平台上可能被视为一个独立的设备,因此需要一个平台驱动来处理它的初始化、读写操作等。 在`at24cxx.c`文件中,...
设备驱动则处理特定USB设备的通信,而函数驱动则处理设备上多个功能接口的细节。 Linux USB驱动的入门,首先要理解Linux内核的模块化设计。USB驱动通常作为内核模块加载,可以动态插入和移除,这得益于Linux的模块...
了解并熟悉这些知识后,开发者可以有效地为STM32平台上的RX8025编写或优化驱动程序,确保Linux系统能够准确、可靠地与RTC芯片交互,提供实时时间服务。在压缩包中的"RX8025驱动-STM+Linux"文件很可能是包含了这些...
在Zynq-Linux中,axi-timer的初始化过程主要涉及`xilinx_axi_timer_probe()`函数,该函数注册了硬件定时器,并设置初始计数值和中断处理函数。 2. **中断处理**: axi-timer的中断处理函数在`drivers/clk/xilinx/`...
"v2_linux"强调这是针对Linux操作系统的第二版驱动,"lte_linux"重申其对Linux平台上的LTE设备的支持,而"qmi"和"qmi_wwan"则突出了QMI接口在处理WWAN连接中的关键作用。 压缩包内的文件"qmi_wwan.c"很可能包含了...
- 在NorFlash芯片被正确识别之后,Linux内核会通过调用`cfi_probe()`函数来初始化芯片。这一步通常发生在驱动加载的过程中。 - `cfi_probe()`函数会根据NorFlash的具体规格配置相应的参数,并设置好读写等操作接口...
5. 背靠背,也就是比方说2块16位的芯片一起接在32位的总线上。 在Linux系统下的MTD/CFI驱动程序中,我们需要考虑到这些编程要点,以确保正确地读写Flash存储器。 MTD/CFI驱动程序的实现过程可以分为以下几个步骤:...
《IBM Corporation Linux驱动程序探索——以xenbus_probe为例》 在开源的世界里,IBM Corporation以其深厚的技术底蕴和对Linux的贡献而闻名。本篇将深入探讨IBM为Linux内核提供的一个关键组件——xenbus_probe,这...
- `dm9000_start_xmit()`: 负责将数据包发送到网络上,通常在此函数中会调用`netif_stop_queue()`来暂停上层向驱动发送新的数据包。 - `dm9000_tx_done()`: 当数据包成功发送后,会被调用来标记发送完成,并通过`...