声明
学习视频笔记均来自B站UP主" 泷羽sec",如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
本文主要用做技术分享,所有内容仅供参考。任何使用或者依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。
目录
1 linux基础命令
1.1 Openssl passwd -1 123
Openssl是一个开源的加密工具包 -1 参数指定使用MD5加密算法对密码123进行加密处理
1.2 openssl passwd -5 123
-5参数表示使用SHA-256哈希算法对密码123进行哈希加密处理,SHA-256是一种更加安全的哈希算法,它生成的哈希值长度为256位
1.3 文件管理
创建文件 touch 文件名;删除文件 rm 文件名;
新建目录 mkdir 目录名;删除目录 rmdir 目录名;
重命名文件 mv file.txt new.txt
移动文件 mv newfile newdir2
拷贝文件 cp file.txt newddir.txt
搜索文件 which 文件名
写入内容 echo 内容
1.4 find命令
find 路径 -name [名字]
find / -size 1000k #从根目录查找大小为1000K的文件
find -name '1*' #在当前目录下查找文件名以1开始的文件
find / -name '1*' #从根目录查找文件名以1开始的文件
find / -user file #从根目录查找属主为file的文件
find / -group file #从根目录查找属组为file的文件
find /etc -type f/d #按sock类型查找,f代表文件,d代表目录
find . -type f -mtime -7 #搜索7天内当前目录下修改过的文件(-7代表7天内,7代表前7天那一天,+7代表7天前)
find . -type f -mmin -10 #搜索10分钟内当前目录下修改过的文件
find . -atime -1 -type f #搜索当前目录下一天内被访问的文件(-1代表1天内,1代表前1天那一天,+1代表1天前)
find . -amin -10 -type f #搜索当前目录下10分钟内被访问的文件
find . -ctime -1 -type f #搜索当前目录下一天内状态被改变(列如权限)的文件(-1代表1天内,1代表前1天那一天,+1代表1天前)
find . -cmin -10 -type f #搜索当前目录下10分钟内状态被改变的文件
find . -perm 777 #搜索处当前文件下符合777权限的文件
2 linux重要命令
2.1 cat /etc/passwd
这是一个重要的系统文件,存储了系统中用户账号的基本信息
每一行代表一个用户,包含了用户名、密码、占位符、用户ID、用户组ID、用户描述信息、用户主目录、用户默认shell字符
- 第一个字段为:用户名名称
- 第二字段为:密码表示,但是不是真正的密码,密码是在另一个文件当中,在早期的unix中,这里保存的就是真正的加密后的密码字符串
- 第三个字段为:UID,也就是用户的ID
- 第四字段为:GID,也称为用户的组ID
- 第五个字段为:用户的说明
- 第六个字段为:用户的家目录
- 第七个字段为:shell,也可以理解为用户登录之后所拥有的权限
2.2 cat /etc/shadow
这个文件也与用户文件相关,主要存储用户密码的加密信息以及密码的一些属性
如密码最后一次修改时间、密码最短使用期限、密码最长使用期限,只有具有足够权限的用户(通常是root)才能读取这个文件,以提高密码安全性
- 第一字段为:用户名称
- 第二个字段为:该用户加密后的密码,没有密码的用户则是*或者!!,是不能登录的
- 第三个字段为:密码何时修改过,这里显示的数字是从1970 年 1 日 1 日作为标准时间算的,每过去一天时间戳加1.如果是10000的话,那么就是1970年1月1日后的第10000天
- 第四个字段为:两次修改密码的时间间隔,如果是5,那么密码修改后5天内不能再更改,为0的话,是随时都可修改
- 第五个字段为:密码的有效期,是从第三字段之后开始算的,默认是99999
- 第六个字段为:密码到期修改前的警告天数,根据第五个字段算的,默认为7,则是到期前的7天开始警告
- 第七个字段为:密码到期后的宽限天数,为0是到期立马失效,-1是永远不失效
- 第八个字段为:用户失效的时间,同样是以时间戳表示的
- 第九个字段:这个字段暂时没有功能
2.3组账号
cat /etc/group
查看账号信息的同时,也可以间接了解用户所属组的信息,因为其中包含了用户组ID,但这并不是专门用户查看组账号的最佳方式,通常使用cat /etc/group来查看组账号信息
禁用账号 sudo passwd -l username
查看权限 ls -la /etc/passwd
2.4 更改文件所有者
chown root file
chown是改变文件所有者的命令
root是新的所有者用户名,这里文件所有者改为root
file是要更改所有者的文件名称,执行这个命令后,文件的所有者将变成root
修改文件权限
sudo chmod u=rwx,g+rw,o-r file
sudo表示以管理员权限执行
chmod是改变文件权限命令
u=rwx表示文件所有者user具有可读r可写w可执行x
g+x表示文件所属组group增加读r写w权限
o-r表示其他用户other去除读r权限
file是要修改权限的文件
sudo chmod u+x,g+w,o-r file
sudo表示以管理员权限执行
chmod是改变文件权限命令
u+x表示文件所有者增加执行权限
g+w表示文件所属组group增加写w权限
o-r表示其他用户other去除读r权限
file是要修改权限的文件名
chmod 400 <file>
chmod命令直接以数字的形式设置文件权限
400是权限的数字表示,其中第一位的数字“4” 表示文件所有者的权限,这里代表读权限r,因为读权限对应的数字是4,后面两位数字是00,分别表示文件所属组和其他用户没有任何权限
chmod 777是最高权限
参数释义
who 用户类型 说明
u user 文件所有者
g group 文件所有者所在组
o others 所有其他用户
a all 所用用户, 相当于 ugo
Operator 说明
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置
模式 名字 说明
r 读 设置为可读权限
w 写 设置为可写权限
x 执行权限 设置为可执行权限
X 特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行权时,才将文件权限设置可执行
s setuid/gid 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t 粘贴位 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位
2.4 系统日志
ls -l /var/log
ls列出目录内容的命令
-l选项以长格式显示文件和目录的详细信息,包括权限、所有者、所属组、文件大小、修改时间等
/var/log是系统日志文件所在目录,执行这个命令可以查看该目录下的日志文件列表及相关
systemd日志相关命令
Journalctl:是一个用于查看和管理systemd日志的命令,systemd是Linux系统的初始化系统的服务管理器,它会记录系统和服务的启动,运行和错误信息等日志。可以根据不同的参数来筛选,查看特定时间段和特定的服务或特定优先级的目录记录
3 内存管理
3.1 内存使用量
free -m
free命令用于显示系统内存使用情况
-m选项表示以MB为单位显示内存信息,执行这个命令后会显示系统的总内存,已用内存,可用内存,缓冲内存和缓存内存等信息,帮助用户了解系统当前的内存使用状态
3.2 磁盘使用量
df -hT
df命令用于显示磁盘空间使用情况
-h表示人类可读的格式kb、mb、gb等显示空间大小
-T选项显示文件系统类型,执行这个命令可以查看各个磁盘的分区总大小,已使用空间,可用空间以及文件系统的类型
3.3 文件或目录大小
sudo du ./* -hsc
sudo表示用管理员的命令执行权限
du命令用于统计文件或目录的磁盘使用空间
./*表示当前目录下的所有文件和目录
-h表示人类可读格式
-s表示汇总显示每个参数的大小
-c表示在最后显示统计,执行这个命令可以查看当前目录下的每个文件和目录大小,并在最后显示总计大小
3.4 查看硬盘分区
sudo fdisk -l
sudo以管理员权限执行
fdisk是一个磁盘分区工具
-l会列出系统中所有磁盘的分区信息,包括磁盘大小,分区类型,分区编号,起始和结束扇区等,这个命令可以帮助用户了解系统的硬盘分区情况
3.5 挂载分区
sudo mount /dev/sdb1 /mnt/usb
mount命令用于将一个文件系统挂载到指定目录
/dev/sdb1是要挂载的磁盘分区设备路径
/mnt/usb是挂载点,即要将分区挂载到的目录,执行这个命令后,系统可以访问该分区中的文件和目录
4 基本网络枚举
4.1 基本网络工具
ifconfig
用于配置和显示网络接口信息的命令行工具
4.2 查看全部网口
ip addr,也是用于查看和管理网络接口的命令
sudo ifdown eth0
ifdown用于关闭指定的网络接口
eth0是网络接口名称
sudo ifup eth0
ifup用于打开指定的网络接口
eth0是网络接口名称
4.3 网络配置
/etc/network/interfaces
是系统文件,用于配置网络接口的静态ip地址,子网掩码、网关等信息,在一些Linux发行版本中,通过编辑这个文件可以实现网络接口的手动配置
4.4 网络连接
网络连接状态查看工具
netstat -natup
netstat是一个用于显示网络连接,路由表,接口统计等信息的命令
-n表示以数字形式显示地址和端口号
-a显示所有的连接和监听端口
-t显示tcp连接
-u显示udp连接
-p显示与连接相关的进程ID和程序名称,执行这个命令可以查看系统当前网络连接状态,包括连接协议,本地地址和端口,远程地址和端口信息
ss -natup
ss是另一个用于显示网络套接字状态的工具,它比netstat更快和高效
二层地址查看工具
arp -en
arp是地址解析协议的工具
-e以详细格式显示arp缓存表
-n以数字形式显示ip地址,避免进行域名解析,执行这个命令可以查看arp缓存表,其中包含了IP地址和对应的MAC地址映射关系,用于在局域网中进行二层地址解析
4.5 路由信息相关工具
route:用于显示和管理系统的路由表,可以查看系统当前的路由信息,包括目标网络、网关、子网掩码,还可以添加、删除或修改路由条目
ip route:是ip命令的一部分,用于管理系统的路由表,它提供了更强大和灵活的路由管理功能,可以进行更复杂的路由配置操作
5 ssh服务
标签:网络安全,文件,星河,用户,命令,ssh,Linux,权限,find From: https://blog.csdn.net/m0_46520788/article/details/1436259185.1 启动ssh服务
sudo systemctl start ssh
systemctl是用于管理系统服务的工具
start ssh是启动名为ssh服务,也就是启动ssh服务器,使设备通过ssh协议连接
ssh root@localhost
ssh是secure shell的客户端命令
root表示以root用户进行登录
@localhost表示连接到本地主机,执行这个命令可以使ssh协议以root用户身份登录,如果ssh服务已经启动,并且配置正确,用户有相应的权限,就可以成功登录并获得一个远程命令行会话
5.2 配置文件
/etc/ssh/sshd_config
这是ssh服务器的主要配置文件,可以用来配置ssh服务器的行为,比如端口号,允许登录用户、认证方式、访问控制等,通过这个编辑这个文件们可以根据具体需要对ssh服务器进行定制化配置
5.3 客户端配置
hashknowHosts yes
通常情况下,/.ssh/know_hosts文件用于存储已知的远程主机的公钥信息,以确保连接的安全性,这个配置选项可能是指示对已知主机文件中的主机名进行哈希处理,这样可以提高一定的安全性,但具体效果可能因不同的ssh实现而有所差异
~/.ssh
这是用户主目录下的一个目录,用于存储ssh客户端的配置和相关文件,通常包含私钥文件、公钥文件以及已知主机文件等,这些文件用于ssh客户端的身份认证和连接管理
5.4 远程拷贝
scp [email protected]:/home/kali/.bashrc Copiedbashrc
scp是sceure copy的缩写,用于在不同主机之间安全地复制文件
[email protected]表示从ip地址为1.1.1.1的主机上以root用户进行操作
/home/kali/.bashrc是源文件路径,既要从远程主机上复制的文件
Copiedbashrc是目标文件名称或者路径,即将远程文件复制到本地后的名称或存放的位置,这个命令会从指定的远程主机复制.bashrc文件到本地,并命名为Copiedbashrc
5.5 history
查看历史命令,即之前在当前终端会话中执行过的命令列表,可以通过查看历史记录来快速重复执行之前的命令,或者查找之前执行过的特定命令