请教shell编程问题...急
我现在需要写一个在网页上修改用户口令的脚本,当用户在网页上输入自己的用户名及新旧口令后,
一、我不清楚权限的转换怎样解决。因为从网页上,用户的身份是Apache,而在shell环境下,只有超级用户和用户本人才可以修改口令,如何解决?
二、修改口令时,要求输入新旧口令,如何将从网页的表单中采集到的数据,代替输入和回车?如何代替标准输入(/dev/stdin),我用重定向的办法试了半天,无功而返,请大虾们指教......
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
1. 权限问题好办,用set UID就行了。
2. 这可能有一点麻烦。你看一下 man passwd 可能有帮助。
另外,如果从网页上改password,你最好老虎好安全问题。别叫人给黑了。
谢谢q1208c ,我看了精华区的一篇文章,说用纯shell 无法解决passwd的非交互输入问题,可以用expect,我不熟,正在试。
这样可以么?
复制代码
[quote]原帖由 "julia0928"]谢谢q1208c ,我看了精华区的一篇文章,说用纯shell 无法解决passwd的非交互输入问题,可以用expect,我不熟,正在试。[/quote 发表:
shell 是可以的。
等下我找找帖上来。
复制代码
试一下先。
这样是可以添加用户密码的。
expect is good!
谢谢!
建议你别这样做,最好检验一道
先过滤一道user,排出特殊用户
然后再用expect改