《linux就该这么学》第十三节课:第11章和第12章,vsftpd服务与samba和nfs服务
第十一章
(借鉴请改动)


11.1、文件传输协议
FTP文件穿数协议,端口20用于数据传输,21端口用于传输相关FTP命令
ftp协议的两种工作模式:
主动模式:ftp向客户端发起
被动模式(默认):等待客户端发起
yun install vsftpd -y 安装vsftpd服务,并 iptables -F 清空防火墙
vsftpd的住配置文件 /etc/vsftpd/vsftpd.conf 其中大部分是注释
把配置文件更名 vsftpd.conf_bak 然后用 grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf 过滤注释,得到的常用参数:

listen=[YES|NO] //是否以独立运行的方式监听服务
listen_address=IP地址 //设置要监听的IP地址
listen_port=21 //设置FTP服务的监听端口
download_enable=[YES|NO] // 是否允许下载文件
userlist_enable=[YES|NO] //设置用户列表为“允许”还是“禁止”操作
userlist_deny=[YES|NO] //设置用户列表为“允许”还是“禁止”操作
max_clients=0 // 最大客户端连接数,0为不限制
max_per_ip=0 // 同一IP地址的最大连接数,0为不限制
anonymous_enable=[YES|NO] //是否允许匿名用户访问
anon_upload_enable=[YES|NO] //是否允许匿名用户上传文件
anon_umask=022 // 匿名用户上传文件的umask值
anon_root=/var/ftp // 匿名用户的FTP根目录
anon_mkdir_write_enable=[YES|NO] //是否允许匿名用户创建目录
anon_other_write_enable=[YES|NO] // 是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限)
anon_max_rate=0 // 匿名用户的最大传输速率(字节/秒),0为不限制
local_enable=[YES|NO] // 是否允许本地用户登录FTP
local_umask=022 //本地用户上传文件的umask值
local_root=/var/ftp //本地用户的FTP根目录
chroot_local_user=[YES|NO] //是否将用户权限禁锢在FTP目录,以确保安全
local_max_rate=0 //本地用户最大传输速率(字节/秒),0为不限制
11.2、vsftpd服务程序
匿名开放模式:任何人都可以登录,不安全
本地用户模式:通过服务器本地用户登录
虚拟用户模式:三种中最安全的认证方式,建立用户数据库,虚拟出来用户登录
需先安装:yum install ftp -y
匿名开放模式 (/var/ftp)
1、修改配置文件中的部分参数:
anonymous_enable=YES //允许匿名访问模式
anon_umask=022 //匿名用户上传文件的umask值
anon_upload_enable=YES // 允许匿名用户上传文件
anon_mkdir_write_enable=YES //允许匿名用户创建目录
anon_other_write_enable=YES //允许匿名用户修改目录名称或删除目录
2、修改目录权限和selinux的域并重启服务
            
3、测试服务(ftp默认访问的是/var/ftp目录)
            
本地用户模式
1、修改部分配置文件:
anonymous_enable=NO //禁止匿名访问模式
local_enable=YES //允许本地用户模式
write_enable=YES //设置可写权限
local_umask=022 //本地用户模式创建文件的umask值
userlist_deny=YES // 启用“禁止用户名单”,名单文件为ftpusers和user_list
userlist_enable=YES // 开启用户作用名单文件功能
2、修改selinux域并重启服务
setsebool -p ftpd_full_access=on
3、本地用户模式默认不允许root用户登录,如需登录,需要把/etc/vsftpd/user_list和/etc/vsftpd/ftpusers中root用户去掉(死亡笔记)
虚拟用户模式
pam模块:可插拔认证模块。是一种认证机制,通过一些动态链接库和统一的API把系统服务与认证方式分开,灵活的调整不同认证方式。
1、创建用于认证的用户数据库文件,并加密与授权,删除原文件
[root@linuxprobe vsftpd]# vim vuser.list              //一行用户名一行密码交替
             zhangsan
             redhat
             lisi
             redhat
db_load -T -t hash -f vuser.list vuser.db //加密
chmod 600 vuser.db
rm -rf vuser.db
2、把创建的虚拟用户映射到本地用户
useradd -d /var/ftproot -s /sbin/nologin virtual //用于映射虚拟用户
chmod -Rf 755 /var/ftproot
3、建立用于认证的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
4、写入配置文件
anonymous_enable=NO //禁止匿名开放模式
local_enable=YES //允许本地用户模式
guest_enable=YES //开启虚拟用户模式
guest_username=virtual // 指定虚拟用户账户
pam_service_name=vsftpd.vu // 指定PAM文件
allow_writeable_chroot=YES // 允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求
5、为用户设置权限并写入配置文件
vim /etc/vsftpd/vusers_dir/zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
6、设置selinux域并重启服务
11.3、简单文本传输协议
yum install tftp-server tftp -y //安装tftp
vim /etc/xinetd.d/tftp 把其中的disable 项改成yes
            
防火墙添加端口:
firewall-cmd --permanent --add-port=69/udp
firewall-cmd --reload
tftp的根目录为 /var/lib/tftpboot 相关参数解释:
? //帮助信息
put //上传文件
get //下载文件
verbose //显示详细的处理信息
status //显示当前的状态信息
binary //使用二进制进行传输
ascii //使用ASCII码进行传输
timeout //设置重传的超时时间
quit //退出
重启服务:systemctl restart xinetd
第十二章
samba和nfs(nfs只能linux之间)总结:
Windows和linux:(smb服务)
linux 服务端:安装Samba,将共享目录写入/etc/samba/smb.conf并且设置权限、selinux、防火墙。然后pdbedit创建smb登入用户,重启服务。
windows客户端:开始搜索栏直接:\\192.168.10.10
linux 和 linux :(smb服务)
服务端:与上述一样正常配置Samba服务即可
linux客户端:yum安装cifs-utils并写入认证文件auth.smb,然后写入挂载文件/etc/fstab
例如://192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
nfs的linux与linux(只能linux):
服务端:安装nfs,把共享目录写入/etc/export,设置权限,selinux,防火墙,并重启服务(rpc-bind和nfs-server)
/etc/export的写入格式:共享目录路径 允许访问nfs客户端(共享权限参数)
客户端:showmount -e 查看服务端共享目录,并挂载,使用mount -t 文件类型挂载
详细如下:
12.1、samba文件共享服务
yum install samba -y 安装Samba服务
主配置文件 /etc/samba/smb.conf 中的参数解释:
[global] #全局参数。
workgroup = MYGROUP //#工作组名称
server string = Samba Server Version %v //#服务器介绍信息,参数%v为显示SMB版本号
log file = /var/log/samba/log.%m //#定义日志文件的存放位置与名称,参数%m为来访的主机名
max log size = 50 //#定义日志文件的最大容量为50KB
security = user //#安全验证的方式,总共有4种
#share: //来访主机无需验证口令;比较方便,但安全性很差
#user: //需验证来访主机提供的口令后才可以访问;提升了安全性
#server: //使用独立的远程主机验证来访主机提供的口令(集中管理账户)
#domain: //使用域控制器进行身份验证
passdb backend = tdbsam // #定义用户后台的类型,共有3种
#smbpasswd: //使用smbpasswd命令为系统用户设置Samba服务程序的密码
#tdbsam: //创建数据库文件并使用pdbedit命令建立Samba服务程序的用户
#ldapsam: //基于LDAP服务进行账户验证
load printers = yes //#设置在Samba服务启动时是否共享打印机设备
cups options = raw //#打印机的选项
[homes] //#共享参数
comment = Home Directories //#描述信息
browseable = no //#指定共享信息是否在“网上邻居”中可见
writable = yes // #定义是否可以执行写入操作,与“read only”相反
[printers] //#打印机共享参数
comment = All Printers
path = /var/spool/samba //#共享文件的实际路径(重要)。
browseable = no
guest ok = no // #是否所有人可见,等同于"public"参数。
writable = no
printable = yes
             
(服务端配置)配置共享资源
1、写入配置文件并且建立smb用户
vim /etc/samba/smb.conf
[database] //共享名称为database
comment = Do not arbitrarily modify the database file //警告用户不要随意修改数据库
path = /home/database //共享目录为/home/database
public = no //关闭“所有人可见”
writable = yes // 允许写入操作
pdbedit -a -u linuxprobe
pdbedit 用于管理Samba用户 。 pdbedit 【选项】 【账户】。
-a 用户名 // 建立Samba账户 -x 用户名 //删除用户名
-L //列出账户列表 -Lv //列出账户详细列表
2、创建共享文件目录/home/database 并授权和selinux的安全上下文和selinux域
3、清空防火墙并重启服务
(客户端)配置共享
window端:直接在开始的搜索栏:\\192.168.10.10 并输入用户名密码
linux端:yum install cifs -y ,写认证文件并授权,创建挂载目录,写入/etc/fstab中,mount -a挂载使用
vim auth.smb
username=linuxprobe
password=redhat
domain=MYGROUP
chmod -Rf 600 auth.smb
vim /etc/fstab
//192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
复习:ftp的本地模式
预习:第十二章,第十三章 13.5
《linux就该这么学》第十三节课:第11章和第12章,vsftpd服务与samba和nfs服务的更多相关文章
- 《linux就该这么学》第三节课  第二节命令笔记
		
