Linux命令与系统管理实战指南

1、从根目录(/)使用ls命令来探索Linux的目录结构。使用cd命令移动到各个目录,并运行pwd命令来验证你在目录结构中的位置。

操作步骤

查看目录内容
在根目录使用
ls
命令查看目录内容。
示例:

ls

进入具体目录
使用
cd
命令进入具体目录。
示例:进入
/etc
目录:

cd /etc

验证当前目录
使用
pwd
命令查看当前所在目录路径。
示例:

pwd

执行结果将显示当前目录路径。

2、使用 whoami 命令来验证你当前登录的用户是谁。

在终端输入
whoami
命令,系统会返回你当前登录的用户名。

例如:


kali > whoami

若返回
root
,则表示你以 root 用户登录;若返回其他用户名,如
OTW
,则表示你以该用户登录。

3、使用locate命令查找可用于密码破解的单词列表。

在终端中输入
locate wordlist
,即可查找 Kali Linux 中众多可用于密码破解的单词列表。

4、使用 cat 命令创建一个新文件,然后向该文件追加内容。请记住,> 用于将输入重定向到文件,>> 用于向文件追加内容。

创建新文件:


cat > hackingskills

输入内容如:


Hacking is the most valuable skill set of the 21st century!


Ctrl-D
退出。

追加内容:


cat >> hackingskills

输入要追加的内容如:


Everyone should learn hacking


Ctrl-D
退出。

5、创建一个名为 hackerdirectory 的新目录,并在该目录中创建一个名为 hackedfile 的新文件。现在将该文件复制到 /root 目录并将其重命名为 secretfile。

创建新目录:
mkdir hackerdirectory
进入新目录:
cd hackerdirectory
创建新文件:
touch hackedfile
复制文件到
/root
目录并重命名:
cp hackedfile /root/secretfile

6、使用 cat 命令查看 passwords.lst 文件的内容。

在命令行输入:cat passwords.lst

7、使用 more 命令显示文件 passwords.lst 的内容。

在终端中输入以下命令:more passwords.lst

8、使用less命令查看文件passwords.lst。

在终端输入命令:less passwords.lst

9、现在使用nl命令为passwords.lst文件中的密码添加行号。该文件中应该有88396个密码。

使用命令
nl passwords.lst
为文件中的密码添加行号,可验证是否有88396个密码。

10、使用tail命令查看passwords.lst文件中的最后20个密码。

在终端中输入命令:


tail -20 /usr/share/wordlists/metasploit/passwords.lst

11、使用 cat 命令显示 passwords.lst 文件内容,并通过管道操作找出所有包含 123 的密码。

在命令行中可以使用以下命令:cat passwords.lst | grep 123

12、查找你活跃网络接口的信息。

可以使用
ifconfig
命令来查找活跃网络接口的信息,在终端中输入以下命令即可查询:


ifconfig

13、将 eth0 接口的 IP 地址更改为 192.168.1.1

在命令行输入:ifconfig eth0 192.168.1.1

14、更改 eth0 接口的硬件地址。

要更改
eth0
接口的硬件地址,可按以下步骤操作:

使用
ifconfig
命令的
down
选项关闭接口,输入:


bash kali > ifconfig eth0 down

输入
ifconfig
命令,后跟接口名称(
hw
表示硬件,
ether
表示以太网)和新的伪造 MAC 地址,例如:


bash kali > ifconfig eth0 hw ether 00:11:22:33:44:55

使用
up
选项重新启用接口,使更改生效,输入:


bash kali > ifconfig eth0 up

15、检查你是否有任何可用的无线接口处于活动状态。

可以使用
ifconfig
命令检查网络设备并留意无线扩展,还可以使用
iwconfig
命令查看无线接口及其关键数据,以此判断是否有可用的无线接口处于活动状态。

16、将你的 IP 地址重置为 DHCP 分配的地址。

通常,要从局域网连接到互联网,必须有一个 DHCP 分配的 IP。设置静态 IP 地址后,需要返回并获取新的 DHCP 分配的 IP 地址。可以通过重启系统来实现,也可以在不关闭并重启系统的情况下获取新的 DHCP 地址。

要从 DHCP 请求 IP 地址,使用命令
dhclient
后跟要分配地址的接口,例如在 Kali 系统中:


kali > dhclient eth0


dhclient
命令会从指定的网络接口(这里是
eth0
)发送一个
DHCPDISCOVER
请求,然后从 DHCP 服务器接收一个
DHCPOFFER
,并通过
dhcp
请求向 DHCP 服务器确认 IP 分配。

17、查找你最喜欢网站的名称服务器和邮件服务器。

可使用
dig
命令获取相关信息。若要获取名称服务器信息,使用
dig 网站域名 ns
,如
dig hackers-arise.com ns
;若要获取邮件服务器信息,使用
dig 网站域名 mx
,如
dig hackers-arise.com mx

18、将谷歌的 DNS 服务器添加到你的 /etc/resolv.conf 文件中,这样当你的系统无法使用本地 DNS 服务器解析域名查询时,就会参考该服务器。

可以通过以下两种方式操作:

使用文本编辑器(如 Leafpad)打开
/etc/resolv.conf
文件,在文件中添加一行“nameserver 8.8.8.8”,然后保存文件。
命令示例:

kali > leafpad /etc/resolv.conf

直接在命令行输入以下命令(注意这里用
>>
是追加内容,若用
>
会替换原内容):

kali > echo "nameserver 8.8.8.8" >> /etc/resolv.conf

该命令会将“nameserver 8.8.8.8”追加到
/etc/resolv.conf
文件中。

19、从Kali软件源安装一个新的软件包。

在终端中使用
apt-get
命令,后跟关键字
install
,再加上你要安装的软件包名称,语法如下:


apt-get install packagename

例如,要安装 Snort,可输入:


apt-get install snort

20、如何在系统中移除同一个软件包,以及如何同时移除软件包的配置文件?

使用
apt-get
命令搭配
remove
选项,后跟要移除的软件名称,例如:


kali > apt-get remove snort

若要同时移除配置文件,可使用
purge
选项,例如:


kali > apt-get purge snort

21、更新你的软件仓库。

你可以通过输入
apt-get
命令并跟上关键字
update
来更新软件仓库。该命令会搜索系统上的所有软件包,并检查是否有可用的更新。如果有,更新将被下载。示例命令如下:


kali > apt-get update

22、如何升级系统上现有的软件包?

要升级系统上现有的软件包,使用
apt-get upgrade
命令。

由于升级软件包可能会对你的软件进行更改,你必须以 root 用户身份登录,或者在输入
apt-get upgrade
命令前使用
sudo
命令。

该命令将升级系统上 apt 所知的每个软件包,即仅升级存储在仓库中的软件包。

升级可能会很耗时,因此你可能有一段时间无法使用系统。

23、从GitHub上选择一款新软件并将其克隆到你的系统中。

以克隆
bluediving
软件为例,首先在 GitHub 搜索栏输入
bluediving
找到其仓库,若存在会在搜索结果中显示。

该软件的 GitHub 地址为:
https://www.github.com/balle/bluediving.git

在终端输入以下命令即可将其克隆到系统中:


git clone https://www.github.com/balle/bluediving.git

可使用以下命令查看目标目录:


ls -l

若成功克隆,会看到名为
bluediving
的新目录。

24、选择一个目录并对其执行长列表命令。记录文件和目录的权限。

可使用
ls -l
命令查看目录下文件和目录权限,权限信息在输出每行左侧,由一串字母和短横线表示。

第一个字符表示文件类型(
d
为目录,
-
为文件) 后续三组三个字符分别代表文件所有者、所属组和其他用户的权限
r
表示可读
w
表示可写
x
表示可执行
-
表示无该权限

25、选择一个你没有执行权限的文件,使用chmod命令给自己添加执行权限。尝试使用数字方法(777)和UGO方法。

权限设置方法

数字方法

使用
chmod 777 文件名
命令可给文件所有者、所属组和其他用户添加所有权限(包括执行权限)。

UGO方法

使用
chmod u+x,g+x,o+x 文件名
命令分别给用户、组和其他用户添加执行权限。

26、选择另一个文件并使用chown命令更改其所有权。

使用
chown
命令更改文件所有权的示例命令为:


