网络安全&Linux@Kali(下)

1.1文件指令

1.2权限指令

1.3用户结构

1.4vim编辑器

1.5作者的废话

1.1文件指令

 

以下是对Linux中文件指令的详细介绍:

文件管理指令

• pwd:显示当前工作目录的绝对路径。在终端中输入`pwd`后,系统会返回当前所在的完整路径,例如`/root`。

• mkdir:创建新目录。语法为`mkdir [选项] 目录名`,如`mkdir mydir`会在当前目录下创建一个名为`mydir`的新目录。常用选项`-p`可递归创建父目录,如果必要的话,比如`mkdir -p /home/user/projects/new_project/src`。

• ls:列出当前目录下的文件和子目录。常用选项有:

• `-l`:以长格式列出目录内容,显示更多详细信息,包括权限、所有者、大小等。

• `-a`:列出包括隐藏文件在内的所有文件和目录。

• `-h`:以易读的方式显示文件大小,如KB、MB等。

• cd:切换工作目录。如`cd Documents`进入名为“Documents”的目录,`cd ..`返回上一级目录。

• touch:创建空文件或更新文件时间。如果文件已存在,则更新其访问时间和修改时间;如果文件不存在,则创建一个空文件。

 

• cp:复制文件或目录。语法为`cp [选项] 源文件 目标文件`,如`cp file.txt newfile.txt`将“file.txt”复制为“newfile.txt”。常用选项`-r`可递归复制目录及其内容,比如`cp -r Folder NewFolder`。

 

• mv:移动文件或目录,也可用于重命名文件。语法为`mv [选项] 源文件 目标文件`,如`mv myfile_1.txt myfile.txt`将`myfile_1.txt`重命名为`myfile.txt`。选项参数`-i`表示交互式,如果目标文件已存在,则询问确认;`-f`表示强制覆盖,不提示。

• rm:删除文件或目录。语法为`rm [选项] 文件`,如`rm file.txt`删除名为“file.txt”的文件。常用选项`-r`可递归删除目录及其内容,但需谨慎使用以避免意外数据丢失,如`rm -r OldFolder`。

• rmdir:删除指定的空目录。如果目录中包含文件或子目录,`rmdir`将无法执行删除操作。语法为`rmdir [选项] 目录名`,如`rmdir mydir/`删除`mydir`目录,但该目录必须为空。详细参数有:

• `-p, --parents`:同时删除目录及其父目录,前提是父目录也为空,如`rmdir -p parentdir/childdir/`。

• `--ignore-fail-on-non-empty`:如果目录不为空,则忽略错误,不会显示警告。

• `-v, --verbose`:显示详细输出,列出已删除的目录,如`rmdir -v mydir/`。

文件内容查看指令

• cat:把多个文件连接后输出到屏幕显示,若加“>`文件名`”则输出到另一个文件中。常用选项有:

• `-b`:从1开始对所有非空输出行进行编号。

• `-n`:从1开始对所有输出行编号。

• `-s`:将连续两行以上的空白行合并成一行空白行。

• head:查看某个文件的前n行数据。语法为`head -n 文件路径`,n表示行数,若未指定n大小,则默认n等于10。

• tail:查看某个文件的后n行数据。语法为`tail -n 文件路径`,n表示行数,若未指定n大小,则默认n等于10。还可用于查看某个文件的动态变化,一般用于查看系统日志,语法为`tail -f 文件路径`。

• less:以较少的内容输出的方式查看文件,可逐屏显示文件内容,并支持向前、向后翻页等操作。

文件信息查看指令

• wc:统计文件的行数、单词数和字节数。

• file:显示文件类型,可帮助用户了解文件的格式和内容类型。

• du:查看磁盘使用情况,可显示文件或目录所占用的磁盘空间大小。

文件权限修改指令

• chmod:修改文件权限,可改变文件的读、写、执行等权限,以控制不同用户对文件的访问和操作权限。

文件查找指令

• find:查找文件,可根据文件名、类型、大小、权限等多种条件在指定目录及其子目录中查找符合条件的文件。

• grep:文本搜索工具,用于搜索文件内容,并打印包含匹配文本的行。语法为`grep [选项] 文本 [文件名]`,常用选项有:

• `-n <数字>`:显示匹配行上下的n行。

• `-b`:打印匹配行的块号码。

• `-c`:只打印匹配的行数。

• `-h`:忽略文件名。

• `-i`:忽略大小写差异。

• `-q`:静默模式,只返回退出状态。

• `-l`:打印匹配模板的文件清单。

• `-v`:反向匹配,即显示不匹配的行。

Linux的用户结构

Linux系统采用多用户多任务的机制,其用户结构主要包括用户组和用户账户两个层面,它们共同构成了系统的用户管理体系,以实现对系统资源的有效分配和访问控制。

用户组

• 定义:用户组是具有相同特征或需求的用户的集合,通过将用户分配到不同的用户组,可以方便地对多个用户进行统一的权限管理。

• 类型:

• 主用户组:每个用户在创建时都会被分配一个主用户组,当用户创建文件或目录时,该文件或目录的所属组默认为主用户组。例如,用户`john`的主用户组是`developers`,那么`john`创建的文件默认所属组为`developers`。

• 附加用户组:除了主用户组外,用户还可以被添加到一个或多个附加用户组中。这样,用户可以同时拥有多个用户组的权限,从而实现更灵活的权限分配。比如,用户`jane`同时属于`writers`和`editors`两个附加用户组,那么她可以访问这两个用户组所拥有的资源。

• 管理:用户组的创建、修改和删除通常由系统管理员通过命令行工具(如`groupadd`、`groupmod`、`groupdel`)或图形界面工具来完成。例如,使用`groupadd newgroup`命令可以创建一个新的用户组`newgroup`。

用户账户

• 定义:用户账户是系统中用于标识和验证用户身份的唯一实体,每个用户账户都有一个唯一的用户名和对应的用户ID(UID)。

• 组成部分:

• 用户名:用户登录系统时使用的名称,通常由字母、数字和特殊字符组成,长度一般不超过8个字符。例如,`alice`、`bob123`等。

• 用户ID(UID):系统内部用于标识用户的唯一数字,每个用户都有一个唯一的UID。UID为0的用户是超级用户(root),拥有系统最高权限,可以执行任何操作;其他普通用户的UID通常从500或1000开始编号。

• 主目录:每个用户都有一个主目录,用于存放用户的个人文件和配置信息。主目录的路径通常在用户账户创建时指定,格式一般为`/home/用户名`。例如,用户`charlie`的主目录为`/home/charlie`。

• 登录Shell:用户登录系统后所使用的命令行解释器,用于执行用户的命令和脚本。常见的登录Shell有`/bin/bash`、`/bin/sh`等。用户可以根据自己的喜好选择不同的登录Shell。

• 管理:用户账户的创建、修改和删除由系统管理员负责,常用的命令行工具包括`useradd`、`usermod`、`userdel`等。例如,使用`useradd -m -s /bin/bash newuser`命令可以创建一个名为`newuser`的新用户账户,同时为其创建主目录并指定登录Shell为`/bin/bash`。

Linux的用户权限管理

Linux系统通过文件权限机制来控制用户对文件和目录的访问权限,以确保系统的安全性和数据的完整性。文件权限主要分为三类:读权限、写权限和执行权限,分别对应不同的操作。

文件权限分类

• 读权限(r):允许用户查看文件的内容或列出目录中的文件列表。对于文件,具有读权限的用户可以使用`cat`、`less`等命令查看文件内容;对于目录,具有读权限的用户可以使用`ls`命令查看目录中的文件和子目录列表。

• 写权限(w):允许用户修改文件的内容或在目录中创建、删除和重命名文件。对于文件,具有写权限的用户可以使用文本编辑器(如`vi`、`nano`)编辑文件内容,也可以使用`echo`等命令向文件中写入数据;对于目录,具有写权限的用户可以在目录中创建新文件、删除现有文件或重命名文件。

• 执行权限(x):允许用户执行文件或将目录作为路径进行访问。对于可执行文件(如程序、脚本等),具有执行权限的用户可以运行该文件;对于目录,具有执行权限的用户可以进入该目录并访问其子目录和文件,即使没有读权限也可以通过已知的路径访问目录中的文件。

权限分配对象

