Linux网络管理,NAT网络配置,修改主机名称,主机映射,防火墙,系统启动级别,用户和用户组,为用户配置sudoer权限,文件权限管理,打包和压缩

Posted 数据分析与统计学之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络管理,NAT网络配置,修改主机名称,主机映射,防火墙,系统启动级别,用户和用户组,为用户配置sudoer权限,文件权限管理,打包和压缩相关的知识,希望对你有一定的参考价值。

目录

  1、常用网络管理命令
  2、网络配置
  3、修改主机名称
  4、主机映射
  5、防火墙
  6、系统启动级别
  7、用户和用户组
  8、为用户配置sudoer权限
  9、文件权限管理
  10、打包和压缩

1、常用网络管理命令

ifconfig:查看活动的网络接口信息
ifconfig etho up:启用etho接口
ifconfig etho down:禁用网卡

ping:测试网络的连接状态。
        ping www.baidu.com    测试虚拟机是否连接上Internet
        ping 192.168.72.1     测试虚拟机是否连接上宿主机
        
host:通过网站域名查看网站的ip。
        host www.baidu.com
        host www.jd.com
        
netstat:查看程序端口的占用情况。
        netstat -a     列出所有端口,包括监听和未监听的;
        netstat -at    列出所有TCP端口;
        netstat -au    列出所有UDP端口; 
        netstat -nltp   查看正在监听的tcp协议的程序;("最常用")   
        上面这个代码可以“查看某个端口”,被某个pid占用了,然后我们可以通过端口找到这个  
        pid,然后杀死该进程,以便我们可以使用其他程序。eg: kill -9 2218 就可以把该进程杀死 。

操作如下(主要记住红色方框中几个重要参数):

测试网络连接状态:

通过网站域名查看网站的ip:

2、网络配置(虚拟机与外界网络交互配置)

  • 桥接模斗
  • NAT模式
  • 仅主机模式


注意:没有安装虚拟机之前,没有VMnet1和VMnet8这两个虚拟网卡。只有一个有线网卡和一个无线网卡,这两个才是真实的物理网卡。

① 桥接模式(vmnet0给桥接模式提供网络支持)
  • 桥接模式就是将【主机(宿主机)网卡】与【虚拟机虚拟交换机】,利用【虚拟网桥】进行通信。
  • 缺点:宿主机和虚拟交换机之间使用同一个网段,不适合搭建大型集群。

② NAT模式(vmnet8给NAT模式提供网络支持)
  • 使用NAT模式,就是让虚拟系统借助NAT(网络地转换)功能,通过宿主机器所在的网络来访问公网。

③ 仅主机模式(vmnet1给仅主机模式提供网络支持的)

3、修改主机名称:/etc/sysconfig/network

"通俗说:就是给电脑起名字。"
hostname:查看主机名。
hostname+名字:临时修改。
vim /etc/sysconfig/network:修改配置文件,永久修改。

打开配置文件,将HOSTNAME改为你想要的主机名,即可。

4、主机映射:/etc/hosts

主机映射就是:域名与ip地址之间的映射关系。
"举例说明配置主机映射的含义"
    我们访问百度的时候,经常使用的是www.baidu.com,这个表示的是百度网站的域名,其实我们本质上就是访问百度的ip,
但是ip不太容易记住,因此,就弄了一个www.baidu.com的域名与百度ip之间的主机映射关系。我们不仅可以通过ip访问百度,
还可以通过容易记住的域名www.baidu.com去访问百度。
1)Windows中配置虚拟机image_boundary的主机映射。
这样的话宿主机既可以通过虚拟机ip访问虚拟机,还可以通过域名image_boundary 访问虚拟机(但是需要我们自己配置)
"在windows中找到这个配置文件。"
C:\\Windows\\System32\\drivers\\etc\\hosts
"打开hosts文件,在最后添加下面这行代码。"
192.168.2.110 image_boundary

在CMD黑窗口,分别使用虚拟机ip和域名访问虚拟机。出现下图,证明配置完成!

2)Linux中配置Windows10的主机映射。
这样的话虚拟机既可以通过宿主机ip去访问宿主机,还可以通过域名win10去访问宿主机(需要我们自己配置)
"在虚拟机中,使用vim命令打开这个配置文件。"
vim /etc/hosts
"在hosts文件中,添加下面这行代码。"
192.168.72.1  win10

在虚拟机命令行中,分别使用宿主机ip和域名,来访问宿主机。

5、防火墙

  • 控制本机的"出"、"入"网络访问行为。
  • 举例说明:假如windows中要访问虚拟机的80端口,其实我是先通过你的防火墙,才可以访问到你的80端口。假如你8080端口没有开放,别人就进不去。

示意图如下:

1)防火墙的配置文件,使用如下命令查看设置
[root@image_boundary ~]# vim /etc/sysconfig/iptables
2)基本命令。牢记这些命令
"使用service命令进行的操作,属于【暂时】打开、关闭防火墙。"
service iptables status           查看防火墙状态
service iptables start/restart    打开/重启防火墙
service iptables stop             关闭防火墙

"设置防火墙开机不自启,是常用的命令。"
chkconfig iptables on             开机自启
chkconfig iptables off            开机不自启

禁止SSH登陆(如果服务器在机房,一定要小心)
"关闭22端口   DROP表示删除,删除就是关闭"
iptables -D INPUT -p tcp --dport 22 -j DROP     
"开放80端口   ACCEPT表示接受,接受就是开放"             
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

总结:以后所有的后台服务的状态查看,服务启动,服务关闭,都是用"service 服务名 status" 进行操作。
  

6、系统启动级别:/etc/inittab

1)什么是系统启动级别?
七个启动级别,只需要记住35"3"代表【无图形化界面】的启动级别;"5"代表【有图形化界面】的启动级别
2)查看系统启动级别
[root@image_boundary ~]# runlevel
N 5
3)修改系统启动级别
[root@image_boundary ~]# vim /etc/inittab

配置文件的内容如下:

"前面的内容都被我删了,因为是注释内容,没啥用。我们只看以下部分"
# Default runlevel. The runlevels used are:
"0代表关机,设置了这个启动级别,系统启动不起来了。"
// 因此,不要去设置这个启动级别。
#   0 - halt (Do NOT set initdefault to this)
"1表示单用户模式,设置了这个其他用户登陆不了。"
// linux特点本来是多用户的,因此不要设置这个1。
#   1 - Single user mode   
"2表示没有网络的多用户启动级别。多用户还可以,没有网络肯定是不行的"
// 因此2也不要去设置。
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
"3没有图形界面的多用户启动级别,这个也是我们使用最多的。"
// 通常将默认启动级别设置为:3
#   3 - Full multiuser mode
"4代表没有使用。"
#   4 - unused
"5代表有图形界面的启动级别。"
#   5 - X11
"6代表重启,设置了这个启动级别,系统将无限重启。"
// 因此,不要去设置这个启动级别。
#   6 - reboot (Do NOT set initdefault to this) 
4)重新配置系统启动级别:
  • 将有图形化界面的系统启动级别5,设置为无图形界面的启动级别3。
"打开如下配置文件"
[root@image_boundary ~]# vim /etc/inittab

配置后如下:

修改启动级别以后,使用reboot命令重启才可生效。

[root@image_boundary ~]# reboot

配置之前的界面如图所示: 【有图形化界面】
配置之后的界面如图所示: 【无图形化界面】

7、用户和用户组:/etc/passwd;/etc/group

1)什么是用户?什么是用户组?
  • 用户 :权限的集合。
  • 组 :权限的容器。
2)用户


上面七个红框的信息分别表示的含义如下:

-rw-r--r--:该文件的类型和权限信息,d代表是文件夹
1:链接数,如果是文件则是1,如果是文件夹则表示该文件夹下的子文件夹个数
第一个root:文件或者目录的所属者
第二个root:所属用户组
9:文件或者目录的大小,是目录的话一般都是4096
Sep 17 19:10:文件的最后编辑时间
aa.txt:表示文件或者目录,具体的文件类型是由该行最前面的那个符号表示

Linux用户分类:共有3类。

用户信息查看

"查看linux中所有的用户信息。"
[root@image_boundary ~]# cat /etc/passwd

"以配置文件中第一条root用户和最后一条自己创建的image用户,做详细说明"
root:x:0:0:root:/root:/bin/bash
image:x:500:500:image:/home/image:/bin/bash
用户名:密码占位符:用户UID:用户组GID:注释信息:家目录:用户默认使用shell

"查看root用户和普通用户的登陆密码(加密的密码),【了解就行】"
"系统用户不需要登陆密码。"
[root@image_boundary ~]# cat  /etc/shadow
"下面就是root用户的密码。"
root:$6$7FW70Vsr3PbEbw0g$UMWirFujazK.N1sJCfwMl81DIpoGpmHjPJCKPKbYfjlCOlLQ5wa17orNE/TF.iqI
3)用户组

Linux用户组分类:共有3类。

用户组信息查看

"查看linux中所有的用户组信息。"
[root@image_boundary ~]# cat /etc/group

"以配置文件第一条root用户组和最后一条自己创建的image用户组,做详细说明"
root:x:0:
bin:x:1:bin,daemon   // bin用户组中,有bin、daemon两个用户。
image:x:500:         // image用户组中,没有其它用户,叫做【私有组】。
用户组名:用户组密码占位符:用户组id:用户组中的用户。 
    
"密码信息使用如下命令,了解就行。"
[root@image_boundary ~]# cat /etc/gshadow
4)用户的操作(重点)
"注意:在创建普通用户的时候,一定记得使用passwd命令【设置登陆密码】"
"注意:每创建一个新用户,就会创建一个新的同名的用户组"
1)useradd + 用户名       创建新用户

2)passwd + 用户名        设置用户的登陆密码

3)usermod (-l:修改用户名 -G:修改用户组 -c:修改用户备注) 用户的修改
   Ⅰusermod -l 新用户名 旧用户名
   Ⅱusermod -G 指定的用户组名 用户名
  Ⅲusermod -c "备注信息" 用户名
   
4)userdel -r + 用户名    用户删除

操作如下:

"创建一个hadoop用户"
[root@image_boundary ~]# useradd hadoop
"查看linux所有的用户信息。新创建的用户信息一般在最后一条。"
"查看linux所有的用户组信息。创建一个新用户,就会创建一个同名用户组。"
[root@image_boundary ~]# cat /etc/passwd
[root@image_boundary ~]# cat /etc/group

"给用户设置登陆密码。(如果你以后想要登陆该用户,最好操作这一步。)"
[root@image_boundary ~]# passwd hadoop  
Changing password for user huangwei.
New password: ******

"修改用户名"
[root@image_boundary ~]# usermod -l spark hadoop
"给用户添加备注信息"
[root@image_boundary ~]# usermod -c "Hello" hadoop
"指定该用户,所属的组"
[root@image_boundary ~]# usermod -G hadoop spark

"删除用户"
[root@image_boundary ~]# userdel -r spark

注1:创建用户的时候,假如出现以下提示:表明你现在创建的用户名,和用户组里面的
某个用户组名重名了。你需要先删除那个同名的用户组,才可以创建该用户。

注2:创建用户的时候,不仅会创建此用户,还会创建一个和此用户同名的用户组。
这是创建的hadoop用户。

这是系统自动创建的同名的用户组。此时,里面没有用户,叫做私有组。

注3:用户添加备注信息:usermod -c “Hello” hadoop

注4:用户修改用户名:usermod -l spark hadoop

注5:用户分配到指定组中去:usermod -G hadoop spark

把spark分配到hadoop这个组中去。此时hadoopp由“私有组”变为“基本组”。

5)用户组的操作(重点)
1)groupadd + 组名                  创建新的用户组;
2)groupmod -n + 组重命名            修改用户组名;
3)groupdel + 组名                  删除某个用户组;
4)gpasswd -a/-d + 用户组           用户组中,用户的添加与删除;
   gpasswd -a 用户名 用户组          将某个用户添加到该用户组中;
   gpasswd -d 用户名 用户组          将某个用户从该用户组中删除;

操作如下:

"创建新用户组:创建spark用户组"
[root@image_boundary ~]# groupadd spark

"用户组重命名:把spark改为storm"
[root@image_boundary ~]# groupmod -n storm spark

"删除用户组:删除storm用户组"
[root@image_boundary ~]# groupdel storm

"将某个用户添加到用户组中:将huangwei用户添加到hadoop组中"
[root@image_boundary ~]# gpasswd -a huangwei hadoop
Adding user huangwei to group hadoop

"将某个用户从用户组中移除:将huangwei用户从hadoop组中移除"
[root@image_boundary ~]# gpasswd -d huangwei hadoop
Removing user huangwei from group hadoop

  

8、为用户配置sudoer权限:/etc/sudoers


举例说明:使用普通用户创建新用户,就会权力受限制。

1)sudoers权限设置(必须切换到root用户下面执行)
"设置sudoers权限的配置文件在/etc/sudoers中"
[huangwei@image_boundary root]$ su root
Password: ******
[root@image_boundary ~]# vim /etc/sudoers

由于这个文件很长,使用查找命令快速定位到root:

"在vim编辑器中。在底行模式下输入以下命令,点击enter,就可以上下查找"
:/root    

截取部分配置文件如下:此时还未添加任何东西。

修改配置文件:在root这一行下,为普通用户huangwei添加如下代码。

"配置完成后,一定要使用:wq!强制保存退出。"
root       ALL=(ALL)       ALL
huangwei   ALL=(ALL)       ALL

再切换到普通用户,使用如下命令:sudo useradd 用户名

"普通用户被赋予权限后,使用命令时,一定要在前面加一个【sudo】"
[root@image_boundary etc]# su huangwei
[huangwei@image_boundary etc]$ sudo useradd chenli      

当赋予普通用户的权利用完以后,root管理员需要将权限收回来。

9、文件权限管理

1)图示解释如下:


rwx权限对于“文件”和“文件夹”,有着不同的含义。

注意:对于文件 或 文件夹,去掉某个权限,有着不同的意义,但是这些仅仅是对“普通用户”起作用,root用户仍然是拥有所有权利。记住一句话:root用户就算你去掉了某些权限,对它并不起作用,它还是拥有所有的权限,以上操作仅对普通用户起作用。

2)修改文件权限:共有以下2种写法。

第一种方式:使用+或-的方式修改权限。

chmod g-rw haha.dat       // 表示将haha.dat对所属组的rw权限取消
chmod o-rw haha.dat       // 表示将haha.dat对其他人的rw权限取消
chmod u+x haha.dat        // 表示将haha.dat对所属用户的权限增加x
chmod a-x haha.dat        // 表示将haha.dat对所用户取消x权限
注:a表示对所有用户执行某个操作。

第二种方式:可以用数字的方式来修改权限。

chmod  664  haha.dat
注:你可以把每一组rwx想象成一个三位的二进制数。有这个权限用1表示,没有用0表示。
下面举例说明:
         rwx rwx rwx         rw- rw- r--
二进制    111 111 111         110 110 100
十进制     7   7   7           6   6   4
注意:如果要将一个文件夹的所有内容权限统一修改,则可以-R参数。
"将文件夹aaa下的所有内容,统一执行某个权限。"
-R:使用此参数,可以将某个文件夹下所有内容的权限统一修改。
chmod  -R  770  aaa/

操作如下:

[root@image_boundary Desktop]# cd File
[root@image_boundary File]# ll
total 8
-rw-r--r--. 1 root root 119 Oct 16 02:22 a.txt
-rw-r--r--. 1 root root   0 Oct 16 01:32 a.txt~
-rw-r--r--. 1 root root  15 Oct 15 23:36 file
[root@image_boundary File]# cd ..
// 针对当前用户,给File文件夹下的所有内容,添加一个可执行权限。
// 以前只有可读可写权限,数字为6,现在修改为7。
[root@image_boundary Desktop]# chmod -R 744 File/
[root@image_boundary Desktop]# cd File
[root@image_boundary File]# ll
total 8
-rwxr--r--. 1 root root 119 Oct 16 02:22 a.txt
-rwxr--r--. 1 root root   0 Oct 16 01:32 a.txt~
-rwxr--r--. 1 root root  15 Oct 15 23:36 file
3)修改文件所有权:root用户才可以执行这个操作。
// <只有root权限能执行>
chown angela  aaa             // 改变所属用户
chown :angela  aaa            // 改变所属组
chown angela:angela aaa/      // 同时改变,所属用户和所属组

操作如下:

[root@image_boundary Desktop]# ll
total 4
drwxr--r--. 2 root root 4096 Oct 16 02:36 File
// 将aa文件夹授权给huangwei这个用户
[root@image_boundary Desktop]# chown huangwei File
[root@image_boundary Desktop]# ll
total 4
drwxr--r--. 2 huangwei root 4096 Oct 16 02:36 File

//  将aa文件夹授权给huangwei这个用户组
[root@image_boundary Desktop]# chown :huangwei File
[root@image_boundary Desktop]# ll
total 4
drwxr--r--. 2 huangwei huangwei 4096 Oct 16 02:36 File

// 将文件夹aa,同时授权给huangwei这个用户,huangwei这个用户组
[root@image_boundary Desktop]# mkdir aa
[root@image_boundary Desktop]# ll
total 8
drwxr-xr-x. 2 root     root     4096 Oct 17 09:15 aa
drwxr--r--. 2 huangwei huangwei 4096 Oct 16 02:36 File
[root@image_boundary Desktop]# chown huangwei:huangwei aa
[root@image_boundary Desktop]# ll
total 8
drwxr-xr-x. 2 huangwei huangwei 4096 Oct 17 09:15 aa
drwxr--r--. 2 huangwei huangwei 4096 Oct 16 02:36 File

  

10、打包和压缩

  • 打包:将多个文件放到一块。
  • 压缩:某个东西原本占用磁盘空间很大,通过压缩,可以将其空间变小一点。

压缩和解压缩

1)gzip压缩(常见的一种压缩方式)
2)bzip2压缩
“注意:压缩后,原文件没了,只有压缩文件。使用原文件,需要再解压缩。”

压缩:gzip aa.txt     // 压缩后,后缀名叫做gz。
解压缩:gzip -d aa.txt.gz

压缩:bzip2 bb.txt   // 压缩后,后缀名叫做bz2。
解压缩:bzip2 -d bb.txt.bz2

操作如下:

注意:也许你会注意到,上面代码对aa.txt进行压缩后,文件怎么还变大了,因为这个一个空文件(小文件),压缩的时候肯定会添加一些东西,因此看着空间大小还变大了,因为小文件,进行文件压缩体现不出好处。当文件很大时,压缩效果才会得以体现。

还有一个注意点:多个文件不能“压缩”到一个文件中。除非是你把他们事先移动到同一个文件夹中,在进行压缩。多个文件只能“打包”到同一个文件中。

打包和解包

1)tar打包:打包后的后缀叫做tar。
  • 注:打包会保留原文件,并生成一个打包文件。
语法:tar -cvf 打包名 文件列表
例如:tar -cvf a.tar aa.txt bb.txt

操作如下:

2)tar解包
  • 注:解包后也会保留原打包文件。
语法:tar -xvf 打包名
例如:tar -xvf a_b.tar

注:先删除aa.txt和bb.txt原文件,再进行解包。

注:解包后并删除原打包文件。

3)打包并且压缩
语法:tar -zcvf  打包并压缩文件名  文件列表
例如:tar -zcvf a_b.tar.gz a.txt b.txt

操作如下:

4)解包并且解压缩
语法:tar -zxvf  打包并压缩文件名 -C 解包解压缩后的存放路径
例如:tar -zxvf a_b.tar.gz -C File/

操作如下:

以上是关于Linux网络管理,NAT网络配置,修改主机名称,主机映射,防火墙,系统启动级别,用户和用户组,为用户配置sudoer权限,文件权限管理,打包和压缩的主要内容,如果未能解决你的问题,请参考以下文章

linux虚拟机中和主机三种网络连接方式的区别

Linux CentOS 7网络配置基础

linux学习linux配置网卡以及常见网络问题排查

Linux下CenterOS 7之网络连接方式及NAT网络配置

Linux下CenterOS 7之网络连接方式及NAT网络配置

VMWare(虚拟机) 网络配置模式 :桥接模式nat模式主机模式