Linux基础 -- (1)

Linux常用命令之passwd命令详解 passwd 命令是一个强大的工具,用于管理用户的密码和账户状态。通过使用不同的选项,可以灵活地更改密码、锁定和解锁账户、设置密码策略等。 阅读详情

声明:
本文的学习内容来源于B站up主“泷羽sec”的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题,请联系本人,我将立即删除相关内容。
本文旨在帮助网络安全爱好者提升自身安全技能,并严格遵守国家法律法规。任何人利用本文中的信息从事违法活动,均与本文作者和“泷羽sec”无关。请读者自觉遵纪守法,合理合法使用相关知识。


一、openssl

openssl 是一个开源的加密工具包,提供了加密、解密、签名和验证等功能。
其中,passwd 用于处理密码的加密操作。

示例 1:

openssl passwd -1 123

该命令中的 -1 参数表示使用 MD5 加密算法对密码 “123” 进行加密。
MD5 是一种常见的哈希算法,可以将任意长度的输入数据转化为固定的 128 位输出。使用这个命令会将 “123” 转换为 MD5 加密的密文。
Pasted image 20241107211643

示例 2:

openssl passwd -5 123

在该命令中,-5 参数指定使用 SHA-256 哈希算法对密码 “123” 进行加密。
SHA-256 是一种更为安全的哈希算法,生成的哈希值长度为 256 位。每次对相同的密码进行 SHA-256 加密时,由于会引入随机因素(如盐值),每次生成的密文都不同。这种随机性增强了密码的安全性,使得即使攻击者获取到密文,也很难反推出原始密码。
Pasted image 20241107211659


二、文件管理

1. touch:创建文件

  • 创建空文件
touch newfile

Pasted image 20241107211730

2. rm:删除文件

  • 删除文件
rm newfile

Pasted image 20241107211741

3. mkdir:创建目录

  • 新建目录
mkdir newdir

Pasted image 20241107212237

4. rmdir:删除空目录

  • 删除空目录
rmdir newdir

Pasted image 20241107212256

5. mv:重命名文件

  • 重命名文件
mv file.txt new.txt

Pasted image 20241107212334

6. mv:移动文件

  • 移动文件到新目录
mv newfile newdir2

Pasted image 20241107212415

7. cp:拷贝文件

  • 复制文件
cp file.txt newdir/newfile.txt

Pasted image 20241107212503

8. ln -s:创建软链接

  • 创建指向原文件的软链接
ln -s original.txt symlink.txt

Pasted image 20241107212625
Pasted image 20241107212631

9. ln:创建硬链接

  • 创建指向原文件的硬链接
ln ~/offsec123.txt hardlink.txt

Pasted image 20241107212725

10. 软链接和硬链接

软链接(Symbolic Link)

软链接,又称符号链接,是指向原文件路径的链接,类似于快捷方式。软链接文件本身只是一个指针,指向目标文件的位置。删除原文件后,软链接会失效,成为“断开的链接”。软链接可以对文件和目录创建,因此在需要引用目录或文件位置的情况下非常有用。

硬链接(Hard Link)

硬链接是指向原文件数据块的另一个文件名,两个文件共享相同的存储数据块。删除其中一个硬链接并不会影响数据的存在,文件内容依然可以通过其他硬链接访问。硬链接只能对文件创建,不支持对目录创建。只有当删除所有指向同一数据块的硬链接之后,文件数据才会真正被删除。

软链接和硬链接的区别

  1. 指向对象:软链接指向文件路径,而硬链接直接指向文件数据。
  2. 存储关系:软链接是一个独立的文件,占用少量存储空间;硬链接共享数据块,不增加存储空间。
  3. 跨文件系统:软链接可以跨不同文件系统使用,硬链接则只能在相同的文件系统内使用。
  4. 删除影响:删除原文件后,软链接失效,而硬链接仍可访问文件内容。只有删除所有硬链接后,文件数据才会被删除。
  5. 对目录的支持:软链接可以对文件和目录创建,硬链接仅支持文件。

用途

  • 软链接:常用于创建文件和目录的快捷方式,尤其是需要跨目录或跨文件系统引用资源时。适合引用动态内容(如版本控制中不同版本的文件)。
  • 硬链接:适用于在同一文件系统内需要创建文件副本的场景,且希望文件副本之间保持一致性。硬链接的多个文件名指向同一内容,避免冗余存储,也防止误删文件。
    综合之前的总结和新内容,进一步润色如下:

三、搜索文件

1. which:查找可执行文件

  • 查找系统命令的可执行文件路径,通常用于确定某个命令所在的具体位置。
which <command>

例如,查看 ls 命令的路径:

which ls

kali中ls设置成了ls --color=auto的别名
Pasted image 20241107213124
ubuntu中可以正常显示
Pasted image 20241107213216

2. echo:查看 PATH 环境变量

  • 输出当前系统的 PATH 环境变量内容,用于查看系统查找可执行文件的路径。
echo $PATH

Pasted image 20241107213300

3. locate:快速查找文件

  • 使用本地数据库 local.db 快速查找文件,适用于不需要实时数据的情况下进行文件查找。使用前通常需要更新数据库。
locate <filename>

例如,更新数据库并查找 whoami.exe 文件:

sudo updatedb
locate whoami.exe

Pasted image 20241107213339

4. find:在文件系统中查找文件

基本语法

find <路径> <查找条件> <操作>
  • <路径>:指定查找的起始目录,默认是当前目录(用 . 表示)。
  • <查找条件>:定义查找文件的条件,如文件名、类型、大小、时间等。
  • <操作>:对查找到的文件执行的操作,如删除、移动、执行脚本等。

常用查找条件

  1. 按文件名查找
    • 查找文件名为 example.txt 的文件。
    find /path/to/search -name "example.txt"
    

Pasted image 20241107213440

  • 忽略大小写查找文件名为 example.txt 的文件。
find /path/to/search -iname "example.txt"

Pasted image 20241107213521

  1. 按文件类型查找

    • 查找普通文件(-type f)、目录(-type d)、符号链接(-type l)、设备文件等。
    find /path/to/search -type f
    

    Pasted image 20241107213551
    其他类型包括:

    • b:块设备文件
    • c:字符设备文件
    • s:套接字文件
    • p:管道文件
  2. 按时间查找

    • 按修改时间:
      • 查找在过去 2 天内修改过的文件。
      find /path/to/search -mtime -2
      
      Pasted image 20241107213625
      • 查找恰好在 2 天前修改过的文件。
      find /path/to/search -mtime 2
      
      Pasted image 20241107213639
    • 按访问时间:
      • 查找在过去 30 分钟内访问过的文件。
      find /path/to/search -amin -30
      
    • 按创建时间(某些系统可能不支持):
      • 查找在过去 1 小时内创建的文件。
      find /path/to/search -ctime -1
      
  3. 按文件大小查找

    • 查找大于 10 MB 的文件。
    find /path/to/search -size +10M
    

    Pasted image 20241107213803

    • 查找小于 100 KB 的文件。
    find /path/to/search -size -100k
    

    Pasted image 20241107213831
    常见的单位:

    • k:KB
    • M:MB
    • G:GB
  4. 按权限查找

    • 查找权限为 777 的文件。
    find /path/to/search -perm 777
    

    Pasted image 20241107213853

    • 查找所有用户可写的文件(权限为 o=w)。
    find /path/to/search -perm -o=w
    

    Pasted image 20241107213935

  5. 按用户和组查找

    • 查找所有者为 root 的文件。
    find /path/to/search -user root
    

    Pasted image 20241107214010

    • 查找所属组为 admin 的文件。
    find /path/to/search -group admin
    

    Pasted image 20241107214027

常用操作

  1. 打印输出

    • 默认情况下,find 会直接输出找到的文件路径。
  2. 执行其他命令

    • 使用 -exec 参数对查找到的文件执行其他命令。
    • 删除查找到的文件。
    find /path/to/search -name "*.tmp" -exec rm {} \;
    
    • 其中 {} 表示找到的每个文件的路径,\; 用于表示命令结束。
      Pasted image 20241107214154
    • 批量移动文件到指定目录。
    find /path/to/search -name "*.jpg" -exec mv {} /path/to/destination \;
    

    Pasted image 20241107214313

  3. 删除符合条件的文件

    • 查找并删除 .log 文件。
    find /path/to/search -name "*.log" -delete
    

    Pasted image 20241107214338

  4. 查找并输出错误到 /dev/null

    • 查找时忽略错误信息输出。
    find /path/to/search -name "*.conf" 2>/dev/null
    

复杂操作

  • 按文件的修改时间查找文件并排序输出:

    find . -mtime -2 -ls | sort -k9 -k10 | more
    
    • find .:从当前目录开始查找。
    • -mtime -2:查找在两天内修改的文件。
    • -ls:详细列出查找到的文件信息。
    • sort -k9 -k10:按照文件名和时间进行排序。
      Pasted image 20241107214702
  • 查找最近 30 分钟内修改的 .sh 文件:

    find . -type f -iname '*.sh' -mmin -30 -ls
    
    • -type f:指定查找对象为普通文件。
    • -iname '*.sh':忽略大小写,查找以 .sh 结尾的文件。
    • -mmin -30:查找在 30 分钟内修改的文件。
      Pasted image 20241107214804
  • 查找并删除指定文件,例如 .svn 文件:

    find . -name '*.svn' -exec rm -rf {} \;
    
    • -exec:对查找到的每个文件执行指定操作。
    • rm -rf:递归删除文件或目录。
      Pasted image 20241107214154
  • 查找权限为 其他用户可写 的文件并忽略错误信息:

    find / -user root -type f -perm -o=w -name '*.sh' 2>/dev/null
    
    • -user root:查找所有者为 root 的文件。
    • -type f:限定为文件。
    • -perm -o=w:查找其他用户可写的文件。
    • 2>/dev/null:忽略错误信息的输出。
      Pasted image 20241107214938

说明

  • which:适用于定位已安装命令的执行路径。
  • echo $PATH:输出 PATH 环境变量内容,便于查看系统查找可执行文件的路径。
  • locate:基于数据库的快速文件查找工具,适用于一般的文件查找需求,不提供实时结果。
  • find:适合实时、精确的文件和目录查找,支持丰富的查找条件(如时间、权限、所有者等),适用于需要精确控制的查找任务。

四、用户和组账号管理

1. 用户账号数据库相关文件

  • /etc/passwd:
    这是一个重要的系统文件,存储了系统中用户账号的基本信息。
    每行代表一个用户,包含了用户名、密码占位符、用户 ID、用户组 ID、用户描述信息、用户主目录、用户默认 shell 等字段。
    Pasted image 20241107215013
  • /etc/shadow:
    该文件也与用户账号相关,主要存储用户密码的加密信息以及密码的属性(如密码最后一次修改时间、密码最短使用期限、密码最长使用期限等)。
    只有具有足够权限的用户(通常是 root)才可以读取该文件,以提高密码的安全性。
    Pasted image 20241107215044

2. 组账号相关命令

  • 使用 cat /etc/group 可以查看用户账号所属组的信息,因为其中包含了用户组 ID。
cat /etc/group

Pasted image 20241107215135

3. 添加用户

  • 方法 1:使用 useradd 命令

    useradd 是一个低级命令,创建用户后通常需要手动设置密码。

    sudo useradd -m newuser
    
    • -m:创建用户的同时为其生成主目录(通常位于 /home/newuser)。
    • newuser:新用户的用户名。
      Pasted image 20241107215439

    设置新用户的密码:

    sudo passwd newuser
    

    执行此命令后,系统会提示输入新用户的密码。
    Pasted image 20241107215459

  • 方法 2:使用 adduser 命令

    adduser 是一个更高级的命令,通常会交互式地设置用户的主目录、密码和其他信息。

    sudo adduser newuser
    
    • 系统会提示输入新用户的密码、用户信息(如全名、房间号等),这些可以直接按回车跳过。
    • adduser 命令会自动创建用户的主目录,并为新用户设置基本的环境配置。
      Pasted image 20241107215420

4. 验证用户是否创建成功

可以使用 id 命令来查看新用户的详细信息:

id newuser

Pasted image 20241107215510
这会显示新用户的 UID、GID 以及所属组的信息。

5. 为新用户添加管理员权限

如果希望新用户具有管理员权限,可以将其添加到 sudo 组:

sudo usermod -aG sudo newuser

这样,新用户在使用 sudo 时可以获得管理员权限。
Pasted image 20241107215534

6. 禁用账号相关命令

  • sudo passwd -l username
    使用 passwd 命令禁用指定的用户账号,-l 参数表示锁定用户账号。此命令将指定的 username 用户锁定,使其无法登录系统。
    sudo passwd -l username
    
    Pasted image 20241107215615
  • chage -E 1990-01-01 kali
    使用 chage 命令用于设置用户密码的过期时间。在这个示例中,将 kali 用户的过期时间设置为 1990-01-01,意味着在此日期之后该账号将无法使用,除非重新设置过期时间或进行其他管理操作。
    chage -E 1990-01-01 kali
    
    Pasted image 20241107215650
  • passwd -S username
    passwd 命令的另一种用法,用于显示指定用户账号的密码状态。
    -S 参数会显示该用户名的账号锁定状态,包括账号是否已锁定、密码是否已设置、密码最后一次修改时间等。
    passwd -S username
    
    Pasted image 20241107215704

五、Linux 文件权限和管理

在Linux系统中,几乎所有的资源都被抽象为文件,包括硬件设备(如硬盘、网卡等)、进程间通信、网络连接等。这种设计理念使得对各种资源的管理可以通过同意的文件操作方式来进行,大大简化了系统的架构和管理。

权限介绍

在 Linux 系统中,每个文件和目录的权限分为三种类型:用户(user)、组(group) 和 其他用户(other)。每种类型下的权限有三种操作:读(read)、写(write) 和 执行(execute)。这些权限组合决定了文件和目录的访问控制。

1. 权限的基础结构

在文件权限中,每个文件的权限以类似于 -rwxr-xr-- 的格式显示,其中每个字符代表一种权限或类型:

  • 文件类型:第一个字符表示文件类型。
    • - 表示普通文件。
    • d 表示目录。
    • l 表示符号链接。
    • b 表示块设备文件。
    • c 表示字符设备文件。
  • 权限:后面的 9 位表示权限,每 3 位一组,分别对应用户、组和其他用户的权限。

2. 权限的三种类型

每种权限使用一个字符表示:

  • r(read):读权限。允许查看文件内容,或列出目录内容。
  • w(write):写权限。允许修改文件内容,或在目录中创建、删除文件。
  • x(execute):执行权限。允许执行文件(如果是可执行文件),或进入目录。

3. 权限的分组

  • 用户(user):文件的所有者,对应权限的前三位(如 rwx------)。
  • 组(group):与文件所有者同组的用户,对应权限的中间三位(如 ---r-x---)。
  • 其他用户(other):系统中其他所有用户,对应权限的最后三位(如 ------r--)。

4. 示例分析

假设权限为 -rwxr-xr--,各部分含义如下:

  1. -:表示文件类型(- 表示普通文件)。
  2. rwx:文件所有者(user)的权限,具有读、写、执行权限。
  3. r-x:文件所属组(group)的权限,具有读、执行权限,但没有写权限。
  4. r--:其他用户(other)的权限,只有读权限。

5. 权限的数值表示

权限还可以用数值来表示,每种权限有一个对应的数字:

  • 读(r) = 4
  • 写(w) = 2
  • 执行(x) = 1

每 3 位权限组合的数值就是这三个权限的和。例如:

  • rwx = 4 + 2 + 1 = 7
  • rw- = 4 + 2 + 0 = 6
  • r-- = 4 + 0 + 0 = 4

因此,权限 -rwxr-xr-- 可以表示为 754。

6. 数字表示法示例

假设我们要设置文件权限为 755,表示:

  • 用户(user):7(rwx)——拥有读、写、执行权限。
  • 组(group):5(r-x)——拥有读、执行权限。
  • 其他用户(other):5(r-x)——拥有读、执行权限。

命令如下:

chmod 755 filename

7. 常用权限数值组合

  • 777:所有人都有读、写、执行权限(rwxrwxrwx),完全开放。
  • 755:用户有全部权限,组和其他用户只有读和执行权限(rwxr-xr-x),常用于公开的可执行文件。
  • 700:只有用户有全部权限,组和其他用户无权限(rwx------),用于私密文件。
  • 644:用户有读写权限,组和其他用户只有读权限(rw-r--r--),常用于公开的文档文件。