• 所有者(owner):文件或目录的创建者或拥有者,通常对该文件或目录拥有最高权限。所有者可以自由地设置文件或目录的权限,也可以将其权限转让给其他用户或用户组。

• 所属组(group):文件或目录所属的用户组,组内的成员对该文件或目录拥有相同的权限。通过将用户添加到不同的用户组,可以实现对多个用户进行统一的权限管理,提高管理效率。

• 其他用户(others):除了所有者和所属组成员之外的其他所有用户,他们对该文件或目录的访问权限通常受到限制,以保护文件的安全性和隐私性。

权限表示方法

Linux系统中文件权限通常用字符和数字两种方式表示。

• 字符表示法:使用`r`、`w`、`x`分别表示读、写、执行权限,`-`表示没有相应权限。权限字符按照所有者、所属组、其他用户的顺序排列,共9个字符。例如,`-rwxr-xr-x`表示所有者具有读、写、执行权限,所属组和其他用户具有读、执行权限,但没有写权限。

• 数字表示法:将读、写、执行权限分别用数字4、2、1表示,没有权限用0表示。将所有者、所属组、其他用户的权限数字相加,得到一个三位数的权限码。例如,`755`表示所有者具有读、写、执行权限(4+2+1=7),所属组和其他用户具有读、执行权限(4+1=5)。

权限修改命令

• chmod:用于修改文件或目录的权限。语法为`chmod [选项] 权限 文件名`,其中权限可以用字符表示法或数字表示法。例如,`chmod u+x file.txt`为文件`file.txt`的所有者添加执行权限;`chmod 644 file.txt`将文件`file.txt`的权限设置为所有者具有读、写权限,所属组和其他用户具有读权限。

• chown:用于改变文件或目录的所有者。语法为`chown [选项] 新所有者 文件名`。例如,`chown newuser file.txt`将文件`file.txt`的所有者更改为`newuser`。

• chgrp:用于改变文件或目录的所属组。语法为`chgrp [选项] 新所属组 文件名`。例如,`chgrp newgroup file.txt`将文件`file.txt`的所属组更改为`newgroup`。

特殊权限

• SUID(Set User ID):当文件设置了SUID权限后,任何用户执行该文件时,都会以文件所有者的身份运行,从而获得文件所有者的权限。这对于一些需要特殊权限才能正常运行的程序非常有用,但也存在安全风险。例如,`passwd`命令设置了SUID权限,普通用户在修改密码时可以以`root`用户的身份访问系统密码文件。

• SGID(Set Group ID):与SUID类似,SGID权限允许用户在执行文件时以文件所属组的身份运行,从而获得所属组的权限。此外,当目录设置了SGID权限后,用户在该目录下创建的文件或子目录将自动继承目录的所属组,而不是用户的主用户组。这对于需要共享文件的用户组非常方便。

• Sticky Bit(粘滞位):主要用于目录,当目录设置了粘滞位后,只有文件的所有者、目录的所有者或`root`用户才能删除或移动该目录下的文件,即使其他用户对该目录具有写权限也不例外。这可以防止用户误删除其他用户的重要文件,常用于公共目录,如`/tmp`目录。

vim编辑器

Vrm编辑器简介

Vim是一款功能强大的文本编辑器,它具有丰富的功能和灵活的配置,广泛应用于编程、文本编辑等领域。以下是Vim编辑器的使用教程,从基本操作到常用功能,帮助你快速上手Vim。


启动和退出Vim

• 启动Vim:

• 打开终端,输入`vim`命令,然后按回车键,即可启动Vim编辑器,进入一个空白的编辑窗口。

• 如果你想编辑一个已存在的文件,可以在命令行中输入`vim 文件名`,例如`vim example.txt`,Vim会打开并显示该文件的内容。

• 退出Vim:

• 如果你没有对文件进行任何修改,或者修改后已经保存,可以直接按`Esc`键,然后输入`:q`,再按回车键退出Vim。

• 如果你修改了文件但尚未保存,按`Esc`键后输入`:q!`,再按回车键可以强制退出Vim,不保存所做的修改。

• 如果你想保存修改并退出Vim,按`Esc`键后输入`:wq`,再按回车键即可。


Vim的三种基本模式


