扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
启动流程:
创新互联建站是一家集网站建设,深泽企业网站建设,深泽品牌网站建设,网站定制,深泽网站建设报价,网络营销,网络优化,深泽网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
BIOS ——》 MBR(主引导记录,找到系统在哪个分区) ——》 boot loader(grub) ——》kernel(内核)——》进入启动级别init
硬盘的最小读取单位是一个扇区,一个扇区大小是512字节
查看操作系统的版本:cat /etc/redhat-release
查看内核版本:uname -r
查看内核信息:uname -a
系统的启动级别:
init 0:关机
init 1:单用户模式,只能root用户登录的模式,可以直接跳过密码
init 2:多用户模式,但是没有NFS(network filesystem),即无网络模式
init 3:完全多用户模式,也是命令行模式
init 4:安全模式,一般开发者调试使用
init 5:图形模式
init 6:重启
更改系统启动级别:
vim /etc/inittab:在最后一行的 id 修改,如下图
通过单用户模式跳过用户密码登录:
通过grub界面进入内核,操作参数,改变启动级别,进入单用户模式
在系统读秒时,按任意键进入grub界面,然后按 e 进入kernel
选择kernel,按 e 进入
进入之后,按 空格 进入启动级别设置
输入启动级别为 1 ,再按 enter 返回内核,再按 b 进入单用户模式
grub加密:
首先设置grub密码:
grub-md5-crypt
passwd:123456
这里会得到一串加密字符串
然后编辑grub的配置文件:
vim /etc/grub.conf
grub的配置文件内容:
default=0:代表默认使用第一个内核
timeout=5:代表进入系统时的读秒时间,这里是5秒
hiddenmenu:隐藏它下面的内容
password --md5:添加得到的grub密码的加密字符串
title:内核信息
将加密的字符串添加好之后,再通过grub进入kernel时就需要输入密码
如果grub被加密了,可以进入BIOS,通过外接光盘进入救援安装模式,然后进入到系统中,
再 vi /mnt/sysimage/etc/grub.conf,编辑配置文件,删除grub加密,就可以再用单用户模式跳过用户密码登陆
转自 嘉为教育-rhce认证_rhce培训_linux培训_linux认证_linux考证
我们可以用mkpasswd命令:这个命令就是用来生成crypt格式的密码的:
mkpasswd
输入命令后,程序会要求输入一个密码,然后生成crypt格式的字符串。
如果用Apache
Web服务器,那么也可以用htpasswd:
htpasswd
-nd
user
用户名(user)叫什么都无所谓,我们关注的是密码。这个命令会输出一个user:password格式的字符串,直接把password字段复制下来就ok了。
有OpenSSL的话,可以使用openssl命令:
openssl
passwd
-crypt
myPassword
把上面命令中的myPassword用你想用的密码字符串代替。
其他还有一些需要把命令在命令行中直接输入的方式,不过这种做法有个问题,就是在ps命令中可以看到密码,同时密码也会被记录入shell历史。
不过这个问题是有解决办法的:用脚本,或者语言解释器。
比如使用Perl:
perl
-e
crypt('password','sa');"
Perl需要一个加密盐,如这里使用了sa(salt指加密中用到的随机字符串,用不同的salt可以生成不同的加密结果)。
Ruby也一样需要加密盐:
ruby
-e
"password".crypt("JU");
print("n");'
PHP也可以:
php
-r
"print(crypt('password','JU')
.
"n");"
需要注意的是,如果不使用加密盐(如上面命令中的JU),那么输出的字符串将不是crypt加密格式,而是MD5加密格式的。所以,加密盐其实是必须的参数。
Python需要导入crypt库并使用加密盐:
python
-c
'import
crypt;
crypt.crypt("password","Fx")'
这里的加密盐是Fx。
数据库也可以生成crypt密码。比如用MySQL:
echo
"select
encrypt('password');"
|
mysql
另外,Tcl,Ubuntu下的trf,还有Lua的lua-crypt插件也可以实现相同的目的。
欢迎补充其他的方式!
用户可以在终端通过cat命令查看:cat /etc/shadow
NIX/Linux的密码文件原来采bai用/etc/passwd,共有7个字段。用户的密码加密后放在每一行的第二个字段里,这个 /etc/passwd文件在一般情况下是所有用户可读,只有root用户可写的,这样不良用户就可能读取加密后的密码字串来取得密码。
因为这个安全原因,设置一个/etc/shadow文件专门用于保存密码且它的权限一般是root可读,没有其他权限。加密后的密码文件就不能被普通用户读取。做法是把/etc/passwd对应的密码字段用*号表示,在/etc/shadow里对应的一行,有用户名和真正的密码加密字串,其他的字段一般留空。
扩展资料:
在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。(类比于微机磁盘分区)。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。
参考资料来源:百度百科-Linux文件系统
命令:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]。
名称:passwd。
使用权限:所有使用者。
说明:用来更改使用者的密码。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1. 使用命令 pwgen 来生成一个长度为 10 个字符的独特的随机密码。假如你还没有安装 pwgen,请使用 Apt 或 YUM 等包管理器来安装它。
$ pwgen 101
生成一个独特的随机密码
一口气生成若干组长度为 50 个字符的唯一的随机密码!
$ pwgen 50
生成多组随机密码
2. 你还可以使用 makepasswd 来每次生成一个给定长度的独特的随机密码。在你把玩 makepasswd 命令之前,请确保你已经安装了它。如若没有安装它,试试使用 Apt 或 YUM 包管理器来安装 makepasswd这个软件包。
生成一个长度为 10 个字符的随机密码。该命令产生的密码的长度默认为 10。
$ makepasswd
使用 makepasswd 生成独特的密码
生成一个长度为 50 个字符的随机密码。
$ makepasswd --char50
生成长度为 50 的密码
生成 7 个长度为 20 个字符的随机密码。
$ makepasswd --char20--count 7
3. 使用带“盐”的 Crypt(注:这里应该指的是一个函数,可以参考这里 ) 来加密一个密码。提供手动或自动添加 “盐”。
对于那些不清楚 盐 的意义的人,这里的 “盐” 指的是一个随机数据,它作为密码生成函数的一个额外的输入, 目的是保护密码免受词典攻击。
在执行下面的操作前,请确保你已经安装了 mkpasswd。
下面的命令将带 “盐” 加密一个密码。“盐” 的值是随机自动生成的。所以每次你运行下面的命令时,都将产生不同的输出,因为它每次接受了随机取值的 “盐”。
$ mkpasswd tecmint
使用 Crypt 来加密密码
现在让我们来手动定义 “盐” 的值。每次它将产生相同的结果。请注意你可以输入任何你想输入的值来作为 “盐” 的值。
$ mkpasswd tecmint -s tt
带“盐”加密密码
另外, mkpasswd 还是交互式的,假如你在命令中没有提供密码,它将主动询问你来输入密码。
4. 使用 aes-256-cbc 加密算法并使用带“盐”的密码(如 “tecmint”) 加密一个字符串(如 “Tecmint-is-a-Linux-Community”)。
# echo Tecmint-is-a-Linux-Community | openssl enc -aes-256-cbc -a -salt -pass pass:tecmint
在 Linux 中加密一个字符串
在上面例子中, echo 命令的输出通过管道传递给了 openssl 命令,使得该输出通过加密编码方式(enc:Encoding with Cipher ) 所加密,这个过程中使用了 aes-256-cbc 加密算法,并附带了密码 (tecmint) 和 “盐” 。
5. 使用 openssl 命令的 -aes-256-cbc 解密选项来解密上面的字符串。
# echo U2FsdGVkX18Zgoc+dfAdpIK58JbcEYFdJBPMINU91DKPeVVrU2k9oXWsgpvpdO/Z | openssl enc -aes-256-cbc -a -d -salt -pass pass:tecmint
在 Linux 中解密字符串
现在就是这些内容了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流