ubuntu 新建php文件夹权限设置密码,编辑/etc/passwd文件进行权限升级的技巧

本文主要是介绍ubuntu 新建php文件夹权限设置密码,编辑/etc/passwd文件进行权限升级的技巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.默认方法添加用户

让我们首先通过cat命令打开/etc/passwd文件,以查看系统中当前可用的用户

ee0c3aa1b69a735d1c166d15b4e9cd93.png

从上面给出的截图中,您可以看到“raj”是最后一个使用uid 1000的用户。这里gid 1000表示它是非系统用户。

当我们使用adduser命令添加任何用户时,让我们看看/passwd文件中实际发生了什么。因此,在这里您可以清楚地看到下面给出的信息以及截图。

adduser user1

Username: user1

GID: 1002

UID: 1001

Enter password: 任意密码

Home Directory: /home/user1

Gecos Filed:full Name(全名), Room Number(门牌号), Work phone(工作电话), Home Phone(家庭电话), Other

6e56188da9a7d5a92beed46fa66ad909.png

当您打开/passwd文件时,您会注意到上述所有信息都存储在/etc/passwd文件中

663a45eae26542f1767f5a5de4bff7dc.png

2./etc/passwd文件中手动编辑用户

一般来说,普通用户对passwd文件具有只读权限,但有时用户也可能具有读/写权限,在这种情况下,我们可以借助上述理论将自己的用户添加到/etc/passwd文件中。

user2:*:1002:1003:,,,:/home/user2:/bin/bash

*(星号)符号表示对于user2空口令。

cf18d68f1eed41484cfd3090b968c5ab.png

因为我们已经为user2分配了GID1003 ,所以我们也需要在/etc/group文件中对其进行处理

请遵循以下格式:

语法:username:x:gid

因为我们没有密码,所以在x处使用*符号

user2:*:1003:

ef8a8240c3c9be5cdf5aa32c244e50de.png

现在,使用passwd命令为user2设置密码并输入密码。

passwd user2

b9117824872a9f392f7f9c7e9c9a9331.png

由于我们在不使用adduser命令的情况下手动创建了一个新用户user2,因此在/etc/shadow文件中找不到任何有关信息。但是它在/etc/passwd文件中,此处*符号已被加密密码值替换。通过这种方式,我们可以创建自己的用户以进行权限提升。

7a56a00698883c12b2c2cb261550c1ec.png

3.OpenSSL

有时无法执行passwd命令来设置用户的密码;在这种情况下,我们可以使用OpenSSL命令,它将使用salt生成加密密码。

OpenSSL passwd将使用salt字符串和基于MD5的BSD密码算法1计算指定密码的哈希值

语法:openssl passwd-1-salt[salt value]password

openssl passwd -1 -salt user3 pass123

bcc1cfd69b5bf274b716cf2ad1dbd463.png

我们将获得加密的密码,然后在终端中输入vipw命令打开/passwd文件,并手动添加用户名。按照添加新用户user3的手动步骤,在*或X处粘贴加密值以获取密码。

在下图中,您可以看到,我已经分配了uid:0和gid:0以及主目录/root/root,因此我们为用户user3赋予了root权限。

03da4ae4bcc37242e422282d0cad3e24.png

现在切换用户并通过user3访问终端并确认root访问权限。

suuser3

whoami

id

YESSSSSS表示以root权限访问

注意:您还可以修改其他用户的密码,方法是将:x:替换为您自己加密的密码,然后使用您的密码登录该用户帐户

e2458e74735fc1ab0bc94b6c60cc6b3f.png

4.mkpasswd

mkpasswd类似于openssl passwd,它将生成指定密码字符串的哈希值。

语法:mkpasswd -m [hash type] {password}

mkpasswd -m SHA-512 pass

11519310529974f5e7752876ea4b8dae.png

它将为您的密码字符串生成哈希值,重复上述步骤或更改其他现有用户的密码。

如果您将比较user1的信息,那么您还可以注意到不同。我们已经替换了: X: 来自我们的哈希值。

ef6a86767653572e5daa71496a3d24dd.png

现在切换用户并通过user1访问终端并确认root访问权限

su user1

whoami

id

很好,成功以root权限访问

ff56dc252f607f6a9a1d97e14e4d8609.png

5.Python

使用python,我们可以导入crypt库,并将salt添加到我们的密码中,这将创建包含salt值的加密密码。

python -c 'import crypt; print crypt.crypt("pass", "$6$salt")'

2f84e87fa205b649a60114ecf1f5d1a8.png

它将生成密码字符串的哈希值,重复上述步骤或更改其他现有用户的密码。如果您将比较user2的信息,那么您还可以注意到不同。我们已经从新的哈希值替换了旧的哈希值。

d1b198a56a0139543abd7694170c210e.png

现在切换用户并通过user2访问终端并确认root访问权限。

su user2

whoami

id

pwd

sudo-l

它也能进行提权,以前它是/home/user2目录的成员,但是在成为/root目录的成员之后,您可以注意到它拥有root用户的所有特权

b621567020943863f3ba047abcc59b88.png

6.Perl

类似地,我们可以使用Perl和crypt来使用salt值为我们的密码生成哈希值。

perl -le 'print crypt("pass123", "abc")'

e9544cef27a14899c69bf0df59c406cc.png

您将获得加密的密码,然后在终端中键入vipw命令并手动添加用户名,再次打开/passwd文件。按照添加新用户user4的手动步骤,将加密值粘贴到*或X的位置以获取密码。

在下图中,您可以看到,我分配了uid:0和gid:0以及home directory/root/root,因此我们为user4赋予了root权限

0235c5754da04b14545dd3c1c83f5cfb.png

现在切换用户并通过user4访问终端并确认root访问权限。

su user4

whoami

id

很好,这种方法也能获取root权限。

79382d5df50cdd97e94f452fc709db46.png

7.PHP

同样,我们可以使用PHP和crypt来使用salt值为我们的密码生成哈希值。

php-r"print(crypt('aarti','123') . "

");"

1bb80c9ecd0588c16e2666c3528f4ee2.png

您将获得加密的密码,然后在终端中键入vipw命令打开/passwd文件,并手动添加用户名。按照添加新用户user5的手动步骤,并将加密值粘贴到密码字段中。

在下图中,您可以看到,我分配了uid:0和gid:0以及home directory/root/root,因此我们为user5授予了root权限

8868979c041fef559951b69f246e9914.png

现在切换用户并通过user5访问终端并确认root访问权限。

su user5

whoami

id

因此,有很多方法可以为您自己的用户添加root访问权限,这对于在任何主机中获得root权限非常有帮助。

17ef0a8e5acd3f9472367ef62846d25d.png

这篇关于ubuntu 新建php文件夹权限设置密码,编辑/etc/passwd文件进行权限升级的技巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/742014

相关文章

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

SpringSecurity6.0 如何通过JWTtoken进行认证授权

《SpringSecurity6.0如何通过JWTtoken进行认证授权》:本文主要介绍SpringSecurity6.0通过JWTtoken进行认证授权的过程,本文给大家介绍的非常详细,感兴趣... 目录项目依赖认证UserDetailService生成JWT token权限控制小结之前写过一个文章,从S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.