ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习笔记17

2022-05-15 01:03:07  阅读:181  来源: 互联网

标签:enable 17 etc database 用户 笔记 学习 vsftpd YES


Linux系统中的一切都是文件
配置服务就是修改文件
想让新的参数生效,重启对应服务
将服务添加到开机启动中

vsftpd文件传输服务
1.文件传输协议
ftp协议:在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,20端口用于进行数据传输,21端口用于接收客户端发出的相关FTP命令与参数
两种工作模式:
主动模式:FTP服务器主动向客户端发起连接请求
被动模式:FTP服务器等待客户端发起连接请求(默认工作模式)
#dnf install -y vsftpd
#iptables -F #清空防火墙策略
#iptables-save #保存当前已被清理的防火墙策略
#firewall-cmd --permanent --zone=public --add-service=ftp#将FTP协议添加到防火墙firewall服务的允许列表
#firewall-cmd --reload

vsftpd主配置文件:/etc/vsftpd/vsftpd.conf
#mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
#grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf #-v:反选,选取不包含#的行

vsftpd服务常用参数
listen=[YES|NO] 是否以独立运行的方式监听服务
listen_address=IP地址 设置监听的IP地址
listen_port=21 设置FTP服务的监听端口
download_enable=[YES|NO] 是否允许下载文件
userlist_enable=[YES|NO] 设置用户列表“允许”or“禁止”操作
userlist_deny=[YES|NO] 设置用户列表“允许”or“禁止”操作
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_enalbe=[YES|NO] 是否开发匿名用户的其他写入权限(包括重命名、删除等操作)
anon_max_rate=0 匿名用户最大传输速率,0为不限制
local_enable=[YES|NO] 是否允许本地用户登录
local_umask=022 本地用户上传文件的umask值
local_root=/var/ftp 本地用户的FTP根目录
chroot_local_user=[YES|NO] 是否将用户权限限制在FTP目录,确保安全
local_max_rate=0 本地用户最大传输速率,0为不限制
2.vsftpd服务程序
3种认证登录模式
匿名开放模式:最不安全,任何人无需密码即可登录FTP服务器
本地用户模式:Linu系统本地用户账号信息进行认证,相对于匿名开放模式安全
虚拟用户模式:FTP服务单独建立用户数据库文件,虚拟出用来进行身份验证的账户信息,这些虚拟账户信息仅用于FTP服务
#dnf install -y ftp #安装ftp客户端工具

匿名访问模式:
参数:
anonymous_enable=YES 允许匿名访问模式
anon_umask=022 匿名用户上传文件的umask值
anon_upload_enable=YES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户修改目录名称或删除目录
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#systemctl restart vsftpd
#systemctl enable vsftpd
修改默认访问目录/var/ftp权限
#ls -ld /var/ftp/pub
#chown -R /var/ftp/pub
修改selinux域策略
#getsebool -a | grep ftp #查看ftp相关域
#setbool -P ftpd_full_access=on -P:永久生效
#chmod -R 777 /var/ftp

本地用户模式:
参数:
anonymous_enable=NO 禁止匿名访问模式
local_enable=YES 允许本地用户模式
write_enable=YES 设置可写权限
local_umask=022 本地用户模式创建文件的umask值
userlist_deny=YES 启用“禁止用户名单”,名单文件为ftpusers和user_list
userlist_enable=YES 开启用户作用名单文件功能
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#systemctl restart vsftpd
#systemctl enable vsftpd
修改黑名单
#vim /etc/vsftpd/user_list 删除要使用的本地用户
#vim /etc/vsftpd/ftpusers 删除要使用的本地用户
修改selinux域策略
#getsebool -a | grep ftp
#setseboot -P ftpd_full_access=on