8. 文件与目录权限的差异

  • 文件:

    • r:允许读取文件内容。
    • w:允许修改文件内容。
    • x:允许执行文件(仅对脚本或可执行文件有意义)。
  • 目录:

    • r:允许查看目录中的文件名列表。
    • w:允许在目录中添加、删除文件或子目录。
    • x:允许进入目录,即使用 cd 进入该目录。

权限相关指令

1. 查看文件权限

使用 ls -la 命令查看文件权限和属性:

ls -la /etc/passwd
  • -l:以长格式显示文件属性,包括权限、所有者、所属组、大小和修改时间。
  • -a:显示包括隐藏文件在内的所有文件。
  • /etc/passwd 是存储系统用户账号基本信息的文件,使用 ls -la 命令可以查看它的权限、所有者和所属组信息。
    Pasted image 20241107215735

2. 更改文件所有者

使用 chown 命令更改文件的所有者:

chown root: file
  • chown:更改文件所有者的命令。
  • root:将文件所有者设置为 root 用户。
  • file:指定要更改所有者的文件名。
    Pasted image 20241107215947

3. 修改文件权限

使用 chmod 命令来修改文件权限:

  • 使用符号模式更改权限:

    sudo chmod u=rwx,g=rw,o=r file
    
    • u=rwx:给文件所有者(user)授予读(r)、写(w)、执行(x)权限。
    • g=rw:给文件所属组(group)授予读(r)、写(w)权限。
    • o=r:给其他用户(other)授予读(r)权限。
      Pasted image 20241107220113
  • 增加权限:

    sudo chmod u+x,g+x,o+w file
    
    • u+x:给文件所有者(user)增加执行(x)权限。
    • g+x:给文件所属组(group)增加执行(x)权限。
    • o:给其他用户(other)增加写(w)权限。
      Pasted image 20241107220218
  • 去除权限:

    sudo chmod u-x,g-rwx,o-rwx file
    
    • u-x:给文件所有者(user)去除执行(x)权限。
    • g-rwx:给文件所属组(group)去除读(r)、写(w)、执行(x)权限。
    • o-rwx:给其他用户(other)去除读(r)、写(w)、执行(x)权限。
      Pasted image 20241107220258

授予、增加、去除权限操作都可以杂糅进行,也可以一次只对一种分组进行操作

  • 使用数字模式设置权限:

    chmod 400 file
    
    • 400:表示文件所有者有读权限(4),而文件所属组和其他用户没有权限(0)。
      Pasted image 20241107220344
  • 递归授权:

chmod -R <权限> <目录>
  • 在 Linux 中,可以使用 chmod 命令的 -R 参数来递归更改文件夹及其内部所有文件和子文件夹的权限。
  • -R:表示递归处理,将指定目录下的所有文件和子目录都设置为相同的权限。
    Pasted image 20241107220443

六、日志查看与管理命令总结

1. 系统日志查看命令

  • ls -l /var/log:列出日志目录中的内容,显示每个文件的详细信息。该命令包含以下详细输出:
    • 权限:显示文件的读、写、执行权限。
    • 所有者和所属组:标识文件的创建者和分配的用户组。
    • 文件大小:以字节为单位显示文件大小。
    • 最后修改时间:显示文件的最后修改日期和时间。
  • /var/log目录通常包含系统日志文件,例如系统启动日志、内核日志、安全日志等。这条命令适合用来快速了解日志目录下有哪些文件和它们的基础信息。
    Pasted image 20241107220516

2. 认证信息日志查看命令

  • sudo tail -3 /var/log/auth.log:使用管理员权限查看认证日志文件的最新3条记录。
    • tail -3命令用于读取文件的最后3行,便于快速查看最近的日志内容。
    • /var/log/auth.log文件记录系统的认证信息,包括用户登录成功、失败及权限提升等信息。该日志文件对监控系统的安全性至关重要。
  • 这条命令可以帮助管理员检查系统最近的登录记录和认证失败情况,确保只有合法用户能够访问系统。
    kali中没有auth.log文件,使用Ubuntu演示
    Pasted image 20241107220644

3. 二进制日志日志查看命令

  • who /var/log/wtmp | tail -5:显示最近5条用户登录和注销的日志。
    • who命令读取指定的日志文件,在这里是/var/log/wtmp,它是一个二进制文件,记录所有用户的登录、注销事件。
    • |是管道符,将前一个命令的输出作为后一个命令的输入。
    • tail -5显示该文件中的最后5行记录,也即最近5次登录或注销信息。
  • 管理员可以使用此命令监控系统用户的活动情况,包括查看最近的登录和注销记录,以识别异常登录行为。
    Pasted image 20241107220738

4. 内核日志查看命令

dmesg:显示内核环形缓冲区中的信息,包含系统启动时的硬件检测信息和内核模块加载情况,适用于了解系统的硬件和内核状态。

  • 查看内核加载的所有模块信息:
dmesg | grep "module"

Pasted image 20241107220755

  • 查看硬件设备的加载日志(例如网络设备):
dmesg | grep "eth0"
  • 检查系统启动过程中是否有硬件错误:
dmesg --level=err,warn

Pasted image 20241107220852

  • 查看系统启动的时间戳:
dmesg -T

Pasted image 20241107220942

5. systemd日志查看命令

journalctl:查询systemd日志,可根据时间段、服务、优先级等筛选日志信息。适用于查看系统和服务的启动、运行、错误日志。

  • 查看系统最近启动后的日志:
journalctl -b

Pasted image 20241107221215

  • 查看SSH服务的相关日志:
