一、Linux基础命令
终端:是一种特殊的字符设备,用来向计算机输入数据和显示计算机的输出,最早的终端是由teletype公司生产的一种电传打字机,它将从穿孔纸带读取的程序代码传送给计算机,将计算机的输出以纸质形式打印出来。后面慢慢演变成了控制台终端,提供系统管理接口的终端设备,读取管理员的操作指令,输出系统运行信息(应用程序、系统程序、内核等)
1、常见基础指令
在渗透中也不免遇到Linux系统服务器,那么对于linux的基础命令也需要知道。下面是linux的基础指令:
查看身份指令:whoami、id
查看文件或目录指令:ls、ll
查看文件内容指令:cat
切换和查看目录指令:cd、pwd
文本编辑器指令:vi
查看网卡指令:ifconfig
查看通讯连接指令:netstat -an
权限相关指令:chmod、chown、chattr
网络相关指令:wget、curl
脚本解释器指令:sh、bash
标准输出指令:echo
远程登录指令:ssh
服务操作指令:service、systemctl
系统防火墙操作指令:iptables、firewalld
退出终端命令:exit
根据上述ifconfig我们可以看到ip,那么ip是什么呢?
IP是网际互连协议,是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:解决互联网问题,实现大规模、异构网络的互联互通;简单来说,ip就是电脑的身份证,但是和身份证不一样的是,你在不同的地方连接路由器,你的ip都可能更改,ip需要根据实际的地方来查看。
2、vi/vim命令讲解
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错 误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。连 vim 的官方网站自己也说 vim 是一个程序开发工具而不是文字处理软件。
vim键盘图
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
输入模式:
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
底线命令模式:
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
:Wq保存退出模式
:q!不保存强制退出
:x保存退出
Set nu 显示行号
/关键字 查找关键字,按下小写n向下查找
按ESC键可随时退出底线命令模式。
二、用户管理、所有者所属组
Linux系统是一个多用户多任务的分时操作系统,任何一个系统要使用系统资源的用户,都要先要向管理员申请一个账号,然后用这个账号登录进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问,另一方面也可以帮助用户组织文件。并提高用户的安全性。所以对于用户的管理需要深刻的理解。
用户管理
1、新增用户 (Useradd 选项 用户名)
Userad就是添加用户的指令
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用 -m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以 重复使用其他用户的标识号。
用户名就是指定新账号的登录名
2、修改用户 (Useradd 选项 用户名)
选项:
-c 用户说明:修改用户的说明信息,即修改 /etc/passwd 文件目标用户信息的第 5 个字段;
-d 主目录:修改用户的主目录,即修改 /etc/passwd 文件中目标用户信息的第 6 个字段,需要注意 的是,主目录必须写绝对路径;
-e 日期:修改用户的失效曰期,格式为 "YYYY-MM-DD",即修改 /etc/shadow 文件目标用户密码信 息的第 8 个字段;
-g 组名:修改用户的初始组,即修改 /etc/passwd 文件目标用户信息的第 4 个字段(GID);
-u UID:修改用户的UID,即修改 /etc/passwd 文件目标用户信息的第 3 个字段(UID);
-G 组名:修改用户的附加组,其实就是把用户加入其他用户组,即修改 /etc/group 文件;
-l 用户名:修改用户名称;
-L:临时锁定用户(Lock);
-U:解锁用户(Unlock),和 -L 对应;
-s shell:修改用户的登录 Shell,默认是 /bin/bash。
3、删除用户 (userdel -r 用户名)
userdel 就是删除命令
-r 选项表示在删除用户的同时删除用户的家目录。
用户名 想删除的用户名
在linux中,在/etc/passwd下存放的是用户信息
在/etc/shadow下存放的是用户密码的相关信息
注意事项:只要root用户才能修改任何用户的密码,而且在/etc/shadow里面存放的密码是加密的
用户组
每个用户都会有用户组,系统可以对一个用户组的所有用户进行集中管理。用户组的添加、删除和修改及组的增加、删除和修改实际上就是对/etc/group文件的更新
1、新增组命令
groupadd 选项 用户组
选项:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用 户组的GID相同。
2、删除组命令 groupdel 用户组
3、查看组命令 cat /etc/group
4、 修改组命令 group 选项 用户组
选项:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系 统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
在个人计算机上是可以把所有的人直接使用管理员身份登录,因为管理员拥有最大权限,所以给我们带来了错觉,以为在计算机中不需要分配权限等级,不需要使用不同的账户。但是在服务器上就不是这样的情况在服务器上运行的数据越重要(如游戏数据),价值越高(如电子商城数据、银行数据),那么对权限的设定就要越详细,用户的分级也要越明确。所以,在服务器上,绝对不是所有的用户都使用 root 身份登录,而要根据不同的工作需要和职位需要,合理分配用户等级和权限等级。
权限
三、Linux网络配置
动态IP
动态IP地址(Dynamic IP)指的是在需要的时候才进行IP地址分配的方式。动态IP地址和静态IP地址是对应的。所谓动态就是指当你每一次上网时,电信会随机分配一个IP地址;
动态ip配置:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
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="0a5f579c-f33f-4c2f-8cc4-ed7026b4ff61"
DEVICE="ens33"
ONBOOT="yes"
静态IP
静态IP地址(又称固定IP地址)是长期分配给一台计算机或网络设备使用的 IP 地址。一般来说,一般是特殊的服务器或者采用专线上网的计算机才拥有固定的 IP 地址而且需要比较昂贵的费用。静态IP是二级路由必须用到的。
二级路由图
静态ip配置:
TYPE="Ethernet"
BOOTPROTO="static"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.153.110"
NETMASK="255.255.255.0"
GATEWAY="192.168.153.2"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
四、yum、rpm与源码安装
yum,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum。
rpm 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。