我的世界服务器添加重复uid

我的世界服务器添加重复uid,第1张

uid意思就是用户账号,一、打开我的世界,点击多人游戏。二、点击直接连接。三、在指示框内输入ip地址和端口号,加入服务器就行了。四、如何看自己电脑的ip地址,点击“Windows”键,输入“cmd”再回车就行了。五、在输入“ipconfig”。六、就可以看到ip地址。

1setresuid
设置成功的条件:
(1)当前euid = 0 (也即root)
(2) 三个参数,没一个等于原来某个id中的一个
以上两个条件,满足一个,setresuid即可正常调用,执行,将进程的id设置为对应的ID
举例:
(1) ruid = 100, euid = 0, suid = 300
setresuid(200,300,100) 可以成功执行。因为euid = 0 说明是root
(2)ruid = 100, euid = 300, suid = 200
setresuid(200,300,100) 可以成功执行,因为三个新的ID都是原来ID中的一个。
setresuid要么执行成功,所有的id设置成功,要么失败,所有的id设置失败。不能不分设置成功,部分失败。

2seteuid
无论什么情况,都只改变euid,不会改变ruid/suid
(1)如果euid = 0,那么新的euid随便设置,都可以成功改变。
(2)如果原来euid != 0 ,不同系统处理方式不一样:
Solaris和Linux只允许新的euid为原来三个ID中的一个。
FreeBSD只允许新的euid等于ruid和suid中的一个。(新的euid不能等于旧的euid)

3setreuid
会修改ruid/euid,某些情况下,也可以改变suid
不同的系统对setereuid有不同的处理方式:
Solaris和Linux中:setreuid(geteuid(), getuid())可以实现ruid和euid的交换。
FreeBSD会失败。

4setuid
(1) 如果原来的euid = 0,该函数将所有的id设置为新的id
比如:如果原来的id为: ruid = 300, euid = 0, suid = 100
那么setuid(200)后,ruid = 200, euid = 200, suid = 200
(2) 如果原来的euid != 0,但是新的id为原来ruid/suid中的一个,那么也是可以执行的,否则不能执行。
比如:原来三个id为: ruid = 100, euid = 200, suid = 300
那么setuid(300) 执行后: ruid = 100, euid = 300, suid = 300 也就是只改变了euid
setuid(400) 就不能执行。
结论:
(1)对于Linux如果euid != 0,那么新的id必须等于ruid/suid中的一个
(2) 如果euid = 0,三个id都将被设置为新的id,否则只设置euid
只有可以执行的二进制程序才可以设置setuid权限,并且命令执行者要对该程序拥有x权限。对于设定了setuid权限的命令来说,功能是命令执行者在执行该程序时获得该程序文件所有者的身份。setuid权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13435286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-05
下一篇 2023-08-05

发表评论

登录后才能评论

评论列表(0条)

保存