命令笔记 (随笔原创,借鉴请修改) linux系统中一切都是文件 2.4 系统状态的命令: ifconfig : 查看系统网卡信息,包括网卡名称,ip地址,掩码,mac地址,收到数据包大 ...
 - centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB  注意down掉网卡的方法  nginx效率没有LVS高  ipvsadm命令集  测试LVS方法 第三十三节课
		
centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB ...
 - centos  LNMP第一部分环境搭建 LAMP LNMP安装先后顺序   php安装 安装nginx  编写nginx启动脚本    懒汉模式  mv   /usr/php/{p.conf.default,p.conf}  php运行方式SAPI介绍  第二十三节课
		
centos LNMP第一部分环境搭建 LAMP安装先后顺序 LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/local/php/{ ...
 - centos 正则,grep,egrep,流式编辑器 sed,awk -F 多个分隔符  通配符 特殊符号. * + ? 总结  问加星 cat -n  nl  输出文件内容并加上行号 alias放~/.bash_profile 2015-4-10 第十三节课
		
centos 正则,grep,egrep,流式编辑器 sed,awk -F 多个分隔符 通配符 特殊符号. * + ? 总结 问加星 cat -n nl 输出文件内容并加上行号 alias放~ ...
 - KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础
		
原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...
 - Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击
		
Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...
 - Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持
		
Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...
 - centos shell编程4【分发系统】 服务器标准化  mkpasswd 生成密码的工具  expect讲解   expect传递参数   expect自动同步文件  expect指定host和要同步的文件   expect文件分发系统  expect自动发送密钥脚本  Linux脚本执行方式  第三十八节课
		
centos shell编程4[分发系统] 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要 ...
 - 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
		
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
 
随机推荐
- python实现Hbase
			
1. 下载thrift 作用:翻译python语言为hbase语言的工具 2. 运行时先启动hbase 再启动thrift,最后在pycharm中通过happybase包连接hbase 在hbase目 ...
 - Android键盘显示和隐藏
			
一.不自动弹出键盘: 带有EditText控件的在第一次显示的时候会自动获得focus,并弹出键盘,如果不想自动弹出键盘,有两种方法: 方法一:在mainfest文件中把对应的activity设置 a ...
 - SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题——Jason niu
			
%SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题——Jason niu X = [16.4700 96.1000 16.4700 94.4400 20.0900 92.5400 2 ...
 - 学习 Vim —— Vimtutor 总结笔记
			
Lesson 2 2.1-2.3 删除 [dw] 删除从光标开始处至下一词开始前的部分,光标停在下一词的词首. [de] 删除从光标开始处至词尾的部分. [d$] 删除从光标开始处至行末的部分. 2. ...
 - JS-排序详解-冒泡排序
			
说明 时间复杂度指的是一个算法执行所耗费的时间 空间复杂度指运行完一个程序所需内存的大小 稳定指,如果a=b,a在b的前面,排序后a仍然在b的前面 不稳定指,如果a=b,a在b的前面,排序后可能会交换 ...
 - eclipse导入新项目配置jdk、tomcat到浏览器正常访问
			
好记性不如烂笔头,长时间不操作就会生疏,在此做个笔记 1.导入项目 2,进入选择项目,点finish完成,导入成功 3.配置tomcat和jdk 选择本地相对应jdk的jre 选择tomcat版本进行 ...
 - SQLyog 最新版本12.5-64bit 完美破解,亲测可用!
			
声明:本文只是提供一个网络上找到的针对12.5版本的注册码使用方式做一个说明,不建议企业用户破解,有条件的还是希望大家购买原版.当然个人学习用的但又不想购买原版的,这里只是提供个途径,请勿用做商业用途 ...
 - Navicat Premium 最新版本12.1.16-64bit 完美破解,亲测可用!
			
声明:本文只是提供一个网络上找到的针对12.1.16版本的破解注册机使用方式做一个说明,不建议企业用户破解,毕竟码农不容易,有条件的还是希望大家购买原版.当然个人学习用的但又不想购买原版的,这里只是提 ...
 - word使用新技能
			
office2013版,菜单栏-审阅-修订-所有标记,可以显示编辑过程中的所有修改步骤,还可查看未修改的原始状态.前提是“修订”按钮 要点亮! 给文档添加索引,并自动生成索引列表 文件-选项-显示-隐 ...
 - thinkphp实现like模糊查询实例
			
原网址:https://www.jb51.net/article/56846.htm