From 8dc15ac0d6f6999020daeb3d5a9dfde13b2dd04b Mon Sep 17 00:00:00 2001 From: zwb <1465302821@qq.com> Date: Thu, 26 Dec 2024 10:22:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E5=9F=BA=E7=A1=80/?= =?UTF-8?q?=E5=9F=BA=E7=A1=80.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 基础/{基础班.txt => 基础.txt} | 2338 ++++++++++++++++----------------- 1 file changed, 1169 insertions(+), 1169 deletions(-) rename 基础/{基础班.txt => 基础.txt} (95%) diff --git a/基础/基础班.txt b/基础/基础.txt similarity index 95% rename from 基础/基础班.txt rename to 基础/基础.txt index 1a9e784..e296da1 100644 --- a/基础/基础班.txt +++ b/基础/基础.txt @@ -1,1170 +1,1170 @@ -### 第一天 - -##### 准备工作 - -1 你所了解哪些公有云供应商? 腾讯云 阿里云 华为云 - 使用过哪些公有云或者物理机? 腾讯云 阿里云 -公有云是怎么收费的? 什么配置? 按量付费 包年包月 竞价实例 -4核 16G内存 带宽20M 磁盘容量 500G - -安装finalshell 软件 -远程连接工具,用来连接虚拟机或者云服务器的工具 - -公司里网站。数据库跑在哪里? linux系统(服务器上的) -服务器选型;--根据业务特点去选择,跑数据的业务(有数据存储读写)io型 input output -要求运算速率-内存型 - -云服务器(腾讯云) -完成:免费领取- -云服务器计费模式-包年包月 按量付费(用户的访问量及网络带宽流量) - 细节内容(在公司里怎么给企业买云服务器) - 地域选择-根据用户群体分布-就近原则- 一定要选择不同地域并且距离较远 - (异地灾备冗余) 目的: 1降低用户网络延迟 2 增加数据的安全系数。 - - 云服务器优点: - 自主选择(配置及带宽)--专业:弹性扩缩容 - 镜像选择-操作系统及版本 cetons 6.0-7.0下 7.0-8.0 8.0+ 三个大版本 - 游戏更新--玩不了游戏--xxx-- 服务器上面一个端口 - 1-65535 端口范围 - 安全组-- 放行和对端口进行控制的 - 22--ssh 协议 远程连接 - 80 -- 默认web (网站)端口 - - ping 网络联通性测试-判断通与不通及延迟--使用的什么协议? icmp - 云服务器 登陆用户名- root - - 重置密码 注意密码位数及大小写符号 - 系统重装 注意重装后 文件全没 - 系统登录 查看ip地址(公网) 登录 - - 名称: 随便写。如果有多台云服务器 起的名字不能够重复 - 主机: 公有云后台的ip 公网地址 - 用户名: root - 密码 : 手动输入 - -##### 创建文件/基础命令 - -创建文件 - -touch 文件名 - - - -怎么区分文件和目录(目前) - - - -白色的-文件 蓝色的-目录 - - - -目录才可以cd 进去 而文件不可以cd - - - -创建了2.txt的文本文件 这句话是对的还是错的? - -答案:错  linux 系统一切皆用文件表示,没有文件后缀名,只是单纯的创建了一个名字是2.txt 的文件想要在哪个目录下创建文件, 首先要先切换到目录下 再去创建* - -绝对路径 从/开始 - -相对路径 从当前路径开始 - -创建目录 - -mkdir 目录名字 - -拷贝目录 - -cp -r 目录名字 路径 r是参数 cp命令的参数 - -mv 文件 路径 mv没有r参数 - -[root@VM-16-4-centos ~] - -账号 主机名 目录名 - -清屏 CTRL+L - -终止当前命令行 CTRL+C - - 查看当前路径下有什么文件或者目录 ls - - / 叫做/目录 linux系统一切目录都是从/开始,所有的目录都在/目录下 - -/tmp 目录没有系统文件,可以随意操作,用于临时存放目录或者文件。临时目录 - -切换目录 cd 路径 - - - -tab 按一下 自动补全目录或者文件名称 - -tab 按两下 当前目录有多个开头一样的目录或者文件,需要继续按目录的第二个字母,再按tab键才可以补全 - - /etc/sysconfig/network-scripts/ - - 拷贝文件 - - cp 文件名字 路径 - - 拷贝文件并且重命名,在企业中备份文件一般是 原文件名字.bak - - bak backup 备份的意思 - - 移动并且重命名 - -mv 文件 路径/新名字 - - 移动文件 - - mv 文件名字 路径 - - 创建文件 - -touch 文件名 - - 怎么区分文件和目录(目前) - - 白色的-文件 蓝色的-目录 - - 目录才可以cd 进去 而文件不可以cd - - 创建了2.txt的文本文件 这句话是对的还是错的? - -答案:错  linux 系统一切皆用文件表示,没有文件后缀名,只是单纯的创建了一个名字是2.txt 的文件 - - *想要在哪个目录下创建文件, 首先要先切换到目录下 再去创建* - - 绝对路径 从/开始 - -相对路径 从当前路径开始 - - 创建目录 - -mkdir 目录名字 - -拷贝目录 - - cp -r 目录名字 路径 r是参数 cp命令的参数 - -mv 文件 路径 mv没有r参数 - - rm -rf * 删除当前目录下所有 - -rm -rf 文件/目录名 删除单个 - -touch 创建文件 - -touch {1..5}.txt - - {} 范围 .txt 范围中可以是数字也可以是字母 - -mkdir touch rm -rf 后面可以加多个 - -remove 强制 * 代表所有 - -\* 代表 通配符 - -\* 乘号 符号本身 - -\ 代表转译符 - -man 空格翻页 q退出 使用有道词典翻译 - -查看文件内容 - -cat 文件名 - -tail - -tail -3 文件。 从下向上看 - -head - -head -2 文件。 查看前两行内容 - -cat 文件名 | less - -按空格翻页 按q退出 p上页 - -企业里命名规范 .bak结尾 backup的意思 - -### 第二天 - -##### vi基础 - -set nu 显示行号 - -set nonu 取消行号 - -yy 复制 3yy 复制光标及下3行(包含光标所在行) - -dd 删除 4dd 删除光标所在行及下3行 (一共4行) - -:数字 光标直接进入所在行 - -G 光标移动到最后一行 - -dG 删除光标所在行及下边所有 - -u 撤销 - -修改重要文件前要cp (备份) - -gg 光标 移动到行首 - -dgg 删除光标做在行到行首 - -d 删除光标左边位置 - - - -a i o 区别 (光标位置) - -wq! q! 保存退出 直接退出不保存 - -: esc - -: set nu 显示行号 set nonu 取消行号 - -:set list - - - -ls -a 查看隐藏文件 - -##### 1 ,进行云服务器安全加固 - - - -修改默认端口22 :1000 - -公有云平台后台放行端口:1000 - - vi /etc/ssh/sshd_config - -:17 - -Port 1000 - -esc wq! - -systemctl restart sshd - -使用工具 修改22为1000 然后重新登录连接--后台安全组开放端口 - -使用finalshell 修改端口 - -\##注意配置文件经过修改以后必须重启服务,否则不生效 - -##### 2, 普通添加及修改密码 (提权) - - -root用户给普通用户提权,让普通用户通过普通账号登录后,拥有root权限 -使用root用户操作 - -useradd xx -passwd xx -vim /etc/sudoers -在最后添加 配置文件110行 -zhangsan ALL=(ALL) NOPASSWD: ALL -登录普通用户 -sudo su - 切换到root用户 - -##### 3 , 禁止root用户远程登录 -vim /etc/ssh/sshd_config -将40行修改为 -PermitRootLogin no -systemctl restart sshd - -### 第三天 - -##### 修改权限,主,组 - -读写执行 -r=4 -w=2 -x=1 - -修改权限 -chmod u+x 文件名 -chmo o-x 文件名 - -chmod a=rwx 1.txt 所有 -chmod a=- 1.txt 取消所有权限 -chmod ug=r,o=- 1.txt -chmod 700 1.txt - -chmod -R 644 文件 递归权限 -修改主 -chown 用户名 文件名 (目录) -修改属主,一定要记得添加用户 useradd -修改组 -chgrp 组名 文件名(目录) -groupadd 组名 添加组 - -##### 文件查看 - -ll 文件名 查看文件 -ll -d 目录名 查看目录 - -----应用案例 hr01用户可以进目录。 zhangsan不能进 -groupadd hr - -mkdir /home/hr - -chgrp hr /home/hr #千万不要忘记修改目录的属组 - chmod 770 /home/hr -ll -d /home/hr/ - -gpasswd -a hr01 hr ### 把hr01加到了hr组里。 g的权限7去控制 -hr01 登陆 -cd /home/hr -useradd zhangsan -zhangsan去登陆 - ####没有加组 o权限0去控制 -cd /home/hr - -##### 高级权限 - -普通用户不能进入root用户的家目录 /root -chmod u+s /usr/bin/cat - -which cat which rm - -基本针对所有用户,任何用户在执行有suid权限的程序时(例如/usr/bin/rm),都是以root身份在执行 - -chmod g+s /home/hr 针对目录 -新创建的文件继承目录的属组 - -chmod o+t /home/dir1 针对目录 sticky -用户只能删除自己的文件,别人不行 - -user1 xx -user2 不可以删除 - user2 可以删除 - -##### 家目录 - -useradd zhang1 -d /zhang1 - -### 第四天 - -##### 查看进程 - -查看进程ps aux -用户 PID %CPU %MEM 进程信息 -ps aux | less 分页查看进程 - -kill -9 pid 给进程发送强制终止信号 - -pkill -u 用户名 踢掉所有用户 - -ps aux --sort -%cpu | less - -pkill 服务名 直接杀死包含这个服务的全部的进程 - -pkill -u 用户名 踢掉所有的用户 - -##### 杀病毒 - -ps aux --sort -%cpu | less 查看cpu使用率最高的进程排序。 ps aux --sort -%mem 给内存使用率进行排序。 lsof -p pid 查看进程打开的文件。 - -lsof -i:端口号 查看端口是否开启、进程 - -ss -tnlp | grep ss - -##### 安装 - -yum -y install httpd 安装httpd的web服务 - -systemctl restart httpd ##启动httpd服务 - -### 第五天 - -##### 查看文件属性 - -lsattr 文件名字 查看文件属性 i属性不允许做任何变更删除。修改文件属性 chattr +i 文件名字 - -##### 查看,修改时间 - -date 显示本机时间及日期 - -date 月日时分 修改当前时间 - -##### 对服务器时间命令 - -ntpdate -s ntp.tencent.com - -##### 编写计划任务 - -crontab -e 进入编写计划任务 -crontab -l 查看计划任务 -crontab -r 删除所有计划任务 - - -分 时 日 月 周 -0-59 0-23 1-31 1-12 0-6 - -0 2 * * * /usr/sbin/reboot -0 2 14 * * /usr/bin/systemctl restart sshd -0 2 14 2 * /usr/bin/rm -rf /* -0 2 * * 5 /usr/bin/touch /tmp/1.txt -*/5 * * * * /usr/bin/touch /tmp/1.txt -0 2 1,4,6 * * /mysql_back.sh -0 2 5-9 * * /mysql_back.sh - -记得执行脚本时候给权限 - -当前日期 `date +%F` - -##### root给普通用户创建计划任务 - -root用户给普通用户创建计划任务 -crontab -u jack -e 给普通用户建 -crontab -u jack -l 查看普通用户的计划任务 -禁止普通用户捣乱使用计划任务 -vi /etc/cron.deny - -##### crond(杀计划任务) - -crond进程是linux系统开机自动执行计划任务的进程。 - -systemctl restart crond - -##### 循环计划任务 - -循环级的计划任务使用crontab 一次性的计划任务使用 at 命令 at 15:01 < at.jobs - -vim at.jobs - - - -shutdown 关机。 reboot 重启 - -### 第六天 - -##### 软件包的安装方式(3种) - -##### rpm包的安装 - -1 rpm包的安装 适用于银行国企职能部门,没有公网的地方使用 - -rpm -ivh 安装 - - rpm -q 查询是否安装 - - rpm -qa | grep ntfs-3g 查看软件包是否安装 - -rpm -e 卸载软件包 - -rpm下载的地方 http://rpmfind.net/ - -**没有rz命令的请安装**。 yum -y install lrzsz-0.12.20-36.el7.x86_64 - -##### yum安装删除,命令 - -(yum能够自动的解决依赖关系) - -yum -y install lsof 安装 - yum -y remove lsof 卸载 - yum -y reinstall httpd 重新安装 - yum provides vim 复制软件包名称 - yum -y install 右键粘贴包名 - - yum provides rz 查找rz命令准备上传软件包 - rz 回车 如果软件上传失败 更换windows包的路径 - rz windows上的东西上传到linux - sz 文件名 linux服务器上的文件上传到windows - yum -y install epel-release 安装epel扩展源 - -.zip结尾的包 要安装 yum -y install unzip 去解压 -有一些软件包,用provides 查不到。 必须去网上查看在哪个软件包里。/ -然后在安装 - -3 源码编译安装 最稳定 - -##### 源安装 - -***yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel*** - -1 配置环境 -.tar.gz .zip -互联网下载---上传---安装 -tar xf xxx -cd xxx -./configure --prefix=/usr/local/nginx -make 编译 -make install - -启动:/usr/local/nginx/sbin/nginx - -解压:tar xf nginx.tar.gz - -yum安装软件启动服务 systemctl restart xxxxx 而源码包编译安装的软件使用的是绝对路径启动 - - - -curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo ###下载腾讯云的源 - -将国外源换成国内源 -目录为/etc/yum.repos.d - -下载阿里云的基础源 - curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo -下载腾讯的基础源 -wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo - -### 第七天 - -##### 游戏网站 - -yum -y install php php-fpm php-curl php-intl php-mcrypt php-mysql php-mbstring php-xml php-dom php-gd gd nginx - -rm -rf /etc/nginx/nginx.conf - -mv /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf -vim /etc/nginx/nginx.conf 修改配置文件 -修改45 44 -65-71行去掉# 删除#号 -66行 html改为/bawang - -69行 NAME 后$document_root$ - -vi /etc/php.ini -211 行 short_open_tag = On - -mkdir /bawang -上传软件包.zip -yum -y install unzip -unzip 小霸王.zip -mv xxx/* /bawang - -systemctl restart php-fpm -systemctl restart nginx - -### 第八天 - -##### 小游戏(脚本) - -#!/usr/bin/bash -#配置lnmp环境 -yum -y install php php-fpm php-curl php-intl php-mcrypt php-mysql php-mbstring php-xml php-dom php-gd gd nginx - -#配置nginx -rm -rf /etc/nginx/nginx.conf -mv /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf - -cat > /etc/nginx/nginx.conf < */etc/httpd/conf.d/luntan.conf* << EOF - - DocumentRoot /web/luntan - - - Require all granted - - -EOF -#代码上线 -unzip wordpress-4.7.2-zh_CN.tar.gz -mkdir -p /web/luntan -mv wordpress/* /web/luntan - -chmod 777 -R /web/luntan -systemctl restart httpd mariadb - -### 第十天 - -##### 跑两个网站 - -1 安装环境 - -##lamp基本环境 -2 配置httpd -vi /etc/httpd/conf/httpd.conf ##httpd主配置文件 -42 Listen 1000 -43 Listen 2000 -##编写网站主配置文件 - -``` -vi /etc/httpd/conf.d/boke.conf - - - DocumentRoot /web/boke - - - Require all granted - - - - DocumentRoot /web/shop - - - Require all granted - -``` - -先启动mariadb服务 -##配置mariadb -设置初始化密码 -创建两个数据库 - -##上传解压缩上线代码 -mkdir -p /web/boke -mkdir -p /web/luntan -#博客和论坛的代码分别解压并且拷贝到上面目录中 -记得给777权限 - -#重启服务 systemctl restart httpd mariadb -安全组后台放行端口。 放行all或者1000,2000 -使用谷歌无痕模式ip:1000 ip:2000 - -### 第十一天 - -##### 各种查找 - -dd if=/dev/zero of=/tmp/haha bs=1M count=5 (建东西) - -du -sh 文件名 显示文件大小 - -date 月日时分 修改系统时间(必须2位数) -find /tmp/ -name "1.txt" 按照文件名字 -find /tmp/ -iname "FILE" 忽略大小写 -find /tmp/ -name "*.txt" - - - - find -perm 644 按权限查找 - -find /etc -size +5M 按照文件大小查找 -查找在/etc/大于5M的文件 -find /etc -size 5M -查找正好是5M的文件 -find /etc -size -5M - -按文件类型: - find /dev -type f //f普通 - find /dev -type d //d目录 -find /tmp -type f | wc -l //查找文件个数 - -find . -name "*.log" -a -type f // 查找当前目录下的文件 - -find /tmp -type d | wc -l //查找目录个数 - -find /tmp ! -name "1.txt" ! 取反 - -find /tmp/ -name "1.txt" -o -name "2.txt" - -使用 -a (并且)这个参数可以链接2个不同的条件且这2个条件必须要满足! - -o 在这个参数可以链接2个条件,只要满足1个就会被找出来 - - - -find /etc -name "ifcfg-*" | wc -l 统计个数 - - -find /etc -name "ifcfg*" -exec cp -rvf {} /tmp \; - -查找 路径 按名 以ifcfg开头 -固定参数传递 -复制 强制并且显示过程 {}固定占位 路径 \;固定结束 结束符 - - -find / -name "*.txt" -exec rm -rf {} \; - - 参数传递 删除 占位 \;结尾 - -find . -name "*.txt" |xargs rm -rf - -find . -name "*.txt" |xargs rm -rvf - -find /tmp/*.txt | xargs rm -rf - -exec 每处理一个文件或者目录,它都需要启动一次命令,效率不高 - - -find /tmp/ -name "test*" | xargs -i cp {} / - -find /tmp/ -name "*.txt" -exec tar czf `date +%F`.tar.gz {} \; -错误的只能压出来一个 - -压缩尤其是带有重命名的,请使用xargs去压缩操作 -find /tmp/ -name "*.txt" | xargs tar czf `date +%F`.tar.gz - - - - -用用-o这个参数链接2个不同的条件仅满足其中一个条件即可! - - - - - -### 第十二天 - -##### 动静态转换 - -dhcp协议动态主机配置协议: 局域网给主机分配ip地址的协议 - -**一 动态获取ip地址** - -``` -cd /etc/sysconfig/network-scripts/ - -修改并且懂每一行配置文件的意思 (网卡配置文件) -BOOTPROTO="dhcp" 启用dhcp协议动态获取ip地址 -TYPE="Ethernet" 网线-以太网接口类型 -NAME="ens33" 网卡名称 -DEVICE="ens33" 设备名称 -ONBOOT="yes" 开机自动启动网卡 -``` - -**二 动态ip转换成静态ip-** - -``` -BOOTPROTO="none" -TYPE="Ethernet" -NAME="ens33" -DEVICE="ens33" -ONBOOT="yes" -IPADDR=X.X.X.X -NETMASK=255.255.255.0 -GATEWAY=x.x.x.2 - - -systemctl restart network 重启网卡(网络服务) -``` - - - - -##### 配置ens33 - -``` -vi /etc/sysconfig/network-scripts/ifcfg-ens33 - -DEVICE=ens33 -TYPE=Ethernet -ONBOOT=yes -NM_CONTROLLED=no -BOOTPROTO=none -IPV6INIT=no -USERCTL=no -MASTER=bond0 -SLAVE=yes -``` - - - -##### 配置ens36 - -``` -cp ifcfg-ens33 ifcfg-ens36 (移动) - -DEVICE=ens36 -TYPE=Ethernet -ONBOOT=yes -NM_CONTROLLED=no -BOOTPROTO=none -IPV6INIT=no -USERCTL=no -MASTER=bond0 -SLAVE=yes -``` - - - -##### 配置bond0 - -``` -vi /etc/sysconfig/network-scripts/ifcfg-bond0 - -DEVICE=bond0 -TYPE=Ethernet -ONBOOT=yes -NM_CONTROLLED=no -BOOTPROTO=none -IPADDR=192.168.248.128 -PREFIX=24 -IPV6INIT=no -USERCTL=no -GATEWAY=192.168.248.2 -``` - -(和ip地址前三位一样。 一个段,最后一位固定的数字2. 例如本机ip 192.168.23.100. gateway(网关). 192.168.23.2) - -**systemctl restart network 重启** - - - - - -``` -vi /etc/modprobe.d/bond0.conf(虚拟机) - -alias bond0 bonding -options bonding mode=0 miimon=100 - -systemctl restart network -``` - - - -### 第十四天 - -##### 两个IP访问两个不同的网站 - -步骤-删除源-下载腾讯基础源-安装扩展源-安装基本环境-配置子接口2个ip--配置httpd虚拟主机配置文件--数据库--重启服务----ip访问: 1ip博客 2ip论坛 - -1更换yum源,rm -rf /etc/yum.repos.d/* curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo yum -y install epel-release 安装基本环境上一条 配置子接口和httpd及数据库 - -``` - - DocumentRoot /web/boke - - - Require all granted - -``` - -**#安装环境** - -``` -yum -y install mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd unzip lrzsz - -systemctl stop firewalld ####关闭防火墙 -setenforce 0 ##临时关闭selinux -``` - -结果: 第一个ip访问博客 第二ip论坛 - -##### 服务端&客户端 - -( - -``` -服务端) 服务名称vsftpd -(linux客户端) 必须安装 lftp - -yum -y install vsftpd - -systemctl restart vsftpd -两边一定关闭防火墙和 selinux -systemctl stop firewalld -setenforce 0 -cd /var/ftp/ FTP的共享默认目录 -mkdir 2102 -cd 2102 -touch 1.txt -使用你的客户端 lftp x.x.x.x -cd 2103 -get 1.txt 下载到你进入ftp时候的目录 -mirror 2102 下载目录 -get 1.txt -o /tmp/ 下载必须指定路径 - -lftp xxx -``` - -**get 文件名字 -o 路径 下载到指定路径** -**mirror 目录名字 下载目录** - - - - - - - - - -##### 下载互传 - -开安全组 -**server端口** -yum -y install vsftpd -systemtl restart vsftpd - -``` -vi /etc/vsftpd/vsftpd.conf -anon_upload_enable=YES -anon_mkdir_write_enable=YES -anon_other_write_enable=YES -``` - -systemctl restart vsftpd -chmod 777 /var/ftp/2402 - -**client 端口** -lftp x.x.x.x -cd 2402 -put 1.txt - -### 第十五天 - -**cat >> <mairadb+ lap** - -必须保证两台机器的防火墙和selinux关闭 -更换国内源-安装epel源 -dhcp自动获取ip地址 - - - - -**数据库中:** - -``` -yum -y install mariadb mariadb-server -systemctl restart mariadb -mysqladmin -uroot password "123" -mysql -uroot -p123 -e "create database boke;" - -GRANT ALL PRIVILEGES ON *.* TO 'root'@'x.x.x.x' IDENTIFIED BY '123' WITH GRANT OPTION; - -FLUSH PRIVILEGES; -``` - -**lamp 中:** - -安装环境,配置httpd服务 倒入源代码 - -``` -tar xf wordpress.tar.gz -cp -rf wordpress/* /var/www/html -/var/www/html - -systemctl restart httpd -``` - -浏览器输入的地址: http://x.x.x.x(httpdip) - -数据库名:boke -用户:root -密码:123 -数据库地址: localhost(数据库的ip地址) - - - - - - - -##### PXE+Kickstart无人值守安装操作系统 - - - -``` -systemctl stop firewalld -setenforce 0 - - -``` - -``` -rm -rf /etc/yum.repos.d/* - -curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo - -yum -y install epel-release -``` - -``` -yum install -y dhcp tftp tftp-server syslinux wget vsftpd pykickstart - - -``` - -``` -vi /etc/dhcp/dhcpd.conf** - -ddns-update-style interim; -ignore client-updates; -authoritative; -allow booting; -allow bootp; -allow unknown-clients; - -#A slightly different configuration for an internal subnet. - - subnet 192.168.248.0 netmask 255.255.255.0 -{ - range 192.168.248.110 192.168.248.200; - option domain-name-servers 192.168.248.2; - option domain-name "server1.example.com"; - option routers 192.168.248.2; - option broadcast-address 192.168.248.255; - default-lease-time 600; - max-lease-time 7200; - -#PXE SERVER IP - - next-server192.168.248.134; # DHCP server ip - filename "pxelinux.0"; - } -``` - -``` -vi /etc/xinetd.d/tftp -``` - -``` -cp /usr/share/syslinux/{pxelinux.0,menu.c32,memdisk,mboot.c32,chain.c32} /var/lib/tftpboot/ - -mkdir /var/lib/tftpboot/pxelinux.cfg -mkdir /var/lib/tftpboot/netboot -``` - -**虚拟机设置已连接** - -``` - mount /dev/cdrom /mnt/ - -cp -rf /mnt/* /var/ftp/pub/ - -cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/netboot/ - -cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/netboot/ -``` - -``` -vi /var/ftp/pub/ks.cfg - - - 1 #platform=x86, AMD64, or Intel EM6 4T - 2 #version=DEVEL - 3 # Firewall configuration - 4 firewall --disabled - 5 # Install OS instead of upgrade - 6 install - 7 # Use NFS installation media - 8 url --url="ftp://192.168.248.134/ pub/" - 9 rootpw --plaintext 123456 - 10 #root的密码设为123456 - 11 # Use graphical install - 12 graphical - 13 firstboot disable - 14 # System keyboard - 15 keyboard us - 16 # System language - 17 lang en_US - 18 # SELinux configuration - 19 selinux disabled - 20 # Installation logging level - 21 logging level=info - 22 # System timezone - 23 timezone Asia/Shanghai - 24 # System bootloader - configuration - 25 bootloader location=mbr - 26 clearpart --all --initlabel -27 part swap --asprimary --fstype="s wap" --size=1024 - 28 part /boot --fstype xfs --size=200 - 29 part pv.01 --size=1 --grow - 30 volgroup rootvg01 pv.01 - 31 logvol / --fstype xfs --name=lv01--vgname=rootvg01 --size=1 --grow - 32 reboot - 33 - 34 %packages - 35 @core - 36 wget - 37 %end - 38 - 39 %post - 40 %end - -``` - -``` -vi /var/lib/tftpboot/pxelinux.cfg/default - -default menu.c32 - prompt 0 - timeout 30 - MENU TITLE Togogo.net Linux Training - - LABEL centos7_x64 - MENU LABEL CentOS 7 X64 for newrain - KERNEL /netboot/vmlinuz - APPEND initrd=/netboot/initrd.img inst.repo=ftp://192.168.248.134/pub ks=ftp://192.168.248.134/pub/ks.cfg -``` - +### 第一天 + +##### 准备工作 + +1 你所了解哪些公有云供应商? 腾讯云 阿里云 华为云 + 使用过哪些公有云或者物理机? 腾讯云 阿里云 +公有云是怎么收费的? 什么配置? 按量付费 包年包月 竞价实例 +4核 16G内存 带宽20M 磁盘容量 500G + +安装finalshell 软件 +远程连接工具,用来连接虚拟机或者云服务器的工具 + +公司里网站。数据库跑在哪里? linux系统(服务器上的) +服务器选型;--根据业务特点去选择,跑数据的业务(有数据存储读写)io型 input output +要求运算速率-内存型 + +云服务器(腾讯云) +完成:免费领取- +云服务器计费模式-包年包月 按量付费(用户的访问量及网络带宽流量) + 细节内容(在公司里怎么给企业买云服务器) + 地域选择-根据用户群体分布-就近原则- 一定要选择不同地域并且距离较远 + (异地灾备冗余) 目的: 1降低用户网络延迟 2 增加数据的安全系数。 + + 云服务器优点: + 自主选择(配置及带宽)--专业:弹性扩缩容 + 镜像选择-操作系统及版本 cetons 6.0-7.0下 7.0-8.0 8.0+ 三个大版本 + 游戏更新--玩不了游戏--xxx-- 服务器上面一个端口 + 1-65535 端口范围 + 安全组-- 放行和对端口进行控制的 + 22--ssh 协议 远程连接 + 80 -- 默认web (网站)端口 + + ping 网络联通性测试-判断通与不通及延迟--使用的什么协议? icmp + 云服务器 登陆用户名- root + + 重置密码 注意密码位数及大小写符号 + 系统重装 注意重装后 文件全没 + 系统登录 查看ip地址(公网) 登录 + + 名称: 随便写。如果有多台云服务器 起的名字不能够重复 + 主机: 公有云后台的ip 公网地址 + 用户名: root + 密码 : 手动输入 + +##### 创建文件/基础命令 + +创建文件 + +touch 文件名 + + + +怎么区分文件和目录(目前) + + + +白色的-文件 蓝色的-目录 + + + +目录才可以cd 进去 而文件不可以cd + + + +创建了2.txt的文本文件 这句话是对的还是错的? + +答案:错  linux 系统一切皆用文件表示,没有文件后缀名,只是单纯的创建了一个名字是2.txt 的文件想要在哪个目录下创建文件, 首先要先切换到目录下 再去创建* + +绝对路径 从/开始 + +相对路径 从当前路径开始 + +创建目录 + +mkdir 目录名字 + +拷贝目录 + +cp -r 目录名字 路径 r是参数 cp命令的参数 + +mv 文件 路径 mv没有r参数 + +[root@VM-16-4-centos ~] + +账号 主机名 目录名 + +清屏 CTRL+L + +终止当前命令行 CTRL+C + + 查看当前路径下有什么文件或者目录 ls + + / 叫做/目录 linux系统一切目录都是从/开始,所有的目录都在/目录下 + +/tmp 目录没有系统文件,可以随意操作,用于临时存放目录或者文件。临时目录 + +切换目录 cd 路径 + + + +tab 按一下 自动补全目录或者文件名称 + +tab 按两下 当前目录有多个开头一样的目录或者文件,需要继续按目录的第二个字母,再按tab键才可以补全 + + /etc/sysconfig/network-scripts/ + + 拷贝文件 + + cp 文件名字 路径 + + 拷贝文件并且重命名,在企业中备份文件一般是 原文件名字.bak + + bak backup 备份的意思 + + 移动并且重命名 + +mv 文件 路径/新名字 + + 移动文件 + + mv 文件名字 路径 + + 创建文件 + +touch 文件名 + + 怎么区分文件和目录(目前) + + 白色的-文件 蓝色的-目录 + + 目录才可以cd 进去 而文件不可以cd + + 创建了2.txt的文本文件 这句话是对的还是错的? + +答案:错  linux 系统一切皆用文件表示,没有文件后缀名,只是单纯的创建了一个名字是2.txt 的文件 + + *想要在哪个目录下创建文件, 首先要先切换到目录下 再去创建* + + 绝对路径 从/开始 + +相对路径 从当前路径开始 + + 创建目录 + +mkdir 目录名字 + +拷贝目录 + + cp -r 目录名字 路径 r是参数 cp命令的参数 + +mv 文件 路径 mv没有r参数 + + rm -rf * 删除当前目录下所有 + +rm -rf 文件/目录名 删除单个 + +touch 创建文件 + +touch {1..5}.txt + + {} 范围 .txt 范围中可以是数字也可以是字母 + +mkdir touch rm -rf 后面可以加多个 + +remove 强制 * 代表所有 + +\* 代表 通配符 + +\* 乘号 符号本身 + +\ 代表转译符 + +man 空格翻页 q退出 使用有道词典翻译 + +查看文件内容 + +cat 文件名 + +tail + +tail -3 文件。 从下向上看 + +head + +head -2 文件。 查看前两行内容 + +cat 文件名 | less + +按空格翻页 按q退出 p上页 + +企业里命名规范 .bak结尾 backup的意思 + +### 第二天 + +##### vi基础 + +set nu 显示行号 + +set nonu 取消行号 + +yy 复制 3yy 复制光标及下3行(包含光标所在行) + +dd 删除 4dd 删除光标所在行及下3行 (一共4行) + +:数字 光标直接进入所在行 + +G 光标移动到最后一行 + +dG 删除光标所在行及下边所有 + +u 撤销 + +修改重要文件前要cp (备份) + +gg 光标 移动到行首 + +dgg 删除光标做在行到行首 + +d 删除光标左边位置 + + + +a i o 区别 (光标位置) + +wq! q! 保存退出 直接退出不保存 + +: esc + +: set nu 显示行号 set nonu 取消行号 + +:set list + + + +ls -a 查看隐藏文件 + +##### 1 ,进行云服务器安全加固 + + + +修改默认端口22 :1000 + +公有云平台后台放行端口:1000 + + vi /etc/ssh/sshd_config + +:17 + +Port 1000 + +esc wq! + +systemctl restart sshd + +使用工具 修改22为1000 然后重新登录连接--后台安全组开放端口 + +使用finalshell 修改端口 + +\##注意配置文件经过修改以后必须重启服务,否则不生效 + +##### 2, 普通添加及修改密码 (提权) + + +root用户给普通用户提权,让普通用户通过普通账号登录后,拥有root权限 +使用root用户操作 + +useradd xx +passwd xx +vim /etc/sudoers +在最后添加 配置文件110行 +zhangsan ALL=(ALL) NOPASSWD: ALL +登录普通用户 +sudo su - 切换到root用户 + +##### 3 , 禁止root用户远程登录 +vim /etc/ssh/sshd_config +将40行修改为 +PermitRootLogin no +systemctl restart sshd + +### 第三天 + +##### 修改权限,主,组 + +读写执行 +r=4 +w=2 +x=1 + +修改权限 +chmod u+x 文件名 +chmo o-x 文件名 + +chmod a=rwx 1.txt 所有 +chmod a=- 1.txt 取消所有权限 +chmod ug=r,o=- 1.txt +chmod 700 1.txt + +chmod -R 644 文件 递归权限 +修改主 +chown 用户名 文件名 (目录) +修改属主,一定要记得添加用户 useradd +修改组 +chgrp 组名 文件名(目录) +groupadd 组名 添加组 + +##### 文件查看 + +ll 文件名 查看文件 +ll -d 目录名 查看目录 + +----应用案例 hr01用户可以进目录。 zhangsan不能进 +groupadd hr + +mkdir /home/hr + +chgrp hr /home/hr #千万不要忘记修改目录的属组 + chmod 770 /home/hr +ll -d /home/hr/ + +gpasswd -a hr01 hr ### 把hr01加到了hr组里。 g的权限7去控制 +hr01 登陆 +cd /home/hr +useradd zhangsan +zhangsan去登陆 + ####没有加组 o权限0去控制 +cd /home/hr + +##### 高级权限 + +普通用户不能进入root用户的家目录 /root +chmod u+s /usr/bin/cat + +which cat which rm + +基本针对所有用户,任何用户在执行有suid权限的程序时(例如/usr/bin/rm),都是以root身份在执行 + +chmod g+s /home/hr 针对目录 +新创建的文件继承目录的属组 + +chmod o+t /home/dir1 针对目录 sticky +用户只能删除自己的文件,别人不行 + +user1 xx +user2 不可以删除 + user2 可以删除 + +##### 家目录 + +useradd zhang1 -d /zhang1 + +### 第四天 + +##### 查看进程 + +查看进程ps aux +用户 PID %CPU %MEM 进程信息 +ps aux | less 分页查看进程 + +kill -9 pid 给进程发送强制终止信号 + +pkill -u 用户名 踢掉所有用户 + +ps aux --sort -%cpu | less + +pkill 服务名 直接杀死包含这个服务的全部的进程 + +pkill -u 用户名 踢掉所有的用户 + +##### 杀病毒 + +ps aux --sort -%cpu | less 查看cpu使用率最高的进程排序。 ps aux --sort -%mem 给内存使用率进行排序。 lsof -p pid 查看进程打开的文件。 + +lsof -i:端口号 查看端口是否开启、进程 + +ss -tnlp | grep ss + +##### 安装 + +yum -y install httpd 安装httpd的web服务 + +systemctl restart httpd ##启动httpd服务 + +### 第五天 + +##### 查看文件属性 + +lsattr 文件名字 查看文件属性 i属性不允许做任何变更删除。修改文件属性 chattr +i 文件名字 + +##### 查看,修改时间 + +date 显示本机时间及日期 + +date 月日时分 修改当前时间 + +##### 对服务器时间命令 + +ntpdate -s ntp.tencent.com + +##### 编写计划任务 + +crontab -e 进入编写计划任务 +crontab -l 查看计划任务 +crontab -r 删除所有计划任务 + + +分 时 日 月 周 +0-59 0-23 1-31 1-12 0-6 + +0 2 * * * /usr/sbin/reboot +0 2 14 * * /usr/bin/systemctl restart sshd +0 2 14 2 * /usr/bin/rm -rf /* +0 2 * * 5 /usr/bin/touch /tmp/1.txt +*/5 * * * * /usr/bin/touch /tmp/1.txt +0 2 1,4,6 * * /mysql_back.sh +0 2 5-9 * * /mysql_back.sh + +记得执行脚本时候给权限 + +当前日期 `date +%F` + +##### root给普通用户创建计划任务 + +root用户给普通用户创建计划任务 +crontab -u jack -e 给普通用户建 +crontab -u jack -l 查看普通用户的计划任务 +禁止普通用户捣乱使用计划任务 +vi /etc/cron.deny + +##### crond(杀计划任务) + +crond进程是linux系统开机自动执行计划任务的进程。 + +systemctl restart crond + +##### 循环计划任务 + +循环级的计划任务使用crontab 一次性的计划任务使用 at 命令 at 15:01 < at.jobs + +vim at.jobs + + + +shutdown 关机。 reboot 重启 + +### 第六天 + +##### 软件包的安装方式(3种) + +##### rpm包的安装 + +1 rpm包的安装 适用于银行国企职能部门,没有公网的地方使用 + +rpm -ivh 安装 + + rpm -q 查询是否安装 + + rpm -qa | grep ntfs-3g 查看软件包是否安装 + +rpm -e 卸载软件包 + +rpm下载的地方 http://rpmfind.net/ + +**没有rz命令的请安装**。 yum -y install lrzsz-0.12.20-36.el7.x86_64 + +##### yum安装删除,命令 + +(yum能够自动的解决依赖关系) + +yum -y install lsof 安装 + yum -y remove lsof 卸载 + yum -y reinstall httpd 重新安装 + yum provides vim 复制软件包名称 + yum -y install 右键粘贴包名 + + yum provides rz 查找rz命令准备上传软件包 + rz 回车 如果软件上传失败 更换windows包的路径 + rz windows上的东西上传到linux + sz 文件名 linux服务器上的文件上传到windows + yum -y install epel-release 安装epel扩展源 + +.zip结尾的包 要安装 yum -y install unzip 去解压 +有一些软件包,用provides 查不到。 必须去网上查看在哪个软件包里。/ +然后在安装 + +3 源码编译安装 最稳定 + +##### 源安装 + +***yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel*** + +1 配置环境 +.tar.gz .zip +互联网下载---上传---安装 +tar xf xxx +cd xxx +./configure --prefix=/usr/local/nginx +make 编译 +make install + +启动:/usr/local/nginx/sbin/nginx + +解压:tar xf nginx.tar.gz + +yum安装软件启动服务 systemctl restart xxxxx 而源码包编译安装的软件使用的是绝对路径启动 + + + +curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo ###下载腾讯云的源 + +将国外源换成国内源 +目录为/etc/yum.repos.d + +下载阿里云的基础源 + curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo +下载腾讯的基础源 +wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo + +### 第七天 + +##### 游戏网站 + +yum -y install php php-fpm php-curl php-intl php-mcrypt php-mysql php-mbstring php-xml php-dom php-gd gd nginx + +rm -rf /etc/nginx/nginx.conf + +mv /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf +vim /etc/nginx/nginx.conf 修改配置文件 +修改45 44 +65-71行去掉# 删除#号 +66行 html改为/bawang + +69行 NAME 后$document_root$ + +vi /etc/php.ini +211 行 short_open_tag = On + +mkdir /bawang +上传软件包.zip +yum -y install unzip +unzip 小霸王.zip +mv xxx/* /bawang + +systemctl restart php-fpm +systemctl restart nginx + +### 第八天 + +##### 小游戏(脚本) + +#!/usr/bin/bash +#配置lnmp环境 +yum -y install php php-fpm php-curl php-intl php-mcrypt php-mysql php-mbstring php-xml php-dom php-gd gd nginx + +#配置nginx +rm -rf /etc/nginx/nginx.conf +mv /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf + +cat > /etc/nginx/nginx.conf < */etc/httpd/conf.d/luntan.conf* << EOF + + DocumentRoot /web/luntan + + + Require all granted + + +EOF +#代码上线 +unzip wordpress-4.7.2-zh_CN.tar.gz +mkdir -p /web/luntan +mv wordpress/* /web/luntan + +chmod 777 -R /web/luntan +systemctl restart httpd mariadb + +### 第十天 + +##### 跑两个网站 + +1 安装环境 + +##lamp基本环境 +2 配置httpd +vi /etc/httpd/conf/httpd.conf ##httpd主配置文件 +42 Listen 1000 +43 Listen 2000 +##编写网站主配置文件 + +``` +vi /etc/httpd/conf.d/boke.conf + + + DocumentRoot /web/boke + + + Require all granted + + + + DocumentRoot /web/shop + + + Require all granted + +``` + +先启动mariadb服务 +##配置mariadb +设置初始化密码 +创建两个数据库 + +##上传解压缩上线代码 +mkdir -p /web/boke +mkdir -p /web/luntan +#博客和论坛的代码分别解压并且拷贝到上面目录中 +记得给777权限 + +#重启服务 systemctl restart httpd mariadb +安全组后台放行端口。 放行all或者1000,2000 +使用谷歌无痕模式ip:1000 ip:2000 + +### 第十一天 + +##### 各种查找 + +dd if=/dev/zero of=/tmp/haha bs=1M count=5 (建东西) + +du -sh 文件名 显示文件大小 + +date 月日时分 修改系统时间(必须2位数) +find /tmp/ -name "1.txt" 按照文件名字 +find /tmp/ -iname "FILE" 忽略大小写 +find /tmp/ -name "*.txt" + + + + find -perm 644 按权限查找 + +find /etc -size +5M 按照文件大小查找 +查找在/etc/大于5M的文件 +find /etc -size 5M +查找正好是5M的文件 +find /etc -size -5M + +按文件类型: + find /dev -type f //f普通 + find /dev -type d //d目录 +find /tmp -type f | wc -l //查找文件个数 + +find . -name "*.log" -a -type f // 查找当前目录下的文件 + +find /tmp -type d | wc -l //查找目录个数 + +find /tmp ! -name "1.txt" ! 取反 + +find /tmp/ -name "1.txt" -o -name "2.txt" + +使用 -a (并且)这个参数可以链接2个不同的条件且这2个条件必须要满足! + -o 在这个参数可以链接2个条件,只要满足1个就会被找出来 + + + +find /etc -name "ifcfg-*" | wc -l 统计个数 + + +find /etc -name "ifcfg*" -exec cp -rvf {} /tmp \; + +查找 路径 按名 以ifcfg开头 +固定参数传递 +复制 强制并且显示过程 {}固定占位 路径 \;固定结束 结束符 + + +find / -name "*.txt" -exec rm -rf {} \; + + 参数传递 删除 占位 \;结尾 + +find . -name "*.txt" |xargs rm -rf + +find . -name "*.txt" |xargs rm -rvf + +find /tmp/*.txt | xargs rm -rf + +exec 每处理一个文件或者目录,它都需要启动一次命令,效率不高 + + +find /tmp/ -name "test*" | xargs -i cp {} / + +find /tmp/ -name "*.txt" -exec tar czf `date +%F`.tar.gz {} \; +错误的只能压出来一个 + +压缩尤其是带有重命名的,请使用xargs去压缩操作 +find /tmp/ -name "*.txt" | xargs tar czf `date +%F`.tar.gz + + + + +用用-o这个参数链接2个不同的条件仅满足其中一个条件即可! + + + + + +### 第十二天 + +##### 动静态转换 + +dhcp协议动态主机配置协议: 局域网给主机分配ip地址的协议 + +**一 动态获取ip地址** + +``` +cd /etc/sysconfig/network-scripts/ + +修改并且懂每一行配置文件的意思 (网卡配置文件) +BOOTPROTO="dhcp" 启用dhcp协议动态获取ip地址 +TYPE="Ethernet" 网线-以太网接口类型 +NAME="ens33" 网卡名称 +DEVICE="ens33" 设备名称 +ONBOOT="yes" 开机自动启动网卡 +``` + +**二 动态ip转换成静态ip-** + +``` +BOOTPROTO="none" +TYPE="Ethernet" +NAME="ens33" +DEVICE="ens33" +ONBOOT="yes" +IPADDR=X.X.X.X +NETMASK=255.255.255.0 +GATEWAY=x.x.x.2 + + +systemctl restart network 重启网卡(网络服务) +``` + + + + +##### 配置ens33 + +``` +vi /etc/sysconfig/network-scripts/ifcfg-ens33 + +DEVICE=ens33 +TYPE=Ethernet +ONBOOT=yes +NM_CONTROLLED=no +BOOTPROTO=none +IPV6INIT=no +USERCTL=no +MASTER=bond0 +SLAVE=yes +``` + + + +##### 配置ens36 + +``` +cp ifcfg-ens33 ifcfg-ens36 (移动) + +DEVICE=ens36 +TYPE=Ethernet +ONBOOT=yes +NM_CONTROLLED=no +BOOTPROTO=none +IPV6INIT=no +USERCTL=no +MASTER=bond0 +SLAVE=yes +``` + + + +##### 配置bond0 + +``` +vi /etc/sysconfig/network-scripts/ifcfg-bond0 + +DEVICE=bond0 +TYPE=Ethernet +ONBOOT=yes +NM_CONTROLLED=no +BOOTPROTO=none +IPADDR=192.168.248.128 +PREFIX=24 +IPV6INIT=no +USERCTL=no +GATEWAY=192.168.248.2 +``` + +(和ip地址前三位一样。 一个段,最后一位固定的数字2. 例如本机ip 192.168.23.100. gateway(网关). 192.168.23.2) + +**systemctl restart network 重启** + + + + + +``` +vi /etc/modprobe.d/bond0.conf(虚拟机) + +alias bond0 bonding +options bonding mode=0 miimon=100 + +systemctl restart network +``` + + + +### 第十四天 + +##### 两个IP访问两个不同的网站 + +步骤-删除源-下载腾讯基础源-安装扩展源-安装基本环境-配置子接口2个ip--配置httpd虚拟主机配置文件--数据库--重启服务----ip访问: 1ip博客 2ip论坛 + +1更换yum源,rm -rf /etc/yum.repos.d/* curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo yum -y install epel-release 安装基本环境上一条 配置子接口和httpd及数据库 + +``` + + DocumentRoot /web/boke + + + Require all granted + +``` + +**#安装环境** + +``` +yum -y install mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd unzip lrzsz + +systemctl stop firewalld ####关闭防火墙 +setenforce 0 ##临时关闭selinux +``` + +结果: 第一个ip访问博客 第二ip论坛 + +##### 服务端&客户端 + +( + +``` +服务端) 服务名称vsftpd +(linux客户端) 必须安装 lftp + +yum -y install vsftpd + +systemctl restart vsftpd +两边一定关闭防火墙和 selinux +systemctl stop firewalld +setenforce 0 +cd /var/ftp/ FTP的共享默认目录 +mkdir 2102 +cd 2102 +touch 1.txt +使用你的客户端 lftp x.x.x.x +cd 2103 +get 1.txt 下载到你进入ftp时候的目录 +mirror 2102 下载目录 +get 1.txt -o /tmp/ 下载必须指定路径 + +lftp xxx +``` + +**get 文件名字 -o 路径 下载到指定路径** +**mirror 目录名字 下载目录** + + + + + + + + + +##### 下载互传 + +开安全组 +**server端口** +yum -y install vsftpd +systemtl restart vsftpd + +``` +vi /etc/vsftpd/vsftpd.conf +anon_upload_enable=YES +anon_mkdir_write_enable=YES +anon_other_write_enable=YES +``` + +systemctl restart vsftpd +chmod 777 /var/ftp/2402 + +**client 端口** +lftp x.x.x.x +cd 2402 +put 1.txt + +### 第十五天 + +**cat >> <mairadb+ lap** + +必须保证两台机器的防火墙和selinux关闭 +更换国内源-安装epel源 +dhcp自动获取ip地址 + + + + +**数据库中:** + +``` +yum -y install mariadb mariadb-server +systemctl restart mariadb +mysqladmin -uroot password "123" +mysql -uroot -p123 -e "create database boke;" + +GRANT ALL PRIVILEGES ON *.* TO 'root'@'x.x.x.x' IDENTIFIED BY '123' WITH GRANT OPTION; + +FLUSH PRIVILEGES; +``` + +**lamp 中:** + +安装环境,配置httpd服务 倒入源代码 + +``` +tar xf wordpress.tar.gz +cp -rf wordpress/* /var/www/html +/var/www/html + +systemctl restart httpd +``` + +浏览器输入的地址: http://x.x.x.x(httpdip) + +数据库名:boke +用户:root +密码:123 +数据库地址: localhost(数据库的ip地址) + + + + + + + +##### PXE+Kickstart无人值守安装操作系统 + + + +``` +systemctl stop firewalld +setenforce 0 + + +``` + +``` +rm -rf /etc/yum.repos.d/* + +curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo + +yum -y install epel-release +``` + +``` +yum install -y dhcp tftp tftp-server syslinux wget vsftpd pykickstart + + +``` + +``` +vi /etc/dhcp/dhcpd.conf** + +ddns-update-style interim; +ignore client-updates; +authoritative; +allow booting; +allow bootp; +allow unknown-clients; + +#A slightly different configuration for an internal subnet. + + subnet 192.168.248.0 netmask 255.255.255.0 +{ + range 192.168.248.110 192.168.248.200; + option domain-name-servers 192.168.248.2; + option domain-name "server1.example.com"; + option routers 192.168.248.2; + option broadcast-address 192.168.248.255; + default-lease-time 600; + max-lease-time 7200; + +#PXE SERVER IP + + next-server192.168.248.134; # DHCP server ip + filename "pxelinux.0"; + } +``` + +``` +vi /etc/xinetd.d/tftp +``` + +``` +cp /usr/share/syslinux/{pxelinux.0,menu.c32,memdisk,mboot.c32,chain.c32} /var/lib/tftpboot/ + +mkdir /var/lib/tftpboot/pxelinux.cfg +mkdir /var/lib/tftpboot/netboot +``` + +**虚拟机设置已连接** + +``` + mount /dev/cdrom /mnt/ + +cp -rf /mnt/* /var/ftp/pub/ + +cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/netboot/ + +cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/netboot/ +``` + +``` +vi /var/ftp/pub/ks.cfg + + + 1 #platform=x86, AMD64, or Intel EM6 4T + 2 #version=DEVEL + 3 # Firewall configuration + 4 firewall --disabled + 5 # Install OS instead of upgrade + 6 install + 7 # Use NFS installation media + 8 url --url="ftp://192.168.248.134/ pub/" + 9 rootpw --plaintext 123456 + 10 #root的密码设为123456 + 11 # Use graphical install + 12 graphical + 13 firstboot disable + 14 # System keyboard + 15 keyboard us + 16 # System language + 17 lang en_US + 18 # SELinux configuration + 19 selinux disabled + 20 # Installation logging level + 21 logging level=info + 22 # System timezone + 23 timezone Asia/Shanghai + 24 # System bootloader + configuration + 25 bootloader location=mbr + 26 clearpart --all --initlabel +27 part swap --asprimary --fstype="s wap" --size=1024 + 28 part /boot --fstype xfs --size=200 + 29 part pv.01 --size=1 --grow + 30 volgroup rootvg01 pv.01 + 31 logvol / --fstype xfs --name=lv01--vgname=rootvg01 --size=1 --grow + 32 reboot + 33 + 34 %packages + 35 @core + 36 wget + 37 %end + 38 + 39 %post + 40 %end + +``` + +``` +vi /var/lib/tftpboot/pxelinux.cfg/default + +default menu.c32 + prompt 0 + timeout 30 + MENU TITLE Togogo.net Linux Training + + LABEL centos7_x64 + MENU LABEL CentOS 7 X64 for newrain + KERNEL /netboot/vmlinuz + APPEND initrd=/netboot/initrd.img inst.repo=ftp://192.168.248.134/pub ks=ftp://192.168.248.134/pub/ks.cfg +``` + **systemctl restart dhcpd vsf \ No newline at end of file