journalctl -u sshd

Pasted image 20241107221339

  • 查看2024年11月1日至11月7日的日志:
journalctl --since "2024-11-01" --until "2024-11-07"

Pasted image 20241107221444

  • 查看警告及以上级别的日志信息:
journalctl -p warning

Pasted image 20241107221506

  • 实时跟踪日志更新(适合实时监控服务):
journalctl -f

Pasted image 20241107221523

七、系统资源管理命令

1. 内存使用量

free -m

free 命令用于显示系统内存的使用情况。

  • -m 选项将输出以 MB 为单位。执行后会显示系统的总内存、已使用内存、可用内存、缓冲内存和缓存内存等信息,帮助用户了解系统当前的内存状态。
    Pasted image 20241107222112

2. 磁盘使用量

df -hT

df 命令用于显示磁盘空间使用情况。

  • -h 选项将输出以易读格式(如 KB、MB、GB)显示磁盘空间大小。执行后可以查看磁盘的总大小、已用空间、可用空间以及文件系统类型等信息。
  • -T选项系那是文件系统类型。
  • 执行这个命令可以查看各个磁盘分区的总大小、已使用空间、可用空间以及文件系统类型等信息。
    Pasted image 20241107222124

3. 文件或目录大小

sudo du ./* -hsc

du 命令用于统计文件或目录的磁盘使用空间。

  • ./*表示当前目录下的所有文件和目录。
  • -h 选项将输出以易读格式显示文件或目录大小。
  • -s 选项显示目录的总大小。
  • -c 选项在最后显示总计大小。执行此命令可查看当前目录下每个文件和目录的大小,并显示总大小。
    Pasted image 20241107222225

4. 查看硬盘分区

sudo fdisk -l

fdisk 是一个磁盘分区管理工具,用于显示磁盘分区信息。

  • -l 选项显示系统中所有磁盘分区的详细信息,包括磁盘的大小、分区类型、分区编号、起始和结束扇区等,帮助用户了解系统的硬盘分区情况。
    Pasted image 20241107222241

5. 挂载分区

sudo mount /dev/sdb1 /mnt/usb

mount 命令用于将设备挂载到指定的目录。

  • 执行此命令后,系统可以访问该分区中的文件和目录,就像访问本地文件系统中的其他目录一样。
  • /dev/sdb1 表示要挂载的设备,/mnt/usb 是挂载目标目录。

八、网络管理工具

1. 基本网络工具

  • ifconfig
    用于配置和显示网络接口的命令行工具。可以显示网络接口的 IP 地址、子网掩码、MAC 地址等信息,并可用于启动、停止或配置网络接口。
    ifconfig
    

Pasted image 20241107222323

  • ip addr
    ip 命令是查看和管理网络接口的现代工具,提供比 ifconfig 更详细和灵活的网络接口信息显示,包括接口状态、IP 地址、子网掩码、广播地址等。
    ip addr
    
![Pasted image 20241107222351](https://img-blog.csdnimg.cn/img_convert/b566f835d7bdb7813f0ea837d2cb7fc6.png)
- **sudo ifdown eth0**  
	以管理员权限执行,关闭指定的网络接口 `eth0`。
	```shell
	sudo ifdown eth0
	```

- **sudo ifup eth0**  
	以管理员权限执行,启动指定的网络接口 `eth0`。
	```shell
	sudo ifup eth0
	```

## 2. 网络配置

- **/etc/network/interfaces**  
	一个系统文件,用于配置网络接口的静态 IP 地址、子网掩码、网关等信息。在一些 Linux 发行版中,通过编辑此文件可以实现网络接口的手动配置。
  ![Pasted image 20241107222526](https://img-blog.csdnimg.cn/img_convert/0524762c8fc1e04b605d462268fd1eaf.png)
- **NetworkManager**  
	动态网络控制和配置守护进程,支持有线网络、无线网络和 VPN 连接等。  
	NetworkManager 提供了图形界面和命令行工具,用于简化网络配置,使网络管理更灵活,能够自动检测网络变化并根据配置自动连接到可用的网络。

## 3. 网络连接状态查看工具

- **netstat -natup**  
	 `netstat` 是用于显示网络连接、路由表、接口统计等信息的命令。
	- `-n`:以数字形式显示地址和端口,避免进行域名解析。
	- `-a`:显示所有的连接和监听端口。
	- `-t`:显示 TCP 连接。
	- `-u`:显示 UDP 连接。
	- `-p`:显示相关的进程名称。
	```shell
	netstat -natup
	```
  ![Pasted image 20241107222734](https://img-blog.csdnimg.cn/img_convert/5c618ddbf785f4e040a0a832c68f9e84.png)
- **ss -natup**  
	`ss` 是显示网络套接字状态的工具,速度更快,功能类似 `netstat`,用于显示 TCP 和 UDP 连接的状态、地址和端口信息。
	```shell
	ss -natup
	```
  ![Pasted image 20241107222749](https://img-blog.csdnimg.cn/img_convert/9a9a4493c07565a2392328f397b4c22f.png)
## 4. 二层地址查看工具

**arp -en**  
`arp` 命令用于查看系统的 ARP 缓存表,显示 IP 地址与对应 MAC 地址的映射关系,用于在局域网中进行二层地址解析。
- `-e`:详细格式显示 ARP 缓存表。
- `-n`:以数字格式显示 IP 地址,避免域名解析。
```shell
arp -en

Pasted image 20241107222846

5. 路由信息相关工具

  • route
    route 命令用于显示和管理系统的路由表。可以查看当前路由信息,包括目标网络、网关、子网掩码等,还可以用于添加、删除或修改路由表条目。
    route
    
    Pasted image 20241107222856
  • ip route
    ip 命令的路由子命令,用于管理路由表,提供更复杂的路由配置。
    • 添加路由示例:指定 10.13.37.0/24 网络通过接口 eth1 到达。
    sudo ip route add 10.13.37.0/24 dev eth1
    

6. 路由跟踪工具

traceroute
traceroute 用于跟踪数据包从本地主机到目标主机所经过的路由路径。执行此命令会逐跳显示数据包经过的路由器的 IP 地址和响应时间,帮助用户了解网络连接的路径和可能存在的网络问题。

traceroute <目标地址>

示例:

traceroute offensive-security.com

Pasted image 20241107223057


九、SSH 服务与配置

1. 启动 SSH 服务

sudo systemctl start ssh
  • systemctl 是用于管理系统服务的工具,start ssh 启动 SSH 服务,使其他设备能够通过 SSH 协议连接到该主机。
    Pasted image 20241107223322

2. 连接本地主机

ssh root@localhost
  • ssh 是用于通过 SSH 协议登录远程主机的客户端命令。
  • root@localhost 表示以 root 用户身份登录本地主机。如果 SSH 服务已启动且配置正确,并且用户拥有相应的权限,可以通过此命令登录并获得一个远程命令行会话。
    Pasted image 20241107223415

3. 配置文件

/etc/ssh/sshd_config

这是 SSH 服务器的主要配置文件,包含 SSH 服务的各种参数配置,如监听端口号、允许的登录用户、认证方式、访问控制等。
可以通过编辑此文件来定制 SSH 服务器的行为,满足特定的安全和访问需求。
Pasted image 20241107223454

4. 客户端配置

  • hash knownHosts yes

    • SSH 客户端配置文件(通常为 ~/.ssh/config)中的一个配置选项。
    • 该选项用于控制是否将已知主机文件(~/.ssh/known_hosts)中的主机名和 IP 地址以哈希格式存储。启用后,主机名和 IP 地址会被哈希处理,增加安全性,防止已知主机信息被直接读取。
    • 默认情况下,SSH 客户端会将已知主机的密钥信息存储在 ~/.ssh/known_hosts 文件中,以确保连接的安全性。
      示例配置:
      在 ~/.ssh/config 文件中添加以下内容:
    Host *
        HashKnownHosts yes
    
    • Host *:表示对所有主机生效。
    • HashKnownHosts yes:启用哈希存储。
      Pasted image 20241107223658
      Pasted image 20241107223629
  • ~/.ssh/
    该目录用于存储 SSH 客户端的配置信息和相关文件,如用户的私钥(如 id_rsa)、公钥文件(如 id_rsa.pub)以及已知主机文件(known_hosts)。这些文件帮助 SSH 客户端进行身份验证和连接管理。
    Pasted image 20241107224145

十、远程拷贝

scp 命令
scp 是 Secure Copy 的缩写,用于在不同主机之间安全地复制文件。

scp root@1.1.1.1:/home/kali/.bashrc Copiedbashrc
  • scp 命令格式为 scp [源文件路径] [目标路径]。
  • 上述命令将远程主机 1.1.1.1 的 /home/kali/.bashrc 文件拷贝到本地,并命名为 Copiedbashrc。
  • root@1.1.1.1 表示登录到 1.1.1.1 主机的 root 用户身份。
    Pasted image 20241107224945

十一、命令历史记录查看

history

history 命令会列出用户在当前会话或历史记录中的命令列表,通过查看命令历史,用户可以找到并重新执行先前的命令。
Pasted image 20241107225016

在Linux中生成加密密码:简单易懂的密码保护技巧 工具,我们可以轻松地生成加密密码,并将其应用于各种应用程序和配置文件中。使用上述提供的示例代码,你可以在自己的系统上生成加密密码,并根据需要进行进一步的应用和调整。你可以将生成的加密密码用于Linux系统的各种应用,如用户密码、文件加密等。根据你的需求,将加密密码应用到相应的配置文件或程序中即可。命令生成加密密码来增加密码的安全性。本文将介绍如何在Linux下生成加密密码,并提供相应的源代码示例。是一个非常有用的工具,它可以生成加密密码。该命令会提示你输入密码,然后生成一个加密的密码。 阅读详情

相关推荐

400G光模块测试全攻略:从PCS层到CMIS合规的避坑指南

本文为网络设备测试工程师和光通信研发人员提供了一份详尽的400G光模块测试实战指南。文章深入剖析了从PCS层信号完整性、FEC容限到CMIS管理接口合规性测试的全流程,并分享了ANLT协议分析、SerDes眼图调试以及系统级流量压力测试中的核心技巧与常见避坑点,旨在帮助读者构建一套高效、精准的测试体系,确保高速光模块的可靠性与性能。

weixin_29300931的博客 209

passwd -S --status返回值说明

passwd -S或--status命令可以查看某一个用户密码的状态 passw -S mino mino P 04/21/2015 0 90 15 -1 第一列:返回值mino为用户名 第二列:locked password (L)密码被锁住, has no password (NP)没有密码, has a usable password (P)有一个可用密码 第三列:该用户密码的最后...

qq_30117591的博客 9664

RTAB-map:实时高效的SLAM库

Real‐time appearance‐based mapping (RTAB‐Map)是一种基于外观的闭环检测方法,具有良好的内存管理,以满足处理大场景和在线长周期管理要求。RTAB‐Map集成了视觉和激光雷达SLAM方案,并支持目前绝大多数的传感器 是一个强大的、开源的Simultaneous Localization and Mapping(SLAM)库,专为机器人和无人驾驶领域设计。它提供了一套完整的解决方案,用于构建三维地图,并在未知环境中进行实时定位与导航。 github项目地址 RTAB-

weixin_45761399的博客 1万+

Linux之用户密码修改命令 passwd 详解

用户和用户组管理-3.2修改用户密码 写在前面:自己写完检查可能会有所纰漏,读者们如若发现哪里有错误,可在下方留言或私信我,我会第一时间改正 ...

美好事物 6405

HDMI协议介绍(二)--DataIsland Packets

前文简单介绍了HDMI传输的三个周期:控制周期、DataIsland周期和Video周期。DataIsland传输音频和辅助数据,这些数据以Packet的形式传输。本文简单介绍DataIsland Packet。

SlamDunk的博客 5671

何恺明团队MeanFlow论文解读:单步生成模型如何实现ImageNet 256×256的SOTA效果?

何恺明团队提出的MeanFlow框架在生成式AI领域实现重大突破,通过引入平均速度场概念,在ImageNet 256×256数据集上达到单步生成3.43 FID的SOTA效果。该技术解决了传统Flow Matching方法的积分误差累积问题,显著提升生成效率与质量,为AI图像生成应用开辟新方向。

weixin_30687051的博客 397

Linux系统之passwd命令的基本使用

Linux系统之passwd命令的基本使用

jks212454的博客 1万+

Windows平台COLMAP实战:从零到三维重建的避坑指南

本文详细介绍了在Windows平台上使用COLMAP进行三维重建的完整流程,包括安装指南、数据准备技巧、图形界面操作及常见问题解决方案。特别针对Windows用户提供了CUDA版本与非CUDA版本的性能对比,帮助用户高效完成从照片到三维模型的重建过程。

weixin_29090677的博客 189

Linux基础第1天:Linux指令起步

本文介绍了Linux嵌入式开发的基础学习内容:1. 环境安装方法;2. 课程导入包括嵌入式系统定义及选择Linux的四大优势(开源、免费、可裁剪、基于文件系统);3. 高效学习方法建议(时间规划、问题解决途径、学习资源利用);4. Linux终端操作基础(常用快捷键解析、命令行结构说明)。文章强调合理利用AI工具和社区资源,并提醒ROOT用户操作需谨慎。适合Linux初学者快速入门参考。

acsdnrb的博客 981

CodeBuddy Code CLI 常用工作流:17个实战场景全解析

CodeBuddy Code CLI 17个实战场景解析 本文详细介绍了CodeBuddy Code CLI在17个开发场景中的高效应用,包括: 快速理解新代码库 高效修复Bug 安全重构代码 使用子代理系统处理专业任务 Plan Mode安全分析 自动化测试处理 创建合并请求 文档生成与维护 图片内容分析 文件目录快速引用 每个场景都配有具体命令示例和最佳实践,帮助开发者提升工作效率。

简简单单Onlinezuozuo 1078

飞牛fnNAS存储模式RAID 5数据恢复

中介绍了fnNAS存储空间的几个模式,细心的网友应该能感受到,我是非常推崇RAID 5的。但我认为,一般人出现1块硬盘损坏后,就能够赶紧采取处理措施了,再高的容灾等级也无法满足这个用户的需求了。》就完成了飞牛NAS存储空间的说明,包括了如何创建、怎么选择空间模式、RAID 5 硬盘故障后的更换、系统更换/重装后数据盘的恢复等等。在VMware中新建虚拟机,安装好fnNAS后,再向虚拟机添加“已有硬盘”(这就是所谓崩溃虚拟机的数据盘),此时新的fnNAS出现提示。在“选择要添加的硬盘”中,选择刚添加硬盘。

dgnankai的专栏 3008

linux基础命令1

linux基础命令1 Linux系统命令接近400个,我们主要学习几个常用的就好了,主要学习如下命令: 在学习命令之前,先查询一下Linux的版本号: [root@localhost 桌面]# uname -r //显示操作系统的发行版本 2.6.32-573.el6.i686 [root@localhost 桌面]# linxu内核版本格式:x.y.z x:主版本号 y:此版本号(偶数位稳...

jianjian的博客 1270

概率的接力:拆解大模型“预测下一个词“的底层逻辑

大模型的智能不在于它拥有了意识,而在于它用纯数学的架构,将人类语言的复杂结构压缩为可计算的向量轨迹与概率接力。当我们不再将其拟人化为"思考者",而是视作高维条件概率引擎时,才能真正驾驭它。预测下一个词,从来不是终点,而是起点。未来的核心竞争力,属于那些能洞察其统计本质、善用其模式生成能力,并以人类理性与事实为锚点的协作者。词元的轨迹终会止步于上下文窗口,但对技术底层的清醒认知,才是跨越幻觉、走向真实智能的基石。

AI浩 328

LINUX基础试题大全(1)

LINUX基础试题大全 说明:由于题数庞大,会不断更新答案! 填空题 在Linux系统中,以 方式访问设备 。 Linux内核引导时,从文件 中读取要加载的文件系统。 Linux文件系统中每个文件用 来标识。 全部磁盘块由四个部分组成,分别为 。 链接分为: 和 。 超级块包含了 和 等重要的文件系统信息。 某文件的权限为:drw-r–r--,用数值形式表示该权限,则该八进制数为: ,该文件属性是 。 前台起动的进程使用 Ctrl+c 终止。 静态路由设定后,若网络拓扑结构发生变化,需由 修改路由的

jackJruit的博客 2575

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Linux基础 Day1 笔记

rm -r : 递归删除 rm -f : 强制删除 rm -i : 交互模式。ls -t : 按时间排序 ls -r : 反向排序 ls -r : 递归显示文件。cp -r : 拷贝文件夹 cp -i : 交互模式 覆盖文件前询问用户 cp -v : 显示拷贝过程。ln -v : 显示指令的详细执行过程。

gbsns的博客 341

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux基础1

现在不会没事的,坚持每天学习一点,稳步进步!冲鸭! 基础指令的学习 1、ls指令 含义:ls(list) 用法1:#ls 含义:列出当前工作目录下的所有文件/文件夹的名称 用法2:#ls 选项路径 含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。 常见的语法: #ls-l 路径 #ls-la路径 -l:表示list,表示以详细列表的形式进行展示 ...

xiaolangmin的博客 263

Linux基础知识1

Linux基础知识1

Ivy_Hu677的博客 290

【Linux】1. Linux基础

Linux基础1. Linux基础1.1 Linux介绍1.2 VM与Linux系统(CentOS)安装1.3 Linux目录结构 1. Linux基础 1.1 Linux介绍 Linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强,有很多企业的项目都部署到Linux/unix服务器运行 Linux的主要发行版本 GNU计划的一部分(unix和Linux的关系) 使用场景: 1.2 VM与Linux系统(CentOS)安装 VM与Linux的关系: 安装VM 安装虚拟机 B

coolcoolcool 1079

linux基础 1

若要统计出现的次数,可以在命令模式下输入**:%s/Linux//gn**,其中%表示在整个文件范围内,s表示替换操作,//表示查找 “Linux”,g表示全局替换(即查找每一处),n表示只显示匹配次数而不进行实际替换,执行该命令后,vim 会在底部显示 “Linux” 出现的次数。在命令模式下,输入:%s/Linux/RHEL系统/gc,其中%表示整个文件,s表示替换,Linux是要查找的内容,RHEL系统是替换后的内容,g表示全局替换,c表示在每次替换前显示确认提示,输入y确认替换,n跳过本次替换。

2302_81866765的博客 848

Linux基础复习1

先打一发广告,我这个博客一开始就是用于记录算法的学习过程的,后来干脆想着把课堂笔记也整理整理放上来。想想这学期快结束了,下学期开始又要开始学习算法啦。我是准备从0开始学习的,借助于高中生信息学竞赛的平台。欢迎各位各类同学加进来,笑着问我为什么刷那么慢,或者跟我一起从0开始。欢迎对照对边导航栏,对准“算法向”的“洛谷”查看进度,刷完这个之后会继续刷USACO。群号是⑥⑥①⑨②2025,这是我设置的一道

在校大学生的博客 4514

关于linux:1. Linux 基础运维

Linux并非单一系统,而是由许多不同的“发行版”(Distribution,简称Distro)组成。每个发行版都是基于Linux内核的操作系统,但在软件包管理、系统架构、默认配置和目标用户群等方面有所不同。背景:CentOS 是基于 Red Hat Enterprise Linux (RHEL) 的免费版本,几乎完全兼容RHEL,常被用于企业服务器。2020年末,Red Hat 宣布停止维护 CentOS 8,转向 CentOS Stream,导致社区纷纷转向Rocky Linux等替代品。特点。

Triste__chengxi的博客 1865

Linux的基础1

linux的基础命令 linux操作系统----只面向服务端 登陆方法: 未列出—root—Taren1 windows—客户端 安卓 IOS UNIX----客户端 linux(里那克斯) linux是一个操作系统 linux所有的操作都是用命令来执行 所有linux的命令都要在终端上执行 终端的打开方法: 右键–打开终端 linux只由文件组成(linux一切皆文件) linux操...

qgw5205220的博客 176

Linux Fundamentals Part 1 Linux基础第 1 部分

这篇文章是"Linux基础"系列的第一部分,主要介绍了Linux操作系统的基本概念和常用命令。文章首先解释了Linux作为操作系统的广泛应用场景,包括智能汽车、Android设备、服务器等。然后详细讲解了Linux终端的基础操作,包括echo、whoami、ls、cd、cat、pwd等基本命令的使用方法,以及如何与文件系统交互。 文章还介绍了两个重要的搜索工具:find命令用于查找文件,grep命令用于搜索文件内容。最后讲解了shell运算符的使用,包括后台运行(&)、命令组合(

2301_80402310的博客 1247

1 Linux基础​

1 Linux基础先安装VM + Linux,再讲课约翰·冯·诺依曼计算机体系由5部分组成:输入设备、运算器、控制器、存储器、输出设备。1.1 操作系统是什么操作系统(Operating System,OS)也是一个软件。它是硬件基础上的第一层软件(也就是最底层的软件),是硬件和软件沟通的桥梁。1.2 常见的操作系统1. ...

qt1360726014的博客 966

Linux基础1

Linux基础1学习笔记

风依旧的博客 1131

1Linux基础

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考​诞生于1969年的贝尔实验室,由肯·汤普森和丹尼斯·里奇共同创造。核心贡献设计哲学:提出“小即是美”、“一个程序只做一件事并做好”的原则,以及通过管道组合小程序的理念。C语言:丹尼斯·里奇发明了C语言,并用它重写了UNIX内核,使其具备前所未有的可移植性。基础结构:确立了文件系统、进程、权限模型等现代操作系统的基础范式。

wmjdiidjjisjb的博客 471
上一篇: 安全见闻 -- Web精讲
下一篇: 安全见闻 -- 操作系统和驱动程序
?crying
博客等级 码龄7年 449粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值