Shadow

passwd:Authentication token manipulation error_错误的解决办法

我是研究僧i 提交于 2020-08-05 15:49:55
如果在linux中,不管是root用户还是普通用户登录后,修改自己的密码,出现—passwd:Authentication token manipulation error—错误的解决办法: root自己修改密码失败 普通用户修改密码失败 1.报这样的错误是:密码:身份验证令牌操作错误,一般是密码文件的权限的问题,不过也有可能是根目录空间满。 用lsattr命令查看存放用户和密码的文件属性,发现有i选项: (i:不得任意更动文件或目录。)所以导致所有的用户都不能修改密码,因为没有权限允许。 2.我们需要用chattr命令将i权限撤销,然后再修改,就可以了。 在终端输入: # chattr - i / etc / passwd # chattr - i / etc / passwd 3.然后在测试root用户和xiaogang用户修改自己的密码。 测试root用户修改密码 测试xiaogang用户修改密码 4.为了安全起见,最好修改完密码,在把存放用户和密码的文件保护起来。 # 用chattr - i / etc / passwd 和 chattr - i / etc / shadow文件 5.普通用户修改自己的密码,是有要求的,密码必须复杂,并且在密码字典里有的字符才能设置。 来源: oschina 链接: https://my.oschina.net/u/2353881/blog

setcap用法

╄→гoц情女王★ 提交于 2020-08-05 13:54:50
setcap用法 转载自: https://feichashao.com/capabilities_basic/ 1.背景 安装 Wireshark 的时候,有一步是给 dumpcap 读网卡的权限,使得普通用户也可以使用 Wireshark 进行抓包。 # setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/sbin/dumpcap 那么 setcap 是个啥玩意呢? 从前,要使被普通用户执行的某个程序有特殊权限,一般我们会给这个程序设置suid,于是普通用户执行该程序时就会以root的身份来执行。 比如,/usr/bin/passwd 这个可执行文件就带有suid,普通用户执行它时会以root身份执行,所以 passwd 才能读取并修改 /etc/shadow 文件。 [root@rhel671 ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 30768 Feb 17 2012 /usr/bin/passwd [root@rhel671 ~]# ls -l /etc/shadow ----------. 1 root root 945 Sep 11 16:22 /etc/shadow 可以看到,使用 suid 有一个弊端,那就是以 root 身份执行的程序有了所有特权

python 数据分析--数据可视化工具matplotlib

别等时光非礼了梦想. 提交于 2020-08-05 09:20:36
说明: 数据可视化中的数据集下载地址:(数据来源:从零开始学python数据分析和挖掘) 链接:https://pan.baidu.com/s/1zrNpzSNVHd8v1rGFRzKipQ 提取码:mx9d 数据可视化是数据分析中的一部分,可用于数据的探索和查找缺失值等,也是展现数据的重要手段。matplotlib是一个强大的工具箱,其完整的图表样式函数和个性化的自定义设置,可以满足几乎所有的2D和一些3D绘图的需求。 1. 条形图 条形图主要用来表示分组(或离散)变量的可视化,可以使用matplotlib完成条形图的绘制。 1.1 垂直条形图 以垂直条形图为例,离散型变量在各水平上的差异就是比较柱形的高低,柱体越高,代表的数值越大。plt.bar()函数的参数列表: left:传递数值序列,指定条形图中x轴上的刻度值, 现left需改为x 。 height:传递数值序列,指定条形图y轴上的高度。 width:指定条形图的宽度,默认为0.8。 bottom:用于绘制堆叠条形图。 color:指定条形图的填充色。 edgecolor:指定条形图的边框色。 linewidth:指定条形图边框的宽度,如果指定为0,表示不绘制边框。 tick_label:指定条形图的刻度标签。 xerr:如果参数不为None,表示在条形图的基础上添加误差棒。yerr:参数含义同xerr。 label

秒杀系统架构分析与实战

和自甴很熟 提交于 2020-08-05 06:11:24
点击上方“朱小厮的博客”,选择“ 设为星标” 后台回复" 书 ",获取近百本电子书入口 来 源:22j.co/bvYq 正常电子商务流程: 查询商品 创建订单 扣减库存 更新订单 付款 卖家发货 秒杀业务的特性: 低廉价格 大幅推广 瞬时售空 一般是定时上架 时间短、瞬时并发量高 秒杀技术挑战 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有: 对现有网站业务造成冲击 秒杀活动只是网站营销的一个附加活动,这个活动具有时间短,并发访问量大的特点,如果和网站原有应用部署在一起,必然会对现有业务造成冲击,稍有不慎可能导致整个网站瘫痪。 解决方案:将秒杀系统独立部署,甚至使用独立域名,使其与网站完全隔离。 高并发下的应用、数据库负载 用户在秒杀开始前,通过不停刷新浏览器页面以保证不会错过秒杀,这些请求如果按照一般的网站应用架构,访问应用服务器、连接数据库,会对应用服务器和数据库服务器造成负载压力。 解决方案:重新设计秒杀商品页面,不使用网站原来的商品详细页面,页面内容静态化,用户请求不需要经过应用服务。 突然增加的网络及服务器带宽 假设商品页面大小200K(主要是商品图片大小),那么需要的网络和服务器带宽是2G(200K×10000),这些网络带宽是因为秒杀活动新增的,超过网站平时使用的带宽。 解决方案

[javascript] elementui下login登录页界面和js验证逻辑

女生的网名这么多〃 提交于 2020-08-05 05:11:39
主要是使用了form组件 <html lang= " cn " > <head> <meta charset= " utf-8 " > <meta name= " viewport " content= " width=device-width, initial-scale=1, shrink-to-fit=no " > <meta name= " description " content= "" > <meta name= " author " content= " 陶士涵 " > <title>GO-IMAP网页版邮箱imap工具登录页</title> <link rel= " stylesheet " href= " https://cdn.jsdelivr.net/npm/element-ui@2.13.1/lib/theme-chalk/index.css " > <script src= " https://cdn.jsdelivr.net/npm/vue/dist/vue.js " ></script> <script src= " https://cdn.jsdelivr.net/npm/element-ui@2.13.1/lib/index.js " ></script> <script src= " https://cdn.jsdelivr.net/npm

Spring Security OAuth2

笑着哭i 提交于 2020-08-05 04:36:15
登录实现 拿浏览器网页登录举例: 基于 OAuth2.0-密码模式 实现网页登录的本质就是浏览器通过 /oauth/token 接口将 用户名 和 密码 等信息传给后台, 然后后台验证通过后返回一个有效的 token 给浏览器. 通过 curl 命令发送请求 请求头 Authorization 存放的是 clientId 和 secret 经过 Base64 编码后的结果 请求参数包括用户名( username )、密码( password )、授权模式( grant_type ). curl --location --request POST 'http://localhost:8101/oauth/token?username=zhangsan&password=123456&grant_type=password \ --header 'Authorization: Basic bmltbzE6MTIzNDU2' 响应内容 { "scope": "[all, read, write]", "code": 0, "access_token": "7e1d19dd-5cef-4993-a1c3-c35aa53d9b29", "token_type": "bearer", "refresh_token": "992518eb-4357-4283-8673-a9ca96ad2a9e"

超好看的博客园皮肤 Sakura~

隐身守侯 提交于 2020-08-05 04:15:37
(。・∀・)ノ゙嗨,我的博客又更新了!(其实可能已经被我改回去了) 点这儿点这儿,传送门吖~ 注:网页有时候要刷新一遍才能显示出来哦,不知道为啥🌚 是不是很好看? 但是很多东西还在研究中,(才被我改回去的)所以代码不三不四的,先放上来吧,也欢迎提修改意见哟~ 上代码 : css样式 .cnblogs-markdown .hljs { display : block ; color : #333 ; overflow-x : auto ; background : #F2F4F5 !important ; border : none !important ; font-family : Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace !important ; padding : 1em !important ; font-size : 14px !important } .hljs-comment, .hljs-meta { color : #969896 } .hljs-emphasis, .hljs-quote, .hljs-string, .hljs-strong, .hljs-template-variable, .hljs-variable { color : #df5000 } .hljs-keyword

新技能Get! 手把手教你接入CG Kit

末鹿安然 提交于 2020-08-05 03:21:19
1 初始准备 1.1 CGKit简介   CGKit是华为推出的一套高性能渲染框架,提供了渲染所需的原子能力,如材质、模型、灯光以及一些后期特效等。另外提供了高性能渲染组件,如抗锯齿和基于Vulkan的多线程组件等。除此之外还提供了Smart Cache以及Pre-rotation等扩展能力,并整合了前沿计算机图形学、计算机视觉和深度学习等最新研究成果。 1.2 官方指导   华为开发者的主页如下:    https://developer.huawei.com/consumer/cn/   在该页面有CGKit的链接:   点击该链接即可转到CGKit的主页,其地址如下:    https://developer.huawei.com/consumer/cn/hms/huawei-computer-graphics/   这里会有CGKit的基本介绍,如下:   这里主要关注开发,点击“查看文档”,即可转到如下地址:    https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/introduction-0000001050197938   该网页是进行CGKit开发的官方页面,有关介绍这里不再重复。   重点关注以下两点即可:   其中示例代码是一套Android Studio工程

openstack安装配置—— controller node配置

夙愿已清 提交于 2020-08-05 02:52:32
实际生产环境中,每个服务模块很有可能都是一个集群,但我们这里只是带大家配置了一个实验环境,所以我们这里把keystone、nova、neutron、glance、dashboard都安装在了contoller节点上。 controller节点基础配置 [root@controller ~]# hostname controller [root@controller ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per s ocket: 1 Socket(s): 4 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 44 Model name: Westmere E56xx/L56xx/X56xx (Nehalem-C) Stepping: 1 CPU MHz: 2400.084 BogoMIPS: 4800.16 Hypervisor vendor: KVM Virtualization type: full L1d cache: 32K L1i

Linux用户(user)与用户组(group)管理(超详细解释)

╄→尐↘猪︶ㄣ 提交于 2020-08-04 22:41:49
Linux用户(user)和用户组(group)管理 用户/组基本概念与特性 1.查看用户的uid/gid 2.用户基本信息文件 (1)用户名 (2)密码 (3)UID (4)GID (5)主目录 (6)Shell 3.用户的密码文件 (1)用户名 (2)加密密码 (3)最后一次修改时间 (4)最小修改时间间隔 (5)密码有效期 (6)账号失效时间 4.组信息文件 (1)组名 (2)组密码 (3)组ID(GID) (4)组中的用户 5.新建用户 6.修改用户密码 7.修改用户信息 8.删除用户 9.添加用户组 10.加入用户组 用户/组基本概念与特性 系统上的每个进程(正在运行的程序)都以特定用户的身份运行。 每个文件都由特定的用户拥有。 对文件和目录的访问受用户限制。 与正在运行的进程关联的用户确定该进程可访问的文件和目录。 (如果看着不太明确,可以跟着一起操作,便于理解和掌握>-<) 1.查看用户的uid/gid 格式:[root@localhost~]#id 用户名 能看到uid(用户ID)、gid(初始组ID),groups是用户所在组,这里既可以看到初始组,如果有附加组,则也能看到附加组 2.用户基本信息文件 用户基本信息文件存在于/etc/passwd中,由“:”分割为7段字符 “用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell”