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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值