IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/6 3:25:23       共计:4619 浏览

chmod

u+s

ifconfig

给命令添加一个setuid权限就可以,这样执行命令时,普通用户就成了root。

在linux中,不管是root用户还是普通用户,都可以使用“password”命令来更改自身的密码。但是,linux中的密码通常是保存在“/etc/paswd”和“/etc/shadow”文件中,这两个文件对系统安全至关重要,因此只有root用户才能对其执行读写操作。以管理员的身份登陆系统,在linxu提示符下执行“ls

/etc/passwd

/etc/shadow”命令,在返回信息中可以看到普通用户对上述这两个文件并没有写权限,因此从文件属性的角度看,普通用户在更改自身密码时,是无法将密码信息写入到上述文件中的,哪么用户是怎样成功的更改密码的呢?实际上,问题的关键不在于密码文件本身,而在于密码更改命令“passwd”。在提示符下执行命令“ls

/usr/bin/passwd”,在返回信息中的文件所有者执行权限位上显示“s”字样,表示“passwd”命令具有setuid权限,其所有者为root,这样普通用户在执行“passwd”命令时,实际上以有效用户root的身份来执行的,并具有了相应的权限,从而将新的密码写入到“/etc/passwd”和“/etc/shadow”文件中,当命令执行完毕,该用户的身份立即消失。如何设置setuid权限呢?使用“chmod”命令即可为指定文件设置setuid权限,例如“chmod

4xxx

filename”命令,取消setuid权限的命令为“chmod

xxx

filename”。类似的,执行“chmod

2xxx

filename”命令可以设置setuid权限,使用“chmod

xxx

filename”命令即可取消setgid权限,如果执行“chmod

6xxx

filename”命令,即可同时为指定文件设置setuid和setgid,执行命令“chmod

0xxx

filename”,即可同时取消指定文件的setuid和setgid权限。例如以root用户登陆系统,执行“chmod

0511

/usr/bin/passwd”命令,就可以取消“passwd”命令的setuid权限,这样普通用户就无法修改自己的密码了。

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图