我需要手动编辑/etc/shadow以更改虚拟机映像内的 root 密码。
是否有命令行工具可以获取密码并/etc/shadow在标准输出上生成兼容的密码哈希?
在 Linux 上,存储在 中的密码哈希的第六个字符是/etc/shadow什么?
在我的 puppy style linux box 上,如果我尝试使用shufand生成 100 个随机密码/dev/urandom,那么第六个字符/大约是一半的时间。
我的问题不是用于生产目的,因为我每次都从 CD 启动它。这是否意味着我的系统在某些方面配置错误或不安全?
我运行文件shuf,看看它是否是一个busybox链接。
file /usr/bin/shuf
shuf: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
Run Code Online (Sandbox Code Playgroud)
我不认为这shuf是busybox这里的链接。
ls -l /usr/bin/shuf
-rwxr-xr-x 1 root root 41568 Mar 7 2015 /usr/bin/shuf
Run Code Online (Sandbox Code Playgroud)
尽管
ls -l /bin/wget
lrwxrwxrwx 1 root root 14 Apr 29 03:49 wget -> ../bin/busybox …Run Code Online (Sandbox Code Playgroud) Linux/etc/shadow文件中的第二个字段表示密码。然而,我们看到的是:
某些密码字段可能只有一个感叹号
<account>:!:.....
Run Code Online (Sandbox Code Playgroud)某些密码字段可能有双感叹号
<account>:!!:.....
Run Code Online (Sandbox Code Playgroud)某些密码字段可能带有星号
<account>:*:.....
Run Code Online (Sandbox Code Playgroud)通过对互联网的一些研究和通过这个线程,我可以理解这*意味着密码从未建立,!意味着被锁定。
有人能解释一下双感叹号 ( !!) 是什么意思吗?它与 ( !) 有何不同?
Unix 何时不再将明文密码存储在 passwd 中?另外,影子文件是什么时候引入的?
在/etc/shadow文件中有加密的密码。
加密密码不再是crypt(3)md5 或“type 1”格式。(根据这个以前的答案)现在我有一个
$6$somesalt$someveryverylongencryptedpasswd
Run Code Online (Sandbox Code Playgroud)
作为入口。
我不能再使用
openssl passwd -1 -salt salt hello-world
$1$salt$pJUW3ztI6C1N/anHwD6MB0
Run Code Online (Sandbox Code Playgroud)
生成加密密码。
任何等价物(不存在)..?
openssl passwd -6 -salt salt hello-world
Run Code Online (Sandbox Code Playgroud) 通常只有 root 可以访问/etc/shadow. 但是程序喜欢su并且sudo可以在不以 root 身份运行的情况下检查密码。那么问题来了:为什么这些程序可以/etc/shadow无权限访问?我试图通过带有spwd模块的python 没有权限访问它,但我没有获得访问权限(如预期的那样)。这些程序使用哪种机制?
如果我cat /etc/shadow可以获得root和我的用户的加密密码。
每个帐户的这些密码都是相同的(我知道,安全性差),但/etc/shadow它们显示为不同的加密字符串。
为什么?每种算法都使用不同的算法吗?
我有一个有多个用户的 Linux 系统。我不知道他们的密码,也不想知道他们。
我必须使用他们的帐户和密码通过 SSH 批量复制他们的一些目录。
我的想法是备份/etc/shadow,然后使用每个用户的新密码(我知道的密码,如“tmppass”)更改它,进行备份,然后用/etc/shadow旧文件替换文件。
那行得通吗?如果是这样,我如何生成密码?(密码类似于 $1$xxxxxx/xxxxx)。
我对存储在 Linux (Ubuntu) /etc/shadow 下的哈希 (ASCII) 代码感到困惑。
假设一个案例,让密码为'test', salt 为'Zem197T4'。
通过运行以下命令,
$ mkpasswd -m SHA-512 test Zem197T4
Run Code Online (Sandbox Code Playgroud)
生成一长串 ASCII 字符(这实际上是 Linux 在 /etc/shadow 中的存储方式)
$6$Zem197T4$oCUr0iMuvRJnMqk3FFi72KWuLAcKU.ydjfMvuXAHgpzNtijJFrGv80tifR1ySJWsb4sdPJqxzCLwUFkX6FKVZ0
Run Code Online (Sandbox Code Playgroud)
使用在线 SHA-512 生成器时(例如 http://www.insidepro.com/hashes.php?lang=eng)时,生成的是一些十六进制代码,如下所示:
选项1)密码+盐
8d4b73598280019ef818e44eb4493c661b871bf758663d52907c762f649fe3355f698ccabb3b0c59e44f1f6db06ef4690c16a2682382617c6121925082613fe2
Run Code Online (Sandbox Code Playgroud)
选项2)盐+密码
b0197333c018b3b26856473296fcb8637c4f58ab7f4ee2d6868919162fa6a61c8ba93824019aa158e62ccf611c829026b168fc4bf90b2e6b63c0f617198006c2
Run Code Online (Sandbox Code Playgroud)
我相信这些十六进制代码应该与 mkpasswd 生成的 ascii 代码“相同”。但是它们之间有什么关系呢?
希望有人能指教我吗?
基于第二个(密码)字段的/etc/shadow(5)文档:
加密密码
如果密码字段包含一些不是 crypt(3) 的有效结果的字符串,例如!或*,用户将无法使用unix密码登录(但用户可以通过其他方式登录系统)。
我的问题是是否有禁用用户密码的 linux 命令,即设置“*”或“!” 在密码字段上。