FTP协议和Samba服务在linux中的应用

  • FTP服务
    • 实验环境
      • 匿名账户
      • 本地账户
      • 虚拟账户
  • Samba服务
    • Samba 服务基础
    • 主配置文件smb.conf

FTP服务

ftp的作用:用于文件的上传和下载
端口号:20,21
21:控制层面,用于账户密码验证,权限的验证
20:数据层面,用于文件上传和下载
ftp:匿名、系统、虚拟账户
匿名账户:登录名:ftp、anonymous。不验证密码即可登录
系统账户:本身系统已存在的账户、密码作验证
验证方式:
1、验证的/etc/passwd和/etc/shadow
2、验证的是用户列表(用户必须是系统创建),相当于白名单
默认root账户不允许登录
虚拟账户:预定义的列表账户(以前系统未创建过的)

实验环境

systemctl stop firewalld.service #关闭防火墙
setenforce  0                 #关闭核心防护
rpm -ivh /mnt/Packages/vsftpd-3.0.2-10.el7.x86_64.rpm

匿名账户

chown -R ftp.ftp /var/ftp/pub/
chmod -R 755 /var/ftp/pub/
ls -l /var/ftp/pub/
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES  允许匿名账户登录
anon_upload_enable=YES  允许匿名账户上传
anon_mkdir_write_enable=YES  允许匿名账户新建文件或目录
anon_other_write_enable=YES  允许匿名账户的其他写权限
anon_umask=022  设置匿名账户的权限为755
local_enable=YES  允许本地账户登录
local_max_rate=102400  本地账户限速
chroot_local_user=yes   锁定宿主目录,此配置针对本地账户
write_enable=YES 写权限的开启,如果想让用户上传文件,此权限也需要有
local_umask=022  本地账户的权限为755
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES 监听IPV4地址的请求
listen_ipv6=NO  不监听IPV6地址的请求

本地账户

设置本地用户的可登录用户列表
vi /etc/vsftpd/user_list
liming
vi /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES   宿主目录的锁定
listen=YES
allow_writeable_chroot=YES  允许宿主目录的写权限
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES  启用用户列表
userlist_deny=NO  只允许用户列表里的用户登录
tcp_wrappers=YES
local_root=/opt/liming  指定用户的宿主目录路径
普通账户的宿主目录是它的家目录

虚拟账户

vi /etc/vcftpd/vusers.list
mike
123
john
234
新建虚拟用户账户数据库
cd /etc/vsftpd/
db_load -T -t hash -f vusers.db
file vusers.db
chmod 600 /etc/vsftpd/vusers.*
ls -lh /etc/vsftpd/vusers.*
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod 755 /var/ftproot
vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth  required  pam_userdb.so  db=/etc/vsftpd/vusers
account required pam_userdb.so  db=/etc/vsftpd/vusers
auth 对账户名和密码进行认证
account 对密码的有效期及密码账户的一些权限限定的认证
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO  关闭匿名账户
local_enable=YES 启用本地账户,一定要启用,如果禁用的话,虚拟用户则无法登录了
chroot _local_user=YES
guest_enable=YES  启用虚拟用户
guest_username=virtual  指定虚拟用户的宿主用户
pam_service_name=vsftpd.vu  pam认证的文件
anon_world_readable_only=NO  允许虚拟用户下载
max_clients=400  最大连接数
max_per_ip=10  每ip最大可登陆数
listen=YES
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd/vusers_dir  配置文件
write_enbale=YES
设置虚拟文件的配置文件
mkdir /etc/vsftpd/vusers_dir/
cd /etc/vsftpd/vusers_dir/
vi mike  默认mike只可下载,不能上传,需要上传权限,需要另外指定
anon_upload_enable=YES
anon_mkdir_write_enbale=YES
write_enbale=YES
vi john 空文件,只有下载权限

Samba服务

Samba 服务基础

