首页 > 系统相关 >Linux基础 -- (1)

Linux基础 -- (1)

时间:2024-11-07 22:45:29浏览次数:3  
标签:文件 -- 基础 用户 命令 查找 Linux 权限 链接

声明:
本文的学习内容来源于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

kalils设置成了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](/i/ll/?i=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](/i/ll/?i=img_convert/0524762c8fc1e04b605d462268fd1eaf.png)
- **NetworkManager**  
	动态网络控制和配置守护进程,支持有线网络、无线网络和 VPN 连接等。  
	NetworkManager 提供了图形界面和命令行工具,用于简化网络配置,使网络管理更灵活,能够自动检测网络变化并根据配置自动连接到可用的网络。

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

- **netstat -natup**  
	 `netstat` 是用于显示网络连接、路由表、接口统计等信息的命令。
	- `-n`:以数字形式显示地址和端口,避免进行域名解析。
	- `-a`:显示所有的连接和监听端口。
	- `-t`:显示 TCP 连接。
	- `-u`:显示 UDP 连接。
	- `-p`:显示相关的进程名称。
	```shell
	netstat -natup
	```
  ![Pasted image 20241107222734](/i/ll/?i=img_convert/5c618ddbf785f4e040a0a832c68f9e84.png)
- **ss -natup**  
	`ss` 是显示网络套接字状态的工具,速度更快,功能类似 `netstat`,用于显示 TCP 和 UDP 连接的状态、地址和端口信息。
	```shell
	ss -natup
	```
  ![Pasted image 20241107222749](/i/ll/?i=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 命令
scpSecure Copy 的缩写,用于在不同主机之间安全地复制文件。

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

十一、命令历史记录查看

history

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

标签:文件,--,基础,用户,命令,查找,Linux,权限,链接
From: https://blog.csdn.net/CrossProblems/article/details/143609696

相关文章

  • 信息安全工程师(80)网络安全测评技术与工具
    前言    网络安全测评是评估信息系统、网络和应用程序的安全性,以发现潜在的漏洞和威胁,并确保系统符合安全标准和政策的过程。一、网络安全测评技术渗透测试(PenetrationTesting)描述:通过模拟真实的攻击,评估系统、网络和应用程序的安全性,识别和修复漏洞。目标:......
  • 信息安全工程师(81)网络安全测评质量管理与标准
    一、网络安全测评质量管理遵循标准和流程网络安全测评应严格遵循国家相关标准和流程,确保测评工作的规范性和一致性。这些标准和流程通常包括测评方法、测评步骤、测评指标等,为测评工作提供明确的指导和依据。选择合格的测评团队测评团队应具备相关资质和经验,熟悉网络安全......
  • 默认 iOS 设置使已锁定的 iPhone 容易受到攻击
    苹果威胁研究的八个要点苹果手机间谍软件问题日益严重了解Apple苹果的设备和服务器基础模型发布尽管人们普遍认为锁定的iPhone是安全的,但iOS中的默认设置可能会让用户面临严重的隐私和安全风险。安全研究员Lambros通过PenTestPartners透露,锁定的iPhone上的默......
  • Windows基础 -- 常用cmd命令
    声明:本文的学习内容来源于B站up主“泷羽sec”的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题,请联系本人,我将立即删除相关内容。本文旨在帮助网络安全爱好者提升自身安全技能,并严格遵守国家法律法规。任何人利用本文......
  • Java入门14——动态绑定(含多态)
    大家好,我们今天来学动态绑定和多态,话不多说,开始正题~但是要学动态绑定之前,我们要学习一下向上转型,方便后续更好地理解~一、向上转型1.什么是向上转型网上概念有很多,但其实通俗来讲,向上转型就是把一个子类转换成父类2.代码演示+讲解这次我们依然以动物为例做演示~首先我......
  • 【人脸伪造检测后门攻击】 Exploring Frequency Adversarial Attacks for Face Forger
    一、研究动机​ 现有的后门攻击方法生成的对抗样本容易被识别,只是在空间域增加了扰动。为此,作者提出了一种频率对抗性攻击的方法,在频域中增加了对抗性的扰动DCT,接着利用融合模块对不同频段的能量进行微调,有效的避免了在空间范围攻击的冗余噪声:FGSM,PGD,最终通过逆变换生成对抗样......
  • P10954 LCIS 题目解析
    P10954LCIS题目解析题目链接思路前置:弱化版没什么好说的,设\(f_{i,j}\)表示\(a\)的前\(i\)个并且结尾为\(b_j\)的最长上升公共子序列。定义\(a_0=b_0=-\infty.\)转移:\(a_i=b_j,f_{i,j}=\max_{k\in[0,j-1]\text{且}b_k<a_i}f_{i-1,k}.\)否则,\(f_{i,j}=f_{......
  • Maxwell学习笔记——学生版体验
    Ansys提供了免费的学生版,在Ansys官网就可以下载,这里附上快捷链接:Ansys学生版|免费学生软件下载我也尝试下载了一下Ansysstudent和AnsysElectrionicsDesktopStudent,都是2024R2版本,这里分享一下体验。Ansysstudent在安装过程中没有模块选择界面,......
  • 高等数学,但用我的话说(这不是我的极限)
    高等数学,但用我的话说(这不是我的极限)目录‍目录高等数学,但用我的话说(这不是我的极限)目录极限须知极限,是你永远无法到达的真实极限有时不存在渐近线须知三明治定理(夹逼定理)多项式的极限\(x\toa\)时的有理函数的极限代入法关于\(\frac00\),不定式,因式分解,配方关于\(\fr......
  • 大纲
    目录杂谈开题报告一、立论依据a1、课题来源、选题依据和立论背景a2、研究目的、理论意义和应用价值2.数据收集b1国内外现状、发展动态b2文献查阅范围/手段;参考资料三、研究内容、技术路线、创新点c1研究内容/解决的关键技术c2技术路线/可行性分析【重点】特征工程语义分析聚类分......