建议先看一
声明: 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章。本文只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 微信公众号:泷羽sec
文件系统权限
Linux系统中一切都是文件
1.查看权限
ls -la /etc/passwd
逐步分析这个命令:
ls
:是列出目录内容的命令。
-l
:以长格式显示文件信息,包括文件的权限、所有者、所属组、文件大小、修改时间等详细信息。
-a
:显示包括隐藏文件在内的所有文件。
/etc/passwd
:是要查看的文件路径,这个文件存储啦系统用户账号的基本信息。通过这个命令可以看到’etc/passwd’文件的权限设置、所有者、所属组等信息。
2.更改文件所有者
chown root file
chown
:改变文件所有者的命令
root
:在这里是新的所有者用户名,表示这里将这个文件的所有者改为“root”用户。
file
:是要更改所有者的文件名称
执行这个命令后,文件的所有者将会变成root用户
3.修改文件权限
sudo chmod u=rwx, g+rw, o-r file
sudo
:表示用户以管理员权限执行命令。
chmod
:改变文件权限的命令。
u=rwx
:表示文件所有者user
拥有(读)r
(写)w
、(执行)x
权限。
g+rw
:表示文件所属组group
增加读r
和写w
的权限。
o-r
:表示其他用户other
去除r
读的权限。
file
:要修改权限的文件名称。
sudo chomd u+x,g+w,o-r file
同样以管理员权限执行文件权限的操作
u+x
:给文件所有者增加执行权相。
g+w
:给文件的所属组增加写w
权限
o-r
:表示去除其他用户的读r
权限
chmod 400 <file>
chmod
命令直接以数字方式设置文件权限
400
:是权限数字表示,其中第一位数字“4”表示文件所有者的权限,这里代表读r
<file>
要设置的文件
linux中的chmod数字权限
在Linux系统中,可以使用chmod命令来改变文件或目录的访问权限。这个命令可以使用两种方式来表示权限:符号式和数字式。
符号式权限(symbolic mode)使用字符u,g,o来代表用户(user)、组(group)、其他人(others),a代表所有人(all),r代表读(read),w代表写(write),x代表执行(execute)。
数字式权限(numeric mode)使用三位数字,每一位数字代表不同的用户类别的权限。第一位数字代表用户(user)的权限,第二位数字代表组(group)的权限,第三位数字代表其他人(others)的权限。每个数字是 0-7 之间的值,分别代表的权限是:0(没有权限),1(只有执行权限),2(只有写权限),3(写和执行权限),4(只有读权限),5(读和执行权限),6(读和写权限),7(读、写和执行权限)。
例如,给所有人添加读、写和执行权限,可以使用以下命令:
chmod 777 文件或目录名
或者使用符号式权限:
chmod a+rwx 文件或目录名
如果你想要将一个文件的权限设置为所有者可读写执行,组可读执行,其他人只可读,可以使用以下命令:
chmod 755 文件名
或者使用符号式权限:
chmod u=rwx,g=rx,o=r 文件名
注意:在使用chmod命令时,你需要具有该文件或目录的所有者或者是root用户才能更改其权限。
日志
1.系统日志相关命令
ls -l /var/log
ls
列出目录内容
-l
选项以长格式显示文件和目录的详细信息,包括权限、所有者、所属组、文件大小、修改时间等。
/var/log
系统日志文件所在的目录
执行这个命令可以查看该目录下的日志文件列表及相关信息。
2.认证信息日志相关命令
sudo tail -3 /var/log/auth.log
sudo
以管理员权限执行命令
tail
命令用于查看文件的末尾部分
-3
显示文件的最后三行内容
/var/log/auth.log
存储系统认证信息的日志文件,包括用户登录、认证失败等信息。
执行这个命令可以查看最近的三条认证相关的日志记录
3.二进制日志相关命令
who /var/log/wtmp | tail -5
who
用于显示当前登录的用户信息
/var/log/wtmp
一个二进制日志文件,记录系统的登录和注销信息
|
管道符号,将前一个命令的输出作为后一个命令的输入
tail -5
表示显示最后五行内容
执行这个命令可以查看最近的五次登录和注销记录。
4.dmesg
dmesg
这用于显示和控制系统内核的环形缓冲区(ring buffer),包括系统启动时的硬件检测信息、内核模块加载信息、设备驱动的初始化信息等。他可以帮助用户了解系统的硬件状态和内核的运行情况。
5.systemd日志相关命令
journalctl
journalctl
这是用于查看和管理systemd日志的命令。
systemd
是Linux系统的初始化系统和服务管理器,他会记录系统和服务的启动、运行和错误信息等日志.
journalctl
可以根据不同的参数来筛选、查看特定时间段、特定服务或特定优先级的日志记录
内存
1.内存使用量
free -m
free
命令用于显示系统内存的使用情况
-m
选项表示以兆字节(MB)为单位显示内存信息
执行这个命令后,会显示系统的总内存、已使用内存、可用内存、缓冲内存和缓存等信息,帮助用户了解系统当前的内存使用状态。
2.磁盘使用量
df -hT
df
命令用于显示磁盘空间使用情况
-h
选项表示以人类刻度的格式显示(如KB、MB、GB等)显示磁盘空间大小
-T
选项显示文件系统类型
执行这个命令可以查看各个磁盘分区的总大小、已使用空间、可用空间以及文件系统类型等消息
3.文件或目录大小
sudo du ./* -hsc
sudo
以管理员权限执行命令
du
用于统计文件或目录的磁盘空间
./*
表示当前目录下的所有文件和目录
-h
选项表示以人类可读的格式显示大小
-s
选项表示汇总显示每个参数的总大小
-c
选项表示在最后显示统计
执行这个命令可以查看当前目录下每个文件和目录的大小,并在最后显示总计大小。
4.查看硬盘分区
sudo fdisk -l
sudo
老样子,以管理员权限执行
fdisk
一个磁盘分区工具
-l
选项是列出系统中的所有磁盘分区信息,包括磁盘大小、分区类型、分区编号、起始和结束扇区等
执行这个命令可以帮助用户了解系统的磁盘分区情况
5.挂载分区
sudo mount /dev/sdb1 /mnt/usb
sudo
管理员权限运行
mount
用于将一个文件系统挂载到指定的目录
/dev/sdb1
要挂载的磁盘分区设备路径
/mnt/usb
是挂载点,既要将分区挂载到的目录
执行这个命令后,系统可以访问改分区中的文件和目录,就像访问本地文件系统中的其他目录一样
基本网络枚举
1.基本网络工具
ifconfig
一个用于配置和显示网络接口信息的命令行工具(可以比对下windows中ipconfig),它可以显示网络接口的IP地址、子网掩码、MAC地址等信息,还可以用于启动、停止或配置网络接口。
ip addr
也是用于查看和管理网络接口的命令
他提供啦比ifconfig
更详细和灵活的网络接口信息显示,包括接口的状态、IP地址、子网掩码、广播地址等。
sudo ifdown/ifup eth0
sudo
还是老样子以管理员权限执行命令。
ifdown
用于关闭指定的网络接口
ifup
用于开启指定的网络接口
eth0
是网络接口的名称
这个命令表示关闭/开启名为eth0的网络接口
注意:
这里可能会出现下面的情况
root@VM-20-17-ubuntu:/# sudo ifdown eth0
sudo: ifdown: command not found
是因为 ifupdown
包没有安装。ifup
和 ifdown
是 ifupdown
包中的命令,用于配置网络接口。要解决这个问题,只需要安装ifupdown
包就好了
2.网络配置
/etc/network/interfaces
这是一个系统文件,用于配置网络接口的静态IP地址、子网掩码、网关等信息
在一些linux 发行的版本中,通过编辑这个文件可以实现网络接口的手动配置
NetworkManager
是一个动态网络控制和配置守护进程
它可以自动管理网络连接,包括有限网络、无线网络和VPN连接等
NetworkManager
提供啦图形界面和命令行工具来配置和管理网络,使得网络配置更加方便灵活。可以自动检测网络变化,并根据配置自动连接到可用的网络
网络连接
1.网络连接状态查看工具
netstat -natup
netstart
是一个用于显示网络连接、路由表、接口统计等信息的命令
-n
选项表示以数字形式显示地址和端口号,避免进行域名解析
-a
选项显示所有的连接和监听端口
-t
选项表示显示TCP连接
-u
选项显示UDP连接
-p
选项显示与连接相关的进程ID个程序名称。
执行这个命令可以查看系统当前的网络连接状态,包括连接的协议、本地地址和端口、远程地址和端口等信息
ss -natup
ss
是一个用于显示网络套接字状态的工具,它比`netstat更快速和高效。
选项的含义与netstat
中类似,用于显示TCP和UDP连接的状态、地址和端口信息,以及相关的进程信息。
2.二层地址查看工具
arp -en
arp
是地址解析协议表(Address Resolution Protocol)的缩写
-e
选项以详细格式显示ARP缓存表
-n
选项以数字形式显示IP地址,避免进行域名解析
执行这个命令可以查看系统的ARP缓存表,其中包含了IP地址和对应的MAC地址映射关系,用于在局域网中进行二层地址解析
3.路由相关信息
route
用于显示和管理系统的路由表,可以查看系统当前的路由信息,包括目标网络、网关、子网掩码等。还可以用于添加、删除】或修改路由条目。
ip route
ip route
是IP命令的一部分,用于管理系统的路由表。它提供了更强大和灵活的路由管理功能,可以执行更复杂的路由配置操作。
sudo ip route add 10.13.37.0/24 dev eth1
sudo
表示使用管理员权限执行命令
ip route add
用于添加一条路由条目
10.13.37.0/24
是目标网络地址和子网掩码
dev eth1
表示通过名为‘eth1’的网络接口到达目标网络
执行这个命令可以向系统的路由表中添加一条路由,指定如何到达特定的网络
4.路由跟踪工具
traceroute offensive-security.com
traceroute
是一个用于跟踪数据包从本地到目标主机经过的路由路径的工具
offensive-security.com
是目标主机的域名或者IP地址。执行这个命令会逐条显示数据包经过的路由器的IP地址和响应时间,帮助用户了解网络连接的路径和可能存在的网络问题。这里可以替换
ssh服务
1.启动服务
sudo systemctl start ssh
sudo
表示以管理员权限执行命令
systemctl
是用于管理系统服务的工具
start ssh
开启名为ssh的服务,也就是启动ssh服务器,可以让其他设备可以通过SSH协议连接到这台主机
2.连接本地主机
ssh root@localhost
ssh
是secure shell的客户端命令
root
表示要以root用户身份进行登录
@localhost
表示连接到本地主机。执行这个命令可以使用SSH协议以root用户身份登录到本地主机,如果本地的SSH服务已启动且配置正确,并且用户有相应的权限,就可以成功登录并获得一个远程命令行会话
3.配置文件
etc/ssh/sshd_config
这是SSH服务器的主要配置文件,其中包括来各种参数,可以用来配置SSH服务器的行为,比如端口号、允许登录的用户、认证方式、访问控制等。可以根据具体需求通过编辑这个文件,对SSH服务器进行定制化配置
4.客户端配置
hash knownHosts yes
通常情况下,/.ssh/know_hosts
文件用于存储已知的远程主机的公钥信息,以确保链接的安全行。这个配置选项可能是指示对已知主机文件中的主机名进哈希处理,这样可以提高一定的安全信号,具体效果可能会因为不同的SSH实现而有所差异。
~/.ssh
这是用户目录下的一个目录,用于存储SSH客户端的配置和相关文件
通常包含私钥文件(如id_rsa)、公钥文件(如id_rsa.pub)以及已知的主机文件(known_hosts等)。这些文件用于SSH客户端的身份认证和连接管理
远程拷贝
scp [email protected]:home/kail/.bashrc Copiedbashre
scp
是Secure Copy的缩写,用于不同主机之间安全地复制文件。
[email protected]
表示从IP地址为1.1.1.1的主机上以root用户身份进行操作
/home/kail/.bashrc
是源文件路径,既要从远程主机上复制的文件。
Copiedbashrc
是目标文件名称或谬表路径,即将远程文件复制到本地后的名称或存放的位置。这个命令会从指定的远程主机复制.bashrc
文件到本地,并命名为Copiedbashrc.
scp 1.php root@ip:home/kail/.bashrc
将本机中的一个文件远程复制到另一个文件中的该目录下
历史
history
可以查看历史命令
标签:文件,入门,sudo,基础,命令,Linux,权限,root,网络接口 From: https://blog.csdn.net/2301_80217770/article/details/143774049