SMB协议
server message block,服务消息块
CIFS协议
Common internet file system,通用互联网文件系统
samba项目
http://www.samba.org
samba软件包构成
samba-client-libs-4.4.4-9.el7.x86_64
samba-common-libs-4.4.4-9.el7.x86_64
samba-client-4.4.4-9.el7.x86_64
samba-common-4.4.4-9.el7.noarch
CentOS 7光盘中,安装包文件
samba-4.4.4-9.el7.x86_64.rpm
samba服务器的主要程序
smbd:提供对服务器中文件、打印资源的共享访问
nmbd:提供基于NetBIOS主机名称的解析
samba的配置目录及文件
/etc/samba/
/etc/samba/smb.conf
配置文件检查工具:testparm

主配置文件smb.conf

smb.conf文件的配置内容

[global]:全局设置
[homes]:用户目录共享设置
[printers]:打印机共享设置
[myshare]:自定义名称的共享目录设置

辅助配置内容

注释行:以#号开头的行
配置样例行:以;号开头的行
结合grep命令可以提取有效配置行
grep -v”^#”smb.conf | grep -v”^;”| grep -v ^$

1、创建普通账户和组
ueradd -s /sbin/nologin tom
useradd -s /sbin/nologin jack
2、账户划分进组
gpassed -M tom,jack aaa
3、对共享目录设定权限
chmod -R 740 /opt/mytools
4、对共享目录设定属主、属组
chown -R root:aaa /opt/mytools
5、属主/属组的账户如果没有加入进SAMBA账户中,需加入SAMBA账户
pdbedit -a -u tom
pdbedit -a -u jack
pdbedit -a -u root
6、更改SAMBA主配置文件中属主的权限,让其有权限读和写
vi /etc/samba/smb.conf
[tool]
path=/opt/mytools
public=no
valid users =tom,jack,root
write list=tom,root
samba服务的配置过程
防火墙的关闭
systemctl stop firewalld
setenforce 0
安装samba软件
yum -y install samba*
创建共享目录并设置权限
mkdir /share
echo “aaa”>/share/a.txt
chomd -R 777 /share
创建用户,将用户加入samba服务,并设置samba账户的密码
再将用户加进samba服务前,samba服务必须先开启。
systemctl start smb
systemctl start nmb
netstat -anptu | grep mbd
useradd lisi
ueradd tom
pdbedit -a -u lisi 用户设置为samba用户,并设置密码
pdbedit -a -u tom 用户设置为samba用户,并设置密码
配置samba主配置文件
vi /etc/samba/smb.conf
[share] 共享目录名称
comment=this is a share directory 共享描述
path=/share
read only=yes 是否设置为只读
valid users=lisi,tom 授权用户
write list =lisi  lisi是可写的
hosts allow=192.168.1.0-192.168.1.255地址段访问
重启服务
每当配置文件被修改后,一定要记得重启你的配置文件
sytemctl restart smb
sytemctl restart nmb
netstat -anptu | grep mbd
客户机权限的验证
微软:\\samba服务器ip
linux:smbclient//samba服务器ip/share -U lisi  以lisi身份验证权限
ls
get 文件 下载文件
put 文件 上传文件
挂载共享目录到本地使用
mkdir /myfile
mount -o username=lisi //samba服务器ip/share/myfile
df -Th
cd /myfile
ls