虚拟用户模式:
第一步:重新安装vsftpd服务,创建ftp认证用户数据库文件
#dnf install -y vsftpd
#cd /etc/vsftpd/
#vim vuser.list
用户名
#db_load -T -t hash -f vuser.list vuser.db 哈希加密
#chmod 600 vuser.db
#rm -f vuser.list
第二步:创建存储文件的根目录及虚拟用户
#useradd -d /var/ftproot -s /sbin/nologin virtual
#ls -ld /var/ftproot/
#chmod -Rf 755 /var/ftproot/
第三步:建立用于支持虚拟用户的PAM文件
PAM:可插拔认证模块,是一种认证机制,通过一些动态链接库和统一的API把系统提供的服务与认证方式分开,使得系统管理员可以根据需求灵活调整服务程序的不同认证方式
新建一个用于虚拟用户认证的PAM文件vsftpd.vu,其中PAM文件内的"db="参数为使用db_load命令生成的账号密码数据库文件路径
#vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
第四步:在vsftpd服务程序的主配置文件中通过pam_service_name参数将PAM认证文件修改为vsftpd.vu
利用PAM文件进行认证时使用的参数:
anonymous_enable=NO 禁止匿名开发模式
local_enable=YES 允许本地用户模式
guest_enable=YES 开启虚拟用户模式
guest_username=virtual 指定虚拟用户账号
pam_service_name=vsftpd.vu 指定PAM文件
allow_writeable_chroot=YES 允许对禁锢的FTP根目录执行写入操作,且不拒绝用户的登录请求
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES
pam_service_name=vsftpd.vu
第五步:为虚拟用户设置不同的权限
#mkdir /etc/vsftpd/vusers_dir/
#cd /etc/vsftpd/vusers_dir/
#touch 虚拟用户
修改vsftpd主配置文件
#vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
#systemctl restart vsftpd
#systemctl enable vsftpd
第六步:设置SELinux域允许策略
#getsebool -a | grep ftp
#setsebool -P ftpd_full_access=on

使用不同方式登录后所在的位置:
匿名公开 /var/ftp
本地用户 该用户的家目录
虚拟用户 对应映射用户的家目录

3.TFTP:简单文件传输协议,是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议,不复杂、开销不大,端口号69
#dnf install -y tftp-server tftp xinetd #xinetd服务程序用于管理TFTP服务,xinetd服务可以管理多种轻量级网络服务,且具有强大的日志功能
tftp配置文件默认不存在,需根据示例文件(/var/share/doc/xinetd/sample.conf)创建
#vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
#systemctl restart tftp
#systemctl enable tftp
#systemctl restart xinetd
#systemctl enable xinetdl
#firewall-cmd --zone=public --permanent --add-port=69/udp
#firewall-cmd reload
tftp命令中可用的参数:
? 帮助信息
put 上传文件
get 下载文件
verbose 显示详细的处理信息
status 显示当前的状态信息
binary 使用二进制进行传输
ascii 使用ASCII码进行传输
timeout 设置重传的超时时间
quit 退出


Samba文件共享服务
SMB:server messages block,服务消息块协议
#def install -y samba samba-client
#vim /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam

认证方式:
share:无需验证密码
user:使用账号密码,默认
domain:域控制器进行身份认证
server:使用独立主机验证来访用户提供的密码,集中管理账号
配置共享资源:
参数:
[database] 共享名称为database
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享目录为/home/database
public = no 关闭“所有人可见”
writable = yes 允许写入操作
第一步:创建访问账号信息
pdbedit命令用于管理Samba服务程序的账号信息数据库
-a 用户名 建立Samba用户
-x 用户名 删除Samba用户
-L 列出用户列表
-Lv 列出用户信息信息的列表
#pdbeidt -a -u linuxprobe
第二步:创建用于共享资源的文件目录
#mkdir /home/database
#chown -Rf linuxprobe:linuxprobe /home/database
#semanage fcontext -a -t samba_share_t /home/database
#restorecon -Rv /home/database
第三步:设置SELinux服务与策略
#getsebool -a | grep samba
#setseboot -P samba_enable_home_dirs=on
第四步:配置主配置文件
#vim /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
[database]
comment = Do not arbitrarily modify the database file
path = /home/database
public = no
writable = yes
第五步:重启服务
#systemctl restart smb
#systemctl enable smb
#iptables -F
#iptables-save
#firewall-cmd --zone=public --permanent --add-service=samba
#firewall-cmd --reload
第六步:查看Samba服务状态
#systemctl status smb
smbclient命令可以查看共享详情
参数:
-U:指定用户名称
-L:列出共享清单

Windows挂载共享
Linux挂载共享:
#dnf install -y cifs-utils #安装支持文件共享服务的软件包
创建一个用于挂载Samba服务共享资源的目录
#mkdri /database
#mount -t cifs -o username=linuxprobe,password=redhat //192.168.1.10/database /database
让/etc/fstab文件和系统自动挂载
#vim auth.smb
username=linuxprobe
password=redhat
domain=SAMBA
#chmod 600 auth.smb
#vim /etc/fstab
//192.168.1.10/database database cifs credentials=/root/auth.smb 0 0
#mount -a

 

标签:enable,17,etc,database,用户,笔记,学习,vsftpd,YES
来源: https://www.cnblogs.com/pubstudy/p/16272062.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有