Linux基础一
声明: 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章。本文只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 微信公众号:泷羽sec
openssl (引入一个小知识)
Openssl 是一个开源的加密工具包,提供了各种加密、解密、签名、验证等功能。
openssl passwd -1 123
Passwd 表示这个命令用于处理密码相关的操作
-1参数指定使用MD5加密算法对密码123进行加密处理。使用这个命令会将123生成位MD5加密后的秘文
补充:
MD5 加密是一种常用的哈希算法,他将任意长度的输入数据转换为固定长度的输出(通常是128位的哈希值)。
效果
┌──(root㉿kali-linux-2024-2)-[~]
└─# openssl passwd -1 123
$1$OAkvI/PV$h5FZjqPJSulI4jt6krFmi1
openssl passwd -5 123
-5参数表示使用啦SHA—256哈希算法对密码“123”进行哈希加密处理。
补充SHA-256加密
SHA-256是一种更安全的哈希算法,他生成的哈希值长度为256位。每次对相同的密码进行SHA-256进行加密时,由于加密过程中通常会引入随机因素,比如盐值等,所以每次生成的秘文都是不一样的,这增加了密码的安全性,即使攻击者获得了秘文,以现有科技水平也很难通过逆向计算得到原始密码。未来量子计算机成熟后其安全性会下降
效果:
┌──(root㉿kali-linux-2024-2)-[~]
└─# openssl passwd -5 123
$5$qSXtkLi9hT.OHByn$sTpHReiquHELFeA1IwAE6A3/zGyD1ooaSDhmB936Iq3
┌──(root㉿kali-linux-2024-2)-[~]
└─# openssl passwd -5 123
$5$qG4OZyrO.GgsG8Ui$mSDw9ltkXkxWiE0PIrIg8T57asxHAhH6mLuE6Z7nHFB
┌──(root㉿kali-linux-2024-2)-[~]
└─# openssl passwd -5 123
$5$onS5WDcp3yXhywYx$OXnyQbrpplZGQzN7iwq9Ya2N9JzOyGFjDMFsK9eS.N3
#三次加密后得出的数据都是不一样的
文件管理
1.创建空文件
touch newfile
2.删除空文件
rm newfile
3.新建目录
mkdir newdir
4.删除空目录
rmdir newdir
rm -rf newdir
5.重命名文件
mv file.txt new.txt
6.移动文件
mv newfile newfile2
7.拷贝文件
cp newfile newdir2
8.软链接
ln -s original.txt symlink.txt
root@VM-20-17-ubuntu:/# ln -s one.txt two.txt
#……
drwxrwxrwt 14 root root 4096 Nov 10 19:09 tmp
lrwxrwxrwx 1 root root 7 Nov 10 19:33 two.txt -> one.txt
9.硬链接
ln 文件1 新文件2
root@VM-20-17-ubuntu:/# ln one.txt 2.txt
root@VM-20-17-ubuntu:/# ls -la
-rw-r--r-- 2 root root 0 Nov 10 19:33 2.txt
-rw-r--r-- 2 root root 0 Nov 10 19:33 one.txt
软链接和硬链接的区别
本质区别
- 硬链接:同一个文件,多个名称,共享同一个inode信息。
- 软链接:不同的文件,指向另一个文件的路径。
可用性
- 硬链接:只能在同一文件系统中使用,不支持跨文件系统。
- 软链接:可以跨文件系统和操作系统使用。
支持的对象
- 硬链接:不支持对目录创建,只能对文件创建。
- 软链接:可以对文件和目录创建。
删除的影响
- 硬链接:删除其中一个硬链接不会影响其他硬链接,只有当所有硬链接都被删除时,原始文件才会被删除。
- 软链接:删除软链接不会影响原始文件,但如果原始文件被删除,软链接将失效。
创建方式
- 硬链接:使用
ln
命令创建。- 软链接:使用
ln -s
命令创建,需要指定原始文件的路径。具体例子和用途
软链接常用于方便管理,例如将复杂路径的文件链接到简单路径下,或者解决文件系统空间不足的问题。硬链接则主要用于防止误删除文件。
查找文件
1.which:查找命令的可执行文件
root@VM-20-17-ubuntu:/# which ls
/usr/bin/ls
2.locate:命令用于快速查找文件和目录的位置,它通过搜索一个预先构建的数据库来工作,这个数据库包含了系统上所有文件的路径。
locate 文件名
3.find:一个功能强大的命令行工具,用于在目录树中搜索文件和目录。与 locate
不同,find
实时搜索文件系统,而不是依赖于预先构建的数据库。因此,find
能够提供更准确的结果,特别是当文件系统发生变化时。
a:查找特定名称的文件:
find /path/to/search -name "filename"
**b.**查找特定类型的文件:
查找所有目录:
find /path/to/search -type d
查找所有普通文件:
find /path/to/search -type f
**c.**基于文件大小查找:
find /path/to/search -size 内存
例如:查找大于100MB的文件
find /path/to/search -size +100M
**d.**基于修改时间查找:
使用 -mtime
(修改时间),-atime
(访问时间)或 -ctime
(状态改变时间)选项可以按时间查找文件。例如:查找过去7天内修改过的文件
find /path/to/search -mtime -7
**e.**执行命令:
对于 find
命令找到的每个文件,都可以使用 -exec
选项执行一个命令。例如,删除所有 .tmp
文件:
find /path/to/search -name "*.tmp" -exec rm {} \;
**f.**组合条件:
可以使用逻辑运算符(如 -and
,-or
,-not
)来组合多个条件。例如,查找大于 10MB 且在过去 30 天内修改过的文件:
find /path/to/search -size +10M -mtime -30
**g.**查找并打印文件内容的模式:
find /path/to/search -type f -print0 | xargs -0 grep "search_string"
用户账号数据库
存储用户账号和密码的文件夹
/etc/password
/etc/shadow
组账号
cat /etc/group
禁用账号
sudo passwd -l username
sudo passwd -l username
命令在 Linux 系统中用于锁定用户 username
的密码,这通常意味着该用户将无法更改其密码,并且如果当前密码已过期或不存在,则用户将无法登录。
chage -E 1990-01-01 kali #这个命令的作用是将用户 kali 的帐户过期日期设置为 1990 年 1 月 1 日。这意味着从该日期开始,用户 kali 将无法再登录系统,即使密码是有效的。
chage
:这是用于更改用户密码过期信息的命令。-E
:这个选项用于设置用户帐户的过期日期。1990-01-01
:这是用户帐户的过期日期,格式为 YYYY-MM-DD。kali
:这是目标用户的名称。
passwd -S username
passwd -S username
命令在 Linux 系统中用于显示用户 username
的密码状态信息。会输出一行文本,包含了关于用户密码状态的几个关键信息点。
输出通常包含以下几个部分:
- 密码状态:这表示用户的密码是否已经被设置,以及是否过期。常见的状态有:
L
:表示密码被锁定(但这并不是所有系统都支持的状态显示,特别是在使用passwd -S
命令时)。NP
:表示没有密码(即用户账户可能配置了空密码,或者从未设置过密码)。P
:表示密码已设置。
- 密码最后更改日期:这通常是从 1970 年 1 月 1 日起的天数。
- 密码最小长度:这表示用户密码所需的最小字符数(但这并不总是由
passwd -S
命令显示)。 - 密码最大长度:这表示密码在到期前可以使用的最大天数(如果系统配置了密码过期策略)。
- 密码警告期:在密码到期前的多少天开始警告用户(如果系统配置了密码警告策略)。
- 密码非活跃期:密码过期后多少天之内账户被禁用(如果系统配置了密码非活跃策略)。
- 账户到期日期:这表示用户账户的到期日期(如果系统配置了账户过期策略)。
后面会持续更新