移动端网站建设需要注意哪些问题,wordpress图片弹窗,wordpress更改ip地址后图片处理,手机 互动网站案例笔记所以内容很多#xff0c;建议选择性看看 SSH Secure Shell 用于与服务器建立安全的连接 对应服务 sshd
注意#xff1a;配置文件 配制文件修改需要重启或重载sshd服务才能生效
systemctl sshd reload # 重载 sshd 配置文件
systemctl sshd restart # 重启 ssh… 笔记所以内容很多建议选择性看看 SSH Secure Shell 用于与服务器建立安全的连接 对应服务 sshd
注意配置文件 配制文件修改需要重启或重载sshd服务才能生效
systemctl sshd reload # 重载 sshd 配置文件
systemctl sshd restart # 重启 sshd 服务客户端配置文件
man ssh_config 可以查看对应说明文档一般无需更改/etc/ssh/ssh_config OpenSSH SSH client configuration files~/.ssh/known_hosts 记录了登录过的IP和指纹~/.ssh/config 针对用户的SSH配置~/.ssh/authorized_keys 记录公钥用于允许记录公钥的服务器通过指定用户免密登录
服务端配置文件
man sshd_config 可以查看对应说明文档/etc/ssh/sshd_config OpenSSH SSH daemon configuration file主要配置Port 22 可以自定义sshd服务端口ListenAddress 0.0.0.0 定义sshd监听PermitRootLogin no 是否允许root登录默认允许Banner /etc/motd 登录后的提示信息UseDNS no 禁用DNS解析ssh连接会快很多UsePAM yes 加载PAM模块用于用户认证
登录方式
ssh remote_userip -p port # 登录远程的用户仅IP是用当前用户不带端口默认22ssh -t -o StrictHostKeyCheckingno # 加这俩参数可以跳过指纹确认可用于免密登录-o 可以带选项StrictHostKeyCheckingno 跳过指纹确认自动加入-t 强制使用tty会话scp 也可以用上述参数man ssh 查看更多 注意
UseDNS 配置成yesssh会在连接时使用反向地址解析无法解析时会导致连接很慢10s?如果有编辑/etc/hosts.deny 或者 /etc/hosts.allow ssh连接也会变慢 FTP File Transfer Protocol 文件传输协议 FTP工作模式
主动模式
FTP服务器主动向客户端发起连接请求因为服务器可以主动连接到客户端从而减少了延迟
流程
FTP 客户端先建立与服务端21的连接客户端发送PORT 命令告诉服务器客户端的 IP 地址和端口号服务器收到 PORT 命令后服务端就会打开一个数据连接到客户端的 IP 地址和端口号客户端随后发送 STOR 命令告知服务端需要的文件服务器收到 STOR 命令后它就会开始向客户端发送数据客户端收到数据后它就会将其写入本地文件一旦客户端完成接收数据它就会关闭与服务器的连接
命令端口21 用于发送命令和控制文件传输
数据端口20 数据连接端口
被动模式
FTP 服务器等待客户端发起连接请求 FTP 的默认工作模式
流程
FTP 客户端先请求服务端21口建立连接客户端发送 PASV 命令告诉服务器让它打开一个数据连接服务器收到 PASV 命令后会向客户端发送数据连接信息通常包括服务器的 IP 地址和端口号客户端打开一个数据连接到服务器的 IP 地址和端口号客户端随后发送 STOR 命令告诉服务器它要上传一个文件服务器收到 STOR 命令后它就会开始向客户端发送数据客户端收到数据后它就会将其写入本地文件一旦客户端完成接收数据它就会关闭与服务器的连接
命令端口21 用于发送命令和控制文件传输
数据端口由服务器动态分配通常在 49152-65535 范围内
服务
vsftpd very secure ftp daemon非常安全的 FTP 守护进程
软件
vsftpd 认证模式 匿名开放模式 不认证 不安全 本地用户模式 通过本地账户认证 不太安全 虚拟用户模式 FTP服务器创建用户数据库提供用户认证
ftp Linux 系统中以命令行界面的方式来管理 FTP 传输服务的客户端工具
lftp 功能更多的客户端
配置文件
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/user_list FTP特定的本地用户列表能否登录取决于userlist_denyNO/YES
/etc/vsftpd/ftpusers 不允许登录FTP的用户列表
/etc/vsftpd/xxx.db 应该是虚拟用户的账号文件
/etc/vsftpd/xxx_dir 这里可能有虚拟用户权限设置以用户名命名的文件里面是权限
服务器端配置
1、清理防火墙
iptables -F
service iptables save
2、编辑配置文件
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
grep -v # /etc/vsftpd/vsftpd.conf_bak /etc/vsftpd/vsftpd.conf
3、常用参数
listen[YES|NO] 是否以独立运行的方式监听服务
listen_addressIP 地址 设置要监听的 IP 地址
listen_port21 设置 FTP 服务的监听端口
download_enable [YES|NO] 是否允许下载文件
userlist_enable[YES|NO] 设置用户列表为“允许”还是“禁止”操作
userlist_deny[YES|NO]max_clients0 最大客户端连接数 0 为不限制
max_per_ip0 同一 IP 地址的最大连接数 0 为不限制
anonymous_enable[YES|NO] 是否允许匿名用户访问
anon_upload_enable[YES|NO] 是否允许匿名用户上传文件
anon_umask022 匿名用户上传文件的 umask 值
anon_root/var/ftp 匿名用户的 FTP 根目录
anon_mkdir_write_enable[YES|NO] 是否允许匿名用户创建目录
anon_other_write_enable[YES|NO] 是否开放匿名用户的其他写入权限包括重命名、删除等操作权限
anon_max_rate0 匿名用户的最大传输速率字节/秒 0 为不限制
local_enable[YES|NO] 是否允许本地用户登录 FTP
local_umask022 本地用户上传文件的 umask 值
local_root/var/ftp 本地用户的 FTP 根目录
chroot_local_user[YES|NO] 是否将用户权限禁锢在 FTP 目录以确保安全
local_max_rate0 本地用户最大传输速率字节/秒 0 为不限制 4、配置模式
匿名模式 2.3.5后增加安全检查会有报错暂未解决
vim /etc/vsftpd/vsftpd.conf 添加如下配置
anonymous_enableYES
anon_umask022
anon_upload_enableYES
anon_mkdir_write_enableYES
anon_other_write_enableYES
allow_writeable_chrootYES
重启vsftpd 服务将FTP设置的根目录拥有者设置成ftp用户或者vsftpd用户名anonymous 密码空
本地用户模式 实测成功
vim /etc/vsftpd/vsftpd.conf 进行如下配置
anonymous_enableNO
local_enableYES
write_enableYES
local_umask022
dirmessage_enableYES
xferlog_enableYES
connect_from_port_20YES
xferlog_std_formatYES
listenNO
listen_ipv6YES
pam_service_namevsftpd
userlist_enableYES重启vsftpd 服务本地用户登录进入自己的家目录
注意
本地用户的逻辑是需要改用户可以登录要先进行登录认证才进行是否有权限访问的认证
winscp 默认超时时长15s如有需要可以增加时长
虚拟用户模式 测试成功
1、创建用于进行 FTP 认证的用户数据库文件奇数行为账户名偶数行为密码vi /etc/vsftpd/vuser.listzhangsanredhatlisiredhat2、加密明文用户数据库cd /etc/vsftpddb_load -T -t hash -f vuser.list vuser.dbfile vuser.db 查看文件类型书里vuser.db: Berkeley DB (Hash, version 9, native byte-order)实测vuser.db: , created: Thu Jan 1 00:34:08 1970chmod 600 vuser.dbrm -f vuser.list3、创建 vsftpd 服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户useradd -d /var/ftproot -s /sbin/nologin virtualls -ld /var/ftproot/chmod -Rf 755 /var/ftproot/4、建立用于支持虚拟用户的 PAM 文件4.1 新建一个用于虚拟用户认证的 PAM 文件 vsftpd.vuvim /etc/pam.d/vsftpd.vuauth required pam_userdb.so db/etc/vsftpd/vuseraccount required pam_userdb.so db/etc/vsftpd/vuser其中 PAM 文件内的“db”参数为使用 db_load 命令生成的账户密码数据库文件的路径但不用写数据库文件的后缀5、设置pam_service_name 参数定义PAM认证文件vim /etc/vsftpd/vsftpd.conf 编辑如下内容anonymous_enableNOlocal_enableYESguest_enableYESguest_usernamevirtualallow_writeable_chrootYESwrite_enableYESlocal_umask022dirmessage_enableYESxferlog_enableYESconnect_from_port_20YESxferlog_std_formatYESlistenNOlisten_ipv6YESpam_service_namevsftpd.vuuserlist_enableYES解释默认就带有参数 pam_service_namevsftpd会使用/etc/pam.d/vsftpd进行认证现在需要修改成上面新建的认证文件guest_usernamevirtual 指定了虚拟用户登录进来时使用的用户6、为虚拟用户设置不同的权限6.1 创建文件写入权限mkdir /etc/vsftpd/vusers_dir/cd /etc/vsftpd/vusers_dir/touch lisivim zhangsananon_upload_enableYESanon_mkdir_write_enableYESanon_other_write_enableYES不建同名文件就是默认的权限就是没权限6.2 修改配置文件vim /etc/vsftpd/vsftpd.conf 编辑如下内容user_config_dir/etc/vsftpd/vusers_dir6.3 重启vsftpd7、测试可用性ftp ftpip输入用户名密码
8、使用ftpuser username 切换用户好像虚拟用户切换不支持不过好像成功了一次ftpexit 退出
9、报错可能服务器重启服务了421 Service not available, remote server has closed connection ls没看到文件很大可能是当前目录没有文件尝试建一个试试 NFS Network File System 网络文件系统一般用于文件共享Windows的共享是CIFS如需挂载到Windows 需要搭建samba服务 软件
nfs-utils 一般会默认安装如果没安装无法挂载NFS
有多个版本每个版本的同步方式数据一致性以及性能都有所区别
服务
nfs-server
服务端搭建步骤
1、清除防火墙策略 一般没有
iptables -F
service iptables save
2、建立共享目录
mkdir /nfsfile
chmod -Rf 777 /nfsfile
echo welcome to nfs /nfsfile/readme
3、编辑配置文件
vi /etc/exports
ro 只读
rw 读写
root_squash 当 NFS 客户端以 root 管理员访问时映射为 NFS 服务器的匿名用户
no_root_squash 当 NFS 客户端以 root 管理员访问时 映射为 NFS 服务器的 root 管理员
all_squash 无论 NFS 客户端使用什么账户访问均映射为 NFS 服务器的匿名用户
sync 同时将数据写入到内存与硬盘中保证不丢失数据
async 优先将数据保存到内存然后再写入硬盘这样效率更高但可能会丢失数据文件内容 请注意 NFS 客户端地址与权限之间没有空格
/nfsfile 192.168.x.x(rw,sync,root_squash)共享目录 允许访问的主机IP(配置项1,配置项2...)exportfs -v 查看当前的配置
exportfs -r 重新导入配置
4、启动并启用NFS服务程序
systemctl restart rpcbind
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server
注意
在使用 NFS 服务进行文件共享之前需要RPC Remote Procedure Call远程过程调用服务将 NFS 服务器的 IP 地址和端口号等信息发送给客户端NFS在创建文件时网络包会附带UID到NFS服务器上面所以建议所有客户端的UID尽量保持一致避免出现创建文件后不同客户端属主不同的情况
客户端配置步骤
1、showmount 查看NFS远程共享信息
showmount -e 192.168.x.x参数-e 显示 NFS 服务器的共享列表-a 显示本机挂载的文件资源的情况
2、挂载NFS
yum install -y mount.nfs nfs-utils
mkdir /nfsfile
mount -t nfs 192.168.x.x:/nfsfile /nfsfile3、如果需要长期挂载
方式一 编辑/etc/fstab 192.168.x.x:/nfsfile /nfsfile nfs defaults 0 0
方式二 编辑/etc/rc.localmount -t nfs 192.168.x.x:/nfsfile /nfsfile
客户端解除挂载
umount.nfs 挂载点
或
umount 挂载点
遇到问题
1umount.nfs: /nfsfile: device is busy 是由于该目录在使用或者工作目录在这个目录下
处理办法可以使用lsof 或 fuser 排查正在使用的文件的相关进程退出挂载目录并清理仍在访问NFS的进程后再进行卸载即可
2如果服务端的NFS异常客户端会出现df 命令卡住的情况可以mount命令查看挂载情况
处理办法先解决服务端问题然后卸载后重新挂载即可 mail 邮件服务目前工作中邮件都是Windows Server 的邮件托管没在用这个自带的 本地mail相关文件 /etc/aliases 邮件用户别名文件修改后执行newaliases更新可以代收别名邮件 /etc/mail.rc 本地邮件配置文件 /var/spool/mail/username 邮件存储文件
mail命令 echo mail content |mail -s mail title mail_address/user HTTP Hypertext Transfer Protocol 超文本传输协议不常用 Apache服务httpd
Apache软件httpd
配置文件 服务目录 /etc/httpd 主配置文件 /etc/httpd/conf/httpd.conf 网站数据目录 /var/www/html 访问日志 /var/log/httpd/access_log 错误日志 /var/log/httpd/error_log
配置文件参数
cat /etc/httpd/conf/httpd.confServerRoot 服务目录ServerAdmin 管理员邮箱User 运行服务的用户Group 运行服务的用户组ServerName 网站服务器的域名DocumentRoot 网站数据目录Directory 网站数据目录的权限Listen 监听的 IP 地址与端口号DirectoryIndex 默认的索引页页面ErrorLog 错误日志文件CustomLog 访问日志文件Timeout 网页超时时间默认为 300 秒
DHCP Dynamic Host Configuration Protocol动态主机配置协议 用于管理和分配IP信息以前学校实训搭建的Windows的DHCP 软件
dhcp
服务
dhcpd
服务器端配置文件 /etc/dhcp/dhcpd.conf 服务端配置案例
1、配置文件
vim /etc/dhcp/dhcpd.conf
ddns-update-style none; 设置 DNS 服务不自动进行动态更新
ignore client-updates; 忽略客户端更新 DNS 记录
subnet 192.168.10.0 netmask 255.255.255.0 { 作用域为 192.168.10.0/24 网段
range 192.168.10.50 192.168.10.150; IP 地址池为 192.168.10.50-150约 100 个 IP 地址
option subnet-mask 255.255.255.0; 定义客户端默认的子网掩码
option routers 192.168.10.1; 定义客户端的网关地址
option domain-name aaa.com; 定义默认的搜索域
option domain-name-servers 192.168.10.1; 定义客户端的 DNS 地址
default-lease-time 21600; 定义默认租约时间单位秒
max-lease-time 43200; 定义最大预约时间单位秒
host aaa { 需要绑定MAC地址的主机名此段可以忽略
hardware ethernet 00:0c:29:27:c6:12; 网卡MAC地址
fixed-address 192.168.10.88; 绑定的IP
}
}
2、启动服务
systemclt enable dhcpd
systemctl start dhcpd
3、测试
网卡配置dhcp模式就会自己在局域网中寻找可用DHCP服务器无需客户端额外配置
4、日志文件
使用系统日志文件/var/log/messages会包含分配的地址和获取IP的MAC地址等信息 DNS Domain Name System 用于管理域名和IP的映射关系 客户端配置文件
修改立即生效 /etc/resolv.conf /etc/hosts 软件
bind-chroot
服务
named
服务端配置
配置文件
主配置文件 /etc/named.conf 定义 bind 服务程序的运行
区域配置文件 /etc/named.rfc1912.zones 保存域名和 IP 地址对应关系的所在位置
数据配置文件目录 /var/named 保存域名和 IP 地址真实对应关系的数据配置文件
正向解析配置步骤
1、编辑主配置文件
将11行和17行地址改为any为所有IP提供服务允许所有IP请求本DNS
listen-on port 53 { any; };
allow-query { any; };
2、编辑区域配置文件
vim /etc/named.rfc1912.zones
zone aaa.com IN {
type master;
file aaa.com.zone;
allow-update {none;};
};
named-checkconf 检查配置文件语法和参数
3、编辑数据配置文件
cd /var/named/
ls -al named.localhost
cp -a named.localhost aaa.com.zone
vim aaa.com.zone$TTL 1D #生存周期为 1 天 IN SOA aaa.com. root.aaa.com. (DNS区域地址 管理员邮箱0 ; serial #更新序列号1D ; refresh #更新时间1H ; retry #更新时间1W ; expire #失效时间3H ) ; minimum #无效解析记录的缓存时间NS ns.aaa.com. #域名服务器记录A 192.168.10.10 #地址记录 ns.aaa.com.AAAA ::1named-checkzone 检查数据配置文件语法和参数
systemctl restart named 4、验证结果
修改/etc/resolv.conf 添加新建DNS地址
nslookup aaa.com 测试正向解析
反向解析配置步骤
1、配置区域配置文件
vim /etc/named.rfc1912.zones
zone aaa.com IN {
type master;
file aaa.com.zone;
allow-update {none;};
};
zone 10.168.192.in-addr.arpa IN {
type master;
file 192.168.10.arpa;
};
named-checkconf 检查配置文件语法和参数
2、配置数据配置文件
cp -a named.loopback 192.168.10.arpa
vim 192.168.10.arpa
$TTL 1DIN SOA aaa.com. root.aaa.com. (0;serial1D;refresh1H;retry1W;expire3H );minimum
NS ns.aaa.com.
ns A 192.168.10.10
10 PTR ns.aaa.com. #PTR 为指针记录仅用于反向解析
10 PTR mail.aaa.com.
10 PTR www.aaa.com.
20 PTR bbs.aaa.com.
named-checkzone 检查数据配置文件语法和参数
systemctl restart named
3、检查测试
nslookup IP 测试反向解析