FTP协议和Samba服务在linux中的应用__GongWei1997相关推荐

  1. FTP协议和Samba服务在linux中的应用

    FTP协议和Samba服务在linux中的应用 FTP服务 实验环境 匿名账户 本地账户 虚拟账户 Samba服务 Samba 服务基础 主配置文件smb.conf FTP服务 ftp的作用:用于文件 ...

  2. 使用samba服务在Linux与Windows直接共享文件夹,海康威视网络摄像头录像视频存储到ubuntu服务器

    目录 背景 SMB共享介绍 访问共享的命令和方式 本人亲测环境 海康威视网络摄像头录像视频存储到ubuntu服务器 背景 应项目要求,海康威视网络摄像头的监控客户端要在windows系统上,录像视频要 ...

  3. FTP 协议和 HTTP 协议的比较

    参考:http://www.oschina.net/news/28162/http-vs-ftp 以下列出了一些两者的不同点: 1.HTTP协议是用来浏览网站的,而FTP是用来访问和传输文件的,FTP ...

  4. 网络协议丨FTP协议和P2P协议

    现在不管是下载文件还是浏览内容,我们都是使用HTTP协议. 但是除了HTTP协议以外,也存在其他的协议. 比如文件下载,就有FTP协议,也就是文件传输协议.FTP 采用两个 TCP 连接来传输一个文件 ...

  5. 没有技术说明文档的开源都是耍流氓:微软Roslyn编译即服务在CIIP中具体应用(上)...

    前段时间我发布了 github开源:企业级应用快速开发框架CIIP WEB+WIN+移动端,很多园友们都表示支持并与我探讨相关技术问题,上篇中我也承诺会写相关的技术文章,本篇就来介绍一下建模模块中使用 ...

  6. geo ftp环境变量 export source ~/.bashrc Linux中filezilla下载ftp文件 ftp.ncbi.nlm.nih.gov linux下载 ftp下载geo非原始数

    https://filezilla-project.org/download.php?show_all=1 右键 检测(inspect) 获得下载链接 Linux如何下载ftp文件 2 Filezil ...

  7. 关于cifs协议和samba的应用

    cifs协议(共享文件) 通用Internet文件系统(CIFS),也称为服务器消息块(SMB),是一种网络协议,其最常见的用途是共享局域网(LAN)的文件.该协议允许客户端对文件进行操作,就好像他们 ...

  8. Android开发-使用FTP协议和HTTP协议进行文件下载和上传

    FTP 是File Transfer Protocol(文件传输协议)的英文简称,从这个名字也能看出来,这个协议是为了文件传输而生的. 使用前需要下载一个commons-net-3.3.jar 直接看 ...

  9. Tomcat服务在Eclipse中能够正常启动,但页面出现404错误的解决方法

    如果在Eclipse配置并启动Tomcat成功,但有时会访问localhost:8080出现404错误,此时需要修改Tomcat配置.步骤如下: 1.在Eclipse中双击Tomcat server, ...

最新文章

  1. [转]Entity Framework走马观花之把握全局
  2. 我的WAF Bypass实战系列
  3. 空间谱专题03:时空特性与采样定理
  4. 雅礼集训 2017 Day1
  5. R语言学习 - 热图简化
  6. 开源中国iOS客户端学习——(七)MBProgressHUD特效
  7. jenkins 设置 gitlab web hooks
  8. Ubuntu16.04 安装Spyder问题
  9. 如何在本地一键安装、重启Linux服务器和远程debug调试代码 idea
  10. jQuery源码解析
  11. php检测移动浏览器,PHP 检测手机浏览器的代码
  12. 机友分享 | 基于Gokit+机智云的低成本MCU红外遥控器
  13. css 将图片折角,纯css3实现的折角效果(无需图片和js代码)
  14. 硬件钱包 Ledger使用教程
  15. FC-AE-ASM节点卡(支持 FC-AE-ASM 协议)
  16. 系统梳理总结JAVA全栈知识点,七面阿里成功斩获P8Offer
  17. 「IOI2018」Highway 高速公路收费
  18. 职场造富是坑吗?有人28岁财务自由,2022年这个行业值得关注
  19. 考拉熊,另一半喜欢,贴几张出来 :D
  20. java新技术有哪些,转疯了!

热门文章

  1. java 导出txt,java生成txt,并写入内容,java读取txt文本内容
  2. Python format函数
  3. 操作系统期末总复习(2)——问答题【常考15道】
  4. 微型计算机中常用的鼠标器有哪两类,试卷
  5. footer吸底效果css
  6. 软引用 SoftReference
  7. matlab的FIR滤波器设计
  8. CHS-DRG医保支付(甘肃省庆阳市)分组解读第一篇:分组规则总述及MDCA篇
  9. gdal坐标转换总结(转换)
  10. android gif播放卡顿,PhotoView播放gif卡顿