Vim主要有三种工作模式:命令模式、插入模式和末行模式,掌握这三种模式的切换是使用Vim的关键。


• 命令模式:

• 这是Vim启动时的默认模式,主要用于执行各种编辑命令,如移动光标、删除字符、复制粘贴等。

• 在命令模式下,你可以按键盘上的方向键来移动光标,也可以使用`h`(左)、`j`(下)、`k`(上)、`l`(右)键来移动光标,这些键是Vim中常用的光标移动快捷键。

• 例如,按`j`键可以使光标向下移动一行,按`k`键可以使光标向上移动一行。

• 插入模式:

• 在插入模式下,你可以像在其他文本编辑器中一样输入和编辑文本。

• 从命令模式进入插入模式有多种方法,常用的有:

• 按`i`键,光标所在位置前插入文本。

• 按`a`键,光标所在位置后追加文本。

• 按`I`键,行首插入文本。

• 按`A`键,行尾追加文本。

• 要从插入模式返回到命令模式,只需按`Esc`键即可。

• 末行模式:

• 末行模式用于执行一些特殊的命令,如保存文件、退出Vim、查找替换等。

• 从命令模式进入末行模式,需要按`:`键,此时光标会移动到屏幕的最后一行,等待你输入命令。

• 例如,输入`:w`并按回车键可以保存文件,输入`:q`并按回车键可以退出Vim。


常用编辑命令

• 移动光标:

• `gg`:移动到文件的第一行。

• `G`:移动到文件的最后一行。

• `nG`:移动到文件的第n行,例如`10G`移动到第10行。

• `0`:移动到当前行的行首。

• `$`:移动到当前行的行尾。

• `w`:向前移动到下一个单词的开头。

• `b`:向后移动到上一个单词的开头。

• `e`:移动到当前单词的结尾。

• 删除操作:

• `x`:删除光标所在位置的字符。

• `dd`:删除光标所在的整行。

• `ndd`:删除光标所在的向下n行,例如`3dd`删除光标所在的向下3行。

• `dw`:删除光标所在位置的单词。

• `db`:删除光标所在位置的上一个单词。

• 复制粘贴:

• `yy`:复制光标所在的整行。

• `nyy`:复制光标所在的向下n行,例如`5yy`复制光标所在的向下5行。

• `yw`:复制光标所在位置的单词。

• `p`:在光标所在位置的下一行粘贴复制的内容。

• `P`:在光标所在位置的上一行粘贴复制的内容。

• 查找替换:

• `/word`:向下查找“word”字符串,按`n`键可以查找下一个匹配项,按`N`键可以反向查找下一个匹配项。

• `?word`:向上查找“word”字符串,查找方向与`/`相反。

• `:%s/old/new/g`:将文件中所有的“old”字符串替换为“new”字符串,其中`%`表示整个文件,`g`表示全局替换。

• 撤销与重做:

• `u`:撤销上一步操作。

• `Ctrl + r`:重做上一步被撤销的操作。


配置Vim


Vim的配置文件通常位于用户的主目录下,文件名为`.vimrc`。你可以通过编辑`.vimrc`文件来定制Vim的各种设置,以满足你的个人需求。以下是一些常见的配置选项:


• `syntax on`:开启语法高亮显示,使代码更易于阅读。

• `set number`:显示行号,方便定位代码行。

• `set tabstop=4`:设置制表符的宽度为4个空格。

• `set shiftwidth=4`:设置缩进的宽度为4个空格。

• `set expandtab`:将制表符转换为空格,避免制表符和空格混用。

• `set autoindent`:自动缩进,根据上一行的缩进自动调整当前行的缩进。

• `colorscheme desert`:设置Vim的主题颜色为“desert”,你可以根据自己的喜好选择不同的主题颜色。

要修改`.vimrc`文件,可以在终端中输入`vim ~/.vimrc`命令,然后在打开的文件中添加或修改配置选项,保存并退出后,重新启动Vim即可使配置生效。

作者的废话

Linux的系统,有非常多的发行版,传说类型有很多,但是使用方法也基本大同小异.我的讲解有什么不对的地方,欢迎大家前来指出

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李大轩

谢谢打赏,我马上更新,嘿嘿!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值