Linux:插入内容
nmap
vim passwd.txt
cat passwd.txt
esc退出:wq!
想要快速学会的重点是使用和记忆,理解尤为重要,以下给出的是linux系统中kali常用口令,适合基础学习使用。
一、基础命令
- man man命令查看
- tab补全命令
- ctrl+c终止当前进程
- ctrl+d键盘输入结束
- ctrl+l清屏
- 执行命令格式:命令名称 命令参数 命令对象
命令名称、命令参数与命令对象之间要用空格进行分隔,且字母严格区分大小写
7.Tab 键绝对是使用频率最高的,它能够实现对命令、参数或文件的内容补全。
二、常用命令
- date显示或设置系统的时间与日期,语法格式为“date [+指定的格式]”。
-
timedatectl 命令用于设置系统的时间,英文全称为“time date control”,语法格式为
“timedatectl [参数]”。
-
reboot 命令用于重启系统,输入该命令后按回车键执行即可。
-
poweroff 命令用于关闭系统,输入该命令后按回车键执行即可。
-
wget 命令用于在终端命令行中下载网络文件,英文全称为“web get”,语法格式为“wget
[参数] 网址”。
-
ps 命令用于查看系统中的进程状态,英文全称为“processes”,语法格式为“ps [参
数]”。ps -aux展示进程信息
-
pstree 命令用于以树状图的形式展示进程之间的关系,英文全称为“process tree”,输入
该命令后按回车键执行即可。
-
top 命令用于动态地监视进程活动及系统负载等信息,输入该命令后按回车键执行即可。
-
nice 命令用于调整进程的优先级,语法格式为“nice 优先级数字 服务名称”。
数字越低(取值范围是-20~19),优先级越高。
-
pidof 命令用于查询某个指定服务进程的 PID 号码值,语法格式为“pidof [参数] 服务名称”。
-
kill 命令用于终止某个指定 PID 值的服务进程,语法格式为“kill [参数] 进程的 PID”。
-
killall 命令用于终止某个指定名称的服务所对应的全部进程,语法格式为“killall [参数] 服
务名称”。
三、系统状态检测命令
-
ifconfig 命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就
是网卡名称、inet 参数后面的 IP 地址、ether 参数后面的网卡物理地址(又称为 MAC 地址)
yum install net-tools替换查询
-
uname 命令用于查看系统内核版本与系统架构等信息.
一般要固定搭配上-a 参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、压制时间、硬件名称、硬件平台、处理器类型以及操作系统。
名称等信息
-
uptime 命令用于查看系统的负载信息,输入该命令后按回车键执行即可
-
free 命令用于显示当前系统中内存的使用量信息,语法格式为“free [-h]”。
-
who 命令用于查看当前登入主机的用户终端信息,输入该命令后按回车键执行即可。
-
last 命令用于调取主机的被访记录,输入该命令后按回车键执行即可。
-
ping 命令用于测试主机之间的网络连通性,语法格式为“ping [参数] 主机地址”。
-
tracepath 命令用于显示数据包到达目的主机时途中经过的所有路由信息
-
netstat 命令用于显示如网络连接、路由表、接口状态等的网络相关信息,英文全称为
“network status”,语法格式为“netstat [参数]”。
-
history 命令用于显示执行过的命令历史,语法格式为“history [-c]”。
-
sosreport 命令用于收集系统配置及架构信息并输出诊断文档,输入该命令后按回车键执行即可。sudo apt install sosreport替换查询
四、查找定位文件命令
-
pwd 命令用于显示用户当前所处的工作目录
-
cd 命令用于切换当前的工作路径
cd -命令返回到上一次所处的目录,
cd ..命令进入上级目录,
cd ~命令切换到当前用户的家目录,抑或使用
cd ~username命令切换到其他用户的家目录
-
ls 命令用于显示目录中的文件信息,英文全称为“list”,语法格式为“ls [参数] [文件名称]”。
-
tree 命令用于以树状图的形式列出目录内容及结构sudo yum install tree替换查找
-
find 命令用于按照指定条件来查找文件所对应的位置,语法格式为“find [查找范围] 寻找条件”。
-
locate 命令用于按照名称快速搜索文件所对应的位置sudo yum install mlocate
-
whereis 命令用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置,语法格式为“whereis 命令名称”。
-
which 命令用于按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为
“which 命令名称”。
五、文件目录管理命令
-
cat 命令用于查看纯文本文件(内容较少的),英文全称为“concatenate”,语法格式为“cat[参数] 文件名称”。
-
more因此对于长篇的文本内容,推荐使用 more 命令来查看。more
命令会在最下面使用百分比的形式来提示您已经阅读了多少内容;还可以使用空格键或回车
键向下翻页
-
head 命令用于查看纯文本文件的前 N 行,语法格式为“head [参数] 文件名称”。
-
tail 命令用于查看纯文本文件的后 N 行或持续刷新文件的最新内容,语法格式为“tail [参数] 文件名称”。tail -f /var/log/messages 实时查看日志
-
tr 命令用于替换文本内容中的字符,英文全称为“translate”,语法格式为“tr [原始字符]
[目标字符]”。
-
wc 命令用于统计指定文本文件的行数、字数或字节数。
-
grep 命令用于按行提取文本内容。
-
stat 命令用于查看文件的具体存储细节和时间等信息。
-
cut 命令用于按“列”提取文本内容
-
diff 命令用于比较多个文件之间内容的差异
-
uniq 命令用于去除文本中连续的重复行
-
sort命令用于对文本内容进行再排序
六、文件目录管理命令
- touch 命令用于创建空白文件或设置文件的时间
-
mkdir 命令用于创建空白的目录,英文全称为“make directory”,语法格式为“mkdir [参
数] 目录名称”。
-
cp 命令用于复制文件或目录
-
mv 命令用于剪切或重命名文件
-
rm 命令用于删除文件或目录
-
dd 命令用于按照指定大小和个数的数据块来复制文件或转换文件
-
file 命令用于查看文件的类型
-
tar 命令用于对文件进行打包压缩或解压
七、在Linux根目录(/)下,以下是一些常见目录及其含义:
-
/bin:包含基本的用户命令,例如 ls, cp, mv 等。
-
/boot:存放启动时所需的文件,包括内核和引导加载程序。
-
/dev:设备文件的目录,代表系统中的硬件设备。
-
/etc:包含系统配置文件,系统服务的配置通常存放在这里。
-
etc/passwd 是 Linux 系统中一个重要的文件,它存储了用户账户的信息,包括用户名、用户ID(UID)、组ID(GID)、用户描述、主目录和默认shell等。
-
-
/home:用户的主目录,每个用户在这里有自己的子目录。
-
/lib:包含系统运行所需的共享库文件。
-
/media:挂载点,用于可移动设备(如USB驱动器)。
-
/mnt:通常用于临时挂载文件系统。
-
/opt:用于安装额外的应用程序包。
-
/proc:虚拟文件系统,包含关于正在运行的进程和系统信息的文件。
-
/root:超级用户(root用户)的主目录。
-
/run:存放运行时数据,如系统服务的PID文件。
-
/srv:服务数据,包含由系统提供的服务的文件。
-
/sys:虚拟文件系统,提供对内核对象的接口。
-
/tmp:临时文件目录,存放临时文件。
-
/usr:包含用户级应用程序和文件,包括 /usr/bin 和 /usr/lib 等。
-
/var:存放可变数据,如日志文件、邮件等。
这些目录是Linux文件系统的基本组成部分,了解它们的用途有助于更好地管理和使用系统。
八、用户身份与文件权限
- 用户身份与能力
id 命令:
这个 id 命令是一个在创建用户前需要仔细学习的命令,它能够简单轻松地查看用户的基本信息
useradd 命令:
useradd 命令用于创建新的用户账户,语法格式为“useradd [参数] 用户名”
groupadd 命令:
groupadd 命令用于创建新的用户组
usermod 命令:
usermod 命令用于修改用户的属性
passwd 命令:
passwd 命令用于修改用户的密码、过期时间等信息
userdel 命令:
userdel 命令用于删除已有的用户账户
2.文件权限与归属
属组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。文件的可读、可写、可执行权限的英文全称分别是 read、write、execute,可以简写为 r、w、x,亦可分别用数字 4、2、1 来表示
3.文件的特殊权限
SUID
SUID 是一种对二进制程序进行设置的特殊权限,能够让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效)。一旦某个命令文件被设置了 SUID 权限,就意味着凡是执行该文件的人都可以临时获取到文件所有者所对应的更高权限。因此,千万不要将 SUID 权限设置到 vim、cat、rm 等命令上面
SGID
SGID 特殊权限有两种应用场景:当对二进制程序进行设置时,能够让执行者临时获取文件所属组的权限;当对目录进行设置时,则是让目录内新创建的文件自动继承该目录原有用户组的名称。SGID 的第一种功能是参考 SUID 而设计的,不同点在于执行程序的用户获取的不再是文件所有者的临时权限,而是获取到文件所属组的权限。
SBIT
SBIT 特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。
4.文件的隐藏属性
既然叫隐藏权限,那么使用常规的 ls 命令肯定不能看到它的真面目。隐藏权限的专用设置命令是 chattr,专用查看命令是 lsattr。
chattr 命令,英文全称为 change attributes,语法格式为“chattr [参数] 文件名称”。
lsattr 命令,英文全称为“list attributes”,语法格式为“lsattr [参数] 文件名称”。
5.文件访问控制列表
setfacl命令
setfacl 命令用于管理文件的 ACL 权限规则,英文全称为“set files ACL”,语法格式为
“setfacl [参数] 文件名称”。
ACL 权限提供的是在所有者、所属组、其他人的读/写/执行权限之外的特殊权限控制。使用 setfacl 命令可以针对单一用户或用户组、单一文件或目录来进行读/写/执行权限的控制。其中,针对目录文件需要使用-R 递归参数;针对普通文件则使用-m 参数;如果想要删除某个文件的 ACL,则可以使用-b 参数。
getfacl 命令
getfacl 命令用于查看文件的 ACL 权限规则,英文全称为“get files ACL”,语法格式为“getfacl [参数] 文件名称”。Linux 系统中的命令就是这么又可爱又好记。想要设置 ACL,用的是 setfacl 命令;要想查看 ACL,则用的是 getfacl 命令。
要清空所有 ACL 权限,请用-b 参数;要删除某一条指定的权限,就用-x 参数
6.su命令与sudo服务
su 命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从 root 管理员切换至普通用户.
sudo 命令用于给普通用户提供额外的权限,语法格式为“sudo [参数] 用户名”。使用sudo命令可以给普通用户提供额外的权限来完成原本只有 root管理员才能完成的任务,可以限制用户执行指定的命令,记录用户执行过的每一条命令,集中管理用户与权限(/etc/sudoers),以及可以在验证密码后的一段时间无须让用户再次验证密码。
7.visudo 命令用于编辑、配置用户 sudo 的权限文件,语法格式为“visudo [参数]”。
九、常见
- /etc/login.defs 是 Linux 系统中的一个配置文件,用于定义用户登录和账户管理的全局设置。这个文件包含了一些默认的参数,例如用户和组的 UID/GID 范围、密码过期策略、账户过期设置等。
- /etc/shadow 是一个重要的文件,用于安全地存储用户的密码信息。
- 与 /etc/passwd 文件不同,/etc/shadow 只允许特权用户(如 root)访问,增加了系统的安全性。
- /etc/profile 是一个全局配置文件,在 Linux 和 Unix 系统中用于设置系统级的环境变量和启动程序。这些设置会影响所有用户的登录会话。
-
auth required:表示这是一个必须通过的认证模块。
pam_tally2.so:用于记录登录尝试的模块。
onerr=fail:如果模块发生错误,则认证失败。
deny=5:在超过 5 次失败尝试后,账户将被锁定。
unlock_time=600:锁定账户后,600 秒(10 分钟)后自动解锁。
even_deny_root:即使是 root 用户也适用此规则。
root_unlock_time=600:root 用户的锁定时间设置为 600 秒。
-
/etc/pam.d/system-auth 文件是Linux系统中用户认证的重要配置文件,影响着用户如何登录和使用系统。
-
system-auth 文件通常包含了一系列的规则和模块,这些规则和模块定义了用户在系统上进行身份验证时所需遵循的步骤。这个文件通常会被多个服务(如登录、SSH、sudo等)引用,以确保一致的认证策略。
以下是一些常见的内容和含义:
-
模块类型:文件中的每一行通常以模块类型开头,例如 auth、account、password 和 session。这些类型分别对应不同的认证阶段:
-
auth:处理用户身份验证。
-
account:检查用户的账户状态(如是否被锁定)。
-
password:处理密码更改。
-
session:管理用户会话的开始和结束。
-