Linux
linux最小化安装
linux最小化安装完是无法使用 ifconfig 以及vim的
vim自己 yum Install vim即可
ifconfig可以通过 yum search ifconfig
根据推荐的安装包,yum install安装即可
还有一种方法是,通过ip addr
即可查询当前系统的网卡信息
最小化安装图形界面 fwupdate-efi 与 grub2-common 冲突
在CentOS-7Minimal系统中使用命令如下命令yum groupinstall -y "GNOME Desktop"安装 图形界面时提示:fwupdate-efi 与 grub2-common 冲突 ,
这是由于grub2-common包的冲突,所以要将该包使用yum update grub2-commonn命令进行更新。
解决方法:
yum update grub2-common
yum install fwupdate-efi
成功后再次执行yum groupinstall -y “GNOME Desktop”
更新系统的运行级别。
# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
然后就无法操作命令了
在vm里重启该虚拟机,然后出现了这个,
现在我看到他,感觉真是愈加的亲切了,当然只需要用命令行的大佬可以忽略~~~~
http://www.cnblogs.com/xiaoyongcq/p/10117256.html
linux文件管理
三种文件类型
- 普通文件
以字节为单位的数据流
文本文件、源码文件、可执行文件等
对普通文件的解释由处理该文件的应用程序进行 - 目录文件
包含普通文件和特殊文件,文件夹 - 设备文件
Linux 与外部设备(例如光驱,打印机,终端,modern等)是通过一种被称为设备文件的文件来进行通信。Linux 输入输出到外部设备的方式和输入输出到一个文件的方式是相同的。
设备文件有两种类型:字符设备文件和块设备文件。
- 字符设备文件以字母"c"开头。字符设备文件向设备传送数据时,一次传送一个字符。典型的通过字符传送数据的设备有终端、打印机、绘图仪、modern等。字符设备文件有时也被称为"raw"设备文件。
- 块设备文件以字母"b"开头。块设备文件向设备传送数据时,先从内存中的buffer中读或写数据,而不是直接传送数据到物理磁盘。磁盘和CD-ROMS既可以使用字符设备文件也可以使用块设备文件。
文件管理相关命令
ls -l
ls -a
ls ch*.txt
ls he?.txt
元字符
元字符是具有特殊含义的字符。* 和 ? 都是元字符:
- 可以匹配 0 个或多个任意字符;
- ? 匹配一个字符。
创建文件
vi filename
touch filename
查看文件
cat filename
cat -b filename 显示行号
统计单词数目
wc filename
复制文件
cp source_file destination_file
重命名文件
mv filename newfile
删除文件
rm filename
创建目录
mkdir dirname
mkdir -p /tmp/amrood/test
删除目录
rmdir dirname
更换目录
cd dirname
目录重命名
mv olddir newdir
linux mount挂载 fdisk磁盘管理工具的简单使用
在linux系统中挂载使用光盘
1. 在vmware虚拟机中配置光驱使用ISO光盘映像
2. 使用mount命令把光盘挂载到/mnt/cdrom
mount /dev/cdrom /mnt/cdrom
3. 查看光盘内容
4. 使用umonut命令卸载光盘
umount /mnt/cdrom 注意不要在挂载的目录里卸载
5. 使用mount命令挂载linux系统中的ISO光盘映像
在linux系统中挂载使用U盘
1. 在主机上插入U盘
2.在linux系统中,fdisk -l 查看U盘分区信息
3. 使用mount命令把U盘分区挂载到/mnt/u
4. 查看U盘内容
5. 使用umonut命令卸载U盘
在挂载U盘时,如果你的U盘之前做过U启的话,格式是NTFS,linux默认是不是别的,需要安装一个ntfs-3g包,百度经验里就有 :)
https://jingyan.baidu.com/article/0964eca21756ab8285f536d5.html
注意下载完后的步骤依次是
tar --》cd ntfs-3g --》./configure --》make --》 make install
如果 ./configure 报错,应该是没有gcc编译环境
用 yum install gcc即可解决。安装完后就可以正常访问ntfsU盘了。
管理linux系统的自动挂载
1. cat /etc/fstab查看自动挂载文件系统的列表
2. 编辑/etc/fstab文件,使得每次启动时自动挂载一个ISO映像
3. 重新启动验证挂载是否成功
在linux系统中增加新硬盘,对硬盘分区并创建文件系统,挂载文件系统
1. 在虚拟机中增加一块硬盘,容量1GB
2. 使用fdisk查看两块硬盘的分区情况
3. 使用fdisk对新硬盘分区,划分两个主分区各300MB
4. 使用mkfs对其中一个分区格式化创建文件系统
5. 建立/mnt/new目录,使用mount把分区挂载到目录下
liux权限
- 访问模式
文件权限是Linux系统的第一道安全防线,基本的权限有读取(r/4)、写入(w/2)和执行(x/1):
读取:用户能够读取文件信息,查看文件内容。
写入:用户可以编辑文件,可以向文件写入内容,也可以删除文件内容。
执行:用户可以将文件作为程序来运行。
查看文件权限
ls -l filename
更改文件权限
chmod 777 filename/dirname
chmod +X filename/dirname
- 所有者和用户组
chown user filelist
chgrp group filelist
linux中的三种引号
三种引号,双引号、单引号和反引号
双 字符串,字符串中可以引入变量
单 就是字符串
反 执行命令
linux定时任务
linux用户组和用户的相关操作
解析shadow文件中密码字符串的内容
解析shadow文件中密码字符串的内容
对于示例的密码域 1 1 1Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.,我们参考了Linux标准源文件passwd.c,在其中的pw_encrypt函数中找到了加密方法。
我们发现所谓的加密算法,其实就是用明文密码和一个叫salt的东西通过函数crypt()完成加密。
而所谓的密码域密文也是由三部分组成的,即: i d id idsalt$encrypted。
【注】: id为1时,采用md5进行加密;
id为5时,采用SHA256进行加密;
id为6时,采用SHA512进行加密。
手动修改passwd
perl -e ‘print crypt(“test”,q( 6 6 6M4pK.AZq)) ."\n"’
$6$M4pK.AZq$fNWUT404pQqADwYa/BiuWeWh5evfIURY63cZVRIW43S1MJn5Qt1ZgreEu8.dhry4c3vqZXHiDGSktbmnlm/Yq0
生成后加到passwd里对应的密码字段里即可
给linux系统配置python2和python3环境
在linux下新建.sh文件,粘贴如下代码,然后运行,注意,运行前检测网络情况
#!/bin/bash
function test(){
yum -y groupinstall “Development tools”
yum -y install zib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
mkdir /usr/local/python3
tar -xvJf Python-3.6.5.tar.xz
cd Python-3.6.5
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
}
result=$(ping 114.114.114.114 -c 8 | grep received | awk -F ’ ’ '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 4}̲') if [ "result" == 0 ]
then
echo “No”
else
test
fi
#NAT 网络地址转换
##netwok address translation
平时做实验可能需要多台虚机,而每个虚机都需要联网,然而校园网是需要通过认证才可以上网的,且对登陆人数会有限制,于是想要搭一个nat服务器,用来实现一个校园网账号认证便可以满意多台虚拟机上网的需求。
这里参考学长的博客:
欢迎大家的关注鑫哥的博客 http://blog.51cto.com/tong707/2050149
照他的方法即可将原理搞明白了。这里写的比较基础,详实一些
##1.安装linux NAT服务器
在VMware Vsphere上创建虚拟机安装linux centOS7
因为只是想用这个虚拟做nat,不需要占用太多资源,因此用的是centOS的最小化安装版本(minimal install),同时为了测试,用以前装好的kali系统用于测试。
为新建好的虚拟机添加两张网卡,就像这样(图中nat为nat服务器)
标准交换机vSwitch1 可以通过右上角的 添加网络 添加,该交换机上没有物理适配器也可以
nat服务器有两张网卡,分属于不同的网络
此时,nat连接在vSwitch0上的网卡是连接外网的
在VS witch1上的网卡是连接内网的
**
配置linux两张网卡的配置文件
配置方式如下,注意连接外网的网卡要设置DNS,不然可能无法解析主机
***
防火墙配置
iptables -A FORWARD -i ens192 -j ACCEPT # ens192 内网网卡
iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o ens160 -j MASQUERADE #20.0.0.0/24也是内网网段
或者这样也是可以的,以下这条命令针对外网
iptables -t nat -A POSTROUTING -j SNAT --to-source 172.18.74.17
****
开启路由功能
echo 1 > /proc/sys/net/ipv4/ip_forward # 打开路由功能
cat /proc/sys/net/ipv4/ip_forward # 查看是否启用路由功能,结果为1,代表已启用,0代表未启用
*****
检验网络连接
这时在nat上登陆自己的校园网账号,即可访问互联网。当然如果是图形化界面安装,直接用浏览器访问认证页面即可,但是由于是最小化安装,这里用一个python的脚本文件进行验证,即可完成实际的访问
#coding=utf-8
import urllib
import urllib2
url=‘校园网认证页面网址’
post_data = {
‘action’ : ‘login’,
‘ac_id’ : ‘1’,
‘drop’ : ‘0’,
‘username’ : ‘校园网账号’,
‘password’ : ‘校园网密码’
}
data = urllib.urlencode(post_data)
request = urllib2.Request(url=url,data=data)
response = urllib2.urlopen(request)
result=response.read()
print result
此时ping下百度,可以ping通
然后将同设在VM network 2的虚机或者是连在物理网卡上的实际的主机设置静态ip,网关设置为nat的内网地址即可实现多台机器共享nat的带宽以及网络。
任何一个看起来非常简单的实验在实际操作的时候都可能遇到各种各样的问题,所以在掌握了原理与方法后一定要亲自动手做下实验,才能将理论理解的更加的深入。
安装httpd
参考博客
https://blog.csdn.net/qq_36113598/article/details/77532647
yum install httpd
配置ServerName
vi /etc/httpd/conf/httpd.conf
将#ServerName www.example.com:80修改为ServerName localhost:80
外部机器此时输入服务器的IP地址,应该看到apache的服务页面,端口不用输,apache默认就是使用80端口
systemctl start httpd.service #开启httpd服务
systemctl enable httpd.service#配置httpd服务开机自启
关闭防火墙
Systemctl stop firewalld.service
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning, 开启后显示running)
安装php
yum install php
重启apache服务
Systemctl httpd restart
安装mysql
参考博客
https://www.cnblogs.com/zhanzhan/p/7729981.html
1、安装MariaDB
安装命令
yum -y install mariadb mariadb-server
安装完成MariaDB,首先启动MariaDB
systemctl start mariadb
设置开机启动
systemctl enable mariadb
接下来进行MariaDB的相关简单配置
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,n,否则无法远程管理
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
初始化MariaDB完成,接下来测试登录
mysql -u root -p
enter password:
进入mariaDB页面
安装tomcat前需不需要安装JDK?
当有请求时,tomcat会自动将jsp里面的java程序部分提取出来,调用jdk将java程序编译成class,然后再执行这个class.你可以到tomcat的work目录下看看,你可以找到从jsp里面提取出来的java程序, *_jsp.java,也有编译后的class文件, *jsp.class。
所以,如果不装JDK,jsp程序就无法编译。
因为jsp转换成servlet后需要编译,所以需要jdk
Tomcat 6.0以后已经不需要jdk了
安装tomcat
yum安装tomcat
查看tomcat版本,tomcat7,所以不需要再额外安装JKD
如果需要修改java路径可以通过 java -verbose查看java jdk的路径,只看最后两行即可
此时tomcat已经安装好并启动了。然而当用浏览器访问时,却发现无法访问,也无报错,返回为空
安装tomcat-webapps
切换到/usr/share/tomcat/webapps下,发现目录为空,安装tomcat-webapps
再次浏览,成功!
在tomcat中部署网站
修改server.xml
/etc/tomcat/server.xml
在webapps下添加网站目录
在/usr/share/tomcat/webapps/下新建自己的网站目录
然后在浏览器访问即可看到自己的网站内容