chown 用户名 文件名

例如:


chown bob /tmp/bobsfile

该命令将
/tmp/bobsfile
文件的所有权授予用户
bob

27、在你的系统上使用
aux
选项运行
ps
命令,并记录第一个和最后一个进程分别是什么。

使用
ps aux
命令后,第一个进程通常是
init
,最后一个进程是执行显示操作的
ps aux
命令。

28、使用 kill 命令杀死占用最多资源的进程。


首先使用 `top` 命令找出占用最多资源的进程的 PID,`top` 命令会按资源使用量从大到小动态刷新进程列表。找到该进程的 PID 后,使用 `kill` 命令结合合适的信号来杀死进程。若要强制终止,可使用绝对终止信号 `SIGKILL`,命令格式为:

kill -9



若使用默认信号,可直接使用:

kill



##29、使用renice命令将一个正在运行的进程的优先级降低到+19。
要使用 `renice` 命令将一个正在运行的进程的优先级降低到 `+19`,需要知道该进程的 PID。假设进程的 PID 为 `xxxx`,可使用以下命令:

kali > renice 19 xxxx



`renice` 命令接受 `-20` 到 `19` 之间的数值来设置进程的优先级,这里设置为 `19` 以将进程优先级降低到 `+19`。

注意:

- 只有 root 用户可以使用 `renice` 命令将进程优先级设置为负值以提高优先级。
- 任何用户都可以使用 `renice` 降低进程优先级。

##30、使用文本编辑器创建一个名为 myscanning 的脚本(内容无关紧要),然后安排它在下周三凌晨 1 点运行。
```markdown
首先,使用文本编辑器创建脚本 `myscanning`,例如使用 `nano` 编辑器:

```bash
nano myscanning

编辑完成后保存退出。

接着,编辑
crontab
文件来安排脚本运行,执行命令:


crontab -e

在打开的文件中添加一行:


0 1 * * 3 /path/to/myscanning

其中
/path/to/myscanning
是脚本的实际路径,保存文件即可完成调度。



##31、使用 more 命令查看所有环境变量。
在任意目录的终端中输入 `set | more` 命令,可逐行查看所有环境变量。使用该命令查看输出时,按回车键可逐行滚动查看变量,输入 `q` 可退出查看并返回命令提示符。

##32、使用echo命令查看HOSTNAME变量。
在终端输入命令:echo $HOSTNAME

##33、创建一个名为 MYNEWVARIABLE 的变量,并将你的名字存储在其中。
在命令行中输入:

```bash
MYNEWVARIABLE="你的名字"

例如:


MYNEWVARIABLE="张三"

34、使用 echo 命令查看 MYNEWVARIABLE 变量的内容。

在终端输入命令
echo $MYNEWVARIABLE
即可查看
MYNEWVARIABLE
变量的内容。

35、导出 MYNEWVARIABLE 变量,使其在所有环境中都可用。

在终端中输入命令:export MYNEWVARIABLE

36、使用 echo 命令查看 PATH 变量的内容。

在终端中输入命令:echo $PATH,即可查看 PATH 变量的内容。

37、将你的主目录添加到 PATH 变量中,以便主目录中的任何二进制文件可以在任何目录中使用。

可以使用以下命令将主目录添加到
PATH
变量中:


kali > PATH=$PATH:/home/<your_username>


<your_username>
需要替换为你实际的用户名。如果不确定主目录路径,可使用
echo $HOME
命令查看。

38、将你的PS1变量更改为“World’s Greatest Hacker:”。

可以在终端中输入命令:


PS1="World's Greatest Hacker:"

若要使更改在所有会话中永久生效,还需输入命令:


export PS1

39、创建一个类似于HelloHackersArise脚本的自定义问候脚本。

以下是创建自定义问候脚本的步骤:

打开文本编辑器,输入以下内容:


bash #! /bin/bash # 这是一个自定义问候脚本。 echo "你自定义的问候语,例如:Hello, 世界!"

保存文件,例如保存为
CustomGreeting
,不添加扩展名。

设置执行权限,在命令行中使用
chmod
命令:


bash kali > chmod 755 CustomGreeting

运行脚本:


bash kali > ./CustomGreeting

40、修改MSSQLscanner脚本,提示用户输入起始和结束IP地址以及要搜索的端口。然后过滤掉所有端口关闭的IP地址,只显示端口开放的IP地址。

首先,使用
echo
命令提示用户输入起始IP地址、结束IP地址和端口号,使用
read
命令将用户输入存储到相应变量中。接着,编辑
nmap
命令,使用变量指定IP地址范围和端口进行扫描,并将输出重定向到一个文件。之后,使用
grep
命令过滤包含
open
关键字的行并存储到新文件,最后显示该新文件内容。

示例代码框架如下:


#! /bin/bash
echo "Enter the starting IP address : "
read FirstIP
echo "Enter the last IP address : "
read LastOctetIP
echo "Enter the port number you want to scan for : "
read port
nmap -sT $FirstIP-$LastOctetIP -p $port >/dev/null -oG MSSQLscan
cat MSSQLscan | grep open > MSSQLscan2
cat MSSQLscan2

41、从三个文件创建一个 tarball。将该 tarball 命名为 L4H。注意这三个文件在打包成 tarball 后,文件总和的大小是如何变化的。

可使用命令
tar -cvf L4H Linux4Hackers1 Linux4Hackers2 Linux4Hackers3
创建名为 L4H 的 tarball。打包时 tar 操作会有显著开销,通常打包后的 tarball 大小会比三个文件原始大小总和大。如示例中三个文件原始大小总和为 35,094 字节,打包成 HackersArise.tar 后大小变为 40,960 字节,增加了超 5,000 字节,但随着文件增大,这种开销占比会越来越小。

42、已知有一个名为L4H的文件,需要对其进行压缩和解压缩操作,先重复使用gzip时的操作(压缩L4H文件并记录文件大小变化,研究如何控制覆盖现有文件,然后解压缩L4H文件),分别使用bzip2和compress工具来完成。

练习3内容

使用gzip压缩与解压缩

压缩
L4H
文件并使用
gzip
记录文件大小变化 研究如何控制覆盖现有文件 解压缩
L4H
文件

使用bzip2压缩与解压缩

输入命令进行压缩:

kali > bzip2 L4H.*
压缩后文件扩展名变为
.tar.bz2
记录文件大小变化 使用以下命令进行解压缩:

kali > bunzip2 L4H.*
研究如何控制覆盖现有文件

使用compress压缩与解压缩

输入命令进行压缩:

kali > compress L4H.*
压缩后文件扩展名变为
.tar.Z
记录文件大小变化 使用以下命令之一进行解压缩:

kali > uncompress L4H.*



kali > gunzip L4H.*
研究如何控制覆盖现有文件

43、使用dd命令对其中一个闪存驱动器进行逐位物理复制。

以下是将给定文本内容调整为 Markdown 格式的结果:


假设闪存驱动器为
sdb
,可在命令行输入:


dd if=/dev/sdb of=/root/flashcopy

其中:


dd
是物理“复制”命令;
if
指定输入文件,
/dev/sdb
表示
/dev
目录下的闪存驱动器;
of
指定输出文件;
/root/flashcopy
是要将物理副本复制到的文件名。

若要使用选项,例如
noerror

bs
(块大小)选项,命令可写为:


dd if=/dev/sdb of=/root/flashcopy bs=4096 conv=noerror

44、使用 mount 和 umount 命令挂载和卸载你的闪存驱动器。

挂载与卸载闪存驱动器

挂载闪存驱动器

可使用
mount
命令进行挂载。例如,将新的闪存驱动器
sdc1
挂载到
/media
目录,输入以下命令:


mount /dev/sdc1 /media

卸载闪存驱动器

使用
umount
命令进行卸载。例如,卸载闪存驱动器
sdb1
,输入以下命令:


umount /dev/sdb1

45、检查你的主硬盘上的可用磁盘空间。

可以使用
df
命令来检查磁盘空间信息。若不添加任何选项,
df
默认检查系统的第一个驱动器(如
sda
);若要检查其他驱动器,在
df
命令后加上要检查的驱动器标识(例如
df /dev/sdb
)。

示例命令:


df

46、使用fsck命令检查你的闪存驱动器是否存在错误。

首先要卸载设备,如执行:


umount /dev/sdb1

然后可以添加
-p
选项让
fsck
自动修复设备问题,如:


fsck -p /dev/sdb1

以此来检查设备是否有坏扇区或其他问题。

47、使用 dd 命令将一个闪存驱动器的全部内容(包括已删除的文件)复制到另一个闪存驱动器。

以下是调整为 Markdown 格式的文本内容:

假设源闪存驱动器为
/dev/sdb
,目标闪存驱动器为
/dev/sdc
,可使用命令:


dd if=/dev/sdb of=/dev/sdc

若要使用
noerror

bs
选项加速并处理错误,命令可写成:


dd if=/dev/sdb of=/dev/sdc bs=4096 conv=noerror

48、使用locate命令查找所有与rsyslog相关的文件。

在Kali系统中打开终端,输入命令:


locate rsyslog

结果可能如下:


/etc/rsyslog.conf

/etc/rsyslog.d

/etc/default/rsyslog

/etc/init.d/rsyslog

/etc/logcheck/ignore.d.server/rsyslog

/etc/logrotate.d/rsyslog

/etc/rc0.d/K04rsyslog

49、打开rsyslog.conf文件并将日志轮转设置为一周。

使用文本编辑器(如Leafpad)打开rsyslog的配置文件:


bash kali > leafpad /etc/rsyslog.conf

在配置文件中找到日志轮转相关设置。默认设置可能是“rotate 4”(每四周轮转一次),将其修改为“rotate 1”;

保存修改后的文件。

50、使用shred命令粉碎并删除所有内核日志文件。

要粉碎并删除所有内核日志文件,可使用如下命令:


shred -f -n [次数] /var/log/kern.log.*

其中
[次数]
可根据需求设定,如设定为10次,命令即为:


shred -f -n 10 /var/log/kern.log.*


-f
选项用于在必要时更改文件权限以允许覆盖,
-n
选项用于指定覆盖文件的次数。

51、通过命令行启动你的apache2服务。

在命令行输入
service apache2 start
来启动 apache2 服务,原答案中的
kali >
不是命令组成部分,且
services
拼写错误。

52、通过命令行启动 SSH 服务,然后从局域网中的另一台系统连接到 Kali 系统,请描述具体操作步骤。

在 Kali 系统中通过命令:


service ssh start

启动 SSH 服务;在另一台系统上使用:


ssh <Kali 系统用户名>@<Kali 系统 IP 地址>

例如:


ssh pi@192.168.1.100

进行连接,之后按提示输入密码完成连接。

53、启动PostgreSQL数据库服务,并设置它以供Metasploit使用,具体该如何操作?

启动PostgreSQL服务:在命令行输入


kali >service postgresql start

启动Metasploit:输入


kali >msfconsole

Metasploit启动完成后会看到提示符
msf >

设置PostgreSQL以存储Metasploit活动数据:在提示符
msf >
下输入


msf >msfdb init

按提示创建数据库
msf

msf_test
,创建配置文件
/usr/share/metasploit-framework/config/database.yml
,创建初始数据库模式。

以root身份登录Postgres:在提示符
msf >
下输入


msf >su postgres

创建用户和密码:登录Postgres后,在提示符
postgres@kali:/root$
下输入


postgres@kali:/root$ createuser msf_user -P

按提示输入新角色的密码。

54、尝试使用proxychains和Firefox浏览器访问指定网站。

可以按照以下步骤操作:

若不添加自己的代理且想使用Tor,保持proxychains默认配置(即让流量先通过127.0.0.1的9050端口,这是Tor的默认配置);若不使用Tor,注释掉配置文件中指向Tor的那一行(在该行前加
#
)。

若要添加更多代理,可访问 http://www.hidemy.name 查找代理IP地址,然后将其添加到
/etc/proxychains.conf
文件的
[ProxyList]
部分,例如:

socks4 114.134.186.12 22020

保存配置文件后,在终端输入命令:

kali > proxychains firefox www.指定网站域名

即可通过代理在Firefox中打开该网站。

© 版权声明

相关文章

暂无评论

none
暂无评论...