目录
一、Linux的常见设置
1、设置静态IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
完整的配置(ip等看写自己的):
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="60738953-c9fc-420e-b1e1-d727d0987e90"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.32.128" --自己的ip
NETMASK="255.255.255.0"
GATEWAY="192.168.32.2" --自己的网关
DNS1="114.114.114.114"
DNS2="8.8.8.8"
重启网卡服务:
systemctl restart network
点击虚拟机的编辑界面,点击【虚拟网络编辑器】,进入后,
选择NAT模式:
2、设置linux服务器的用户名
hostname 查看当前的用户名
hostname bigdata01 临时设置用户名,一重启就又回去了
永久设置用户名
vi /etc/hostname
将原来的名字删除,修改为新的名字,保存即可 使用这种方式需要重启电脑。
3、设置用户名和IP的对应关系
vi /etc/hosts
集群里的每个节点都要设置用户名和ip的对应关系。
4、关于防火墙的设置
关于防⽕墙的命令:
systemctl status firewalld
systemctl stop firewalld 关闭防火墙,但是开机后,防火墙还是会开启
systemctl start firewalld
systemctl restart firewalld
防⽕墙开机启动命令:
systemctl disable firewalld 开机不启动
systemctl enable firewalld
二、关于用户和用户组
useradd zhangsan 添加用户
passwd zhangsan 设置密码
每创建一个新的用户,就会在/home 下创建一个对应的文件夹。
新增一个组:
groupadd school
任何一个用户都属于一个组,比如root ,它默认属于root组
zhangsan 属于zhangsan组。
一个用户可以属于多个组
r -- 可读取
w --可写入
x --可执行
可以修改一个文件的权限:
u 代表 自己(user),拥有者
g 代表 同一个组(group)
o 代表 其他成员(other)
+ 表示赋予权限
- 收回权限
r(读) w(写) x(执行) 但是不是说我赋予了权限它就一定执行的。
权限有赋予多的情况
chmod g+w bbb.txt
chmod u+x bbb.txt
chmod o+x bbb.txt
以上方案只能进行简单的权限赋予,如果一下子赋予多个权限,
可以这样写:chmod g+x,o+w a.txt
还有其他办法:
chmod 777 bbb.txt
r = 4 二进制 0100
w = 2 二进制 0010
x = 1 二进制 0001
r + w + x = 7
chmod 763 aaa.txt
可以通过三个数字进行权限赋值。第一个数字代表user,第二个数字代表group ,第三个代表 other
补充:
超级管理员切换到普通用户:su laoyan
普通用户切换到超级管理员 : su (记得输入密码)
修改一个文件的所属组和用户: chown 用户:组的名字 文件名
将一个用户放入新的组里面:usermod -g tongbaishan laoyan
三、Linux的两种软件安装方式
1、Yum源配置
使用yum命令进行软件安装是linux安装文件的一个重要部分。
yum install -y 软件的名字
-y 一路yes
它会通过一个yum源配置的网址进行软件的下载,并安装
1、要联网
2、网址的网速要快
yum 源默认的网址是国外的,所以,一般修改yum源为国内的。
将yum源地址修改为国内的阿里的。
其实如果是修改yum源为aliyun的话,只需要执行一句:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
修改阿里云的镜像文件:
1、cd /etc/yum.repos.d/ --1和2不是必须的
2、备份⼀下:mv CentOS-Base.repo CentOS-Base.repo.bak
3、下载阿⾥云镜像到本地:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
4、清除yum的缓存
yum clean all
yum makecache
5、yum install -y ntpdate
yum search ifconfig 用于查看某个命令是哪个安装包下的命令
search 只能检索出来一个软件,如果这个命令在多个软件中都有,可以使用如下方式:
yum search all ifconfig
软件的升级 yum -y update 软件的名字
卸载 yum -y remove 软件的名字
yum源安装本质上也是rpm安装,因为它是先将rpm 安装包下载下来之后,又使用命令给你安装了一遍而已。
yum源安装软件的时候,如果一个软件依赖于另一个软件,都会一并安装。
2、linux中软件安装的另一种方式 rpm
就好比是别人给了一个 exe 文件,只是我们的linux上是没有exe文件的,跟exe文件类似的是 rpm 安装包。
安装
rpm -ivh rpm安装包的名字
卸载
rpm -e rpm的名字
rpm -e rpm的名字 --nodeps (强制卸载)
查看哪些软件是rpm安装的。
rpm -aq
这个可以查询到所有的,使用rpm安装包安装过的软件的名字,如果想删除的话,直接使用这个名字删除即可。
可以使用如下方式,查看某个服务是否安装:
rpm -qa | grep jdk
四、SCP远程拷贝命令
cp 是拷贝的命令,只能在一台电脑上,拷贝文件或者文件夹,无法跨电脑拷贝。
scp 可以实现将A电脑上的文件,拷贝到B电脑上。
scp A电脑上的文件 用户名@主机名:路径
实战一下:
scp /etc/hosts root@bigdata01:/etc/
需要输入bigdata01的密码。
如果想拷贝文件夹,需要添加 -r 参数
scp -r A电脑上的文件夹 B电脑用户名@B电脑的主机名:路径
还可以这样写:
scp /etc/hosts root@192.168.233.128:/etc/
还可以这样写:
先进入到 /etc/
scp /etc/hosts root@bigdata01:$PWD
可能会遇到的问题:
1、远程拷贝,需要两台都启动
2、无法识别bigdata02 解决办法:修改 /etc/hosts 文件
五、服务器之间的免密操作
比如:bigdata01 这个电脑想免密登录到bigdata02 如何做?
1、需要在bigdata01上生成公钥和私钥
ssh-keygen -t rsa
一路回车即可。
2、生成的公钥和私钥在哪里?
/root/.ssh/id_rsa
3、将公钥传递给你想免密登录的电脑,比如bigdata02
ssh-copy-id bigdata02
本质是将bigdata01中的公钥拷贝到了bigdata02中的/root/.ssh/authorized_keys
验证bigdata01 是否可以远程连接bigdata02:
ssh bigdata02 发现不需要输入密码即可完成登录
exit 退出当前的登录
免密的原理:
1、bigdata02随机生成了一串字符串,通过公钥进行加密,传递给bigdata01
2、bigdata01 通过私钥,对这个密文进行解密,再传递给bigdata02
3、bigddata02 拿到bigdata01的明文和自己当初的明文对比一下,发现正确就可以免密登录了。
注意:
1、免密登录是单项的,bigdata01可以免密登录bigdata02,但是02却不能免密登录01
2、如果bigdata01想免密登录自己,也需要拷贝公钥给自己 ssh-copy-id bigdata01