Chinaunix
标题:
请教shell编程问题...急
[打印本页]
作者:
julia0928
时间:
2004-01-06 12:02
标题:
请教shell编程问题...急
我现在需要写一个在网页上修改用户口令的脚本,当用户在网页上输入自己的用户名及新旧口令后,
一、我不清楚权限的转换怎样解决。因为从网页上,用户的身份是Apache,而在shell环境下,只有超级用户和用户本人才可以修改口令,如何解决?
二、修改口令时,要求输入新旧口令,如何将从网页的表单中采集到的数据,代替输入和回车?如何代替标准输入(/dev/stdin),我用重定向的办法试了半天,无功而返,请大虾们指教......
作者:
q1208c
时间:
2004-01-06 12:12
标题:
请教shell编程问题...急
1. 权限问题好办,用set UID就行了。
2. 这可能有一点麻烦。你看一下 man passwd 可能有帮助。
另外,如果从网页上改password,你最好老虎好安全问题。别叫人给黑了。
作者:
julia0928
时间:
2004-01-07 09:16
标题:
请教shell编程问题...急
谢谢q1208c ,我看了精华区的一篇文章,说用纯shell 无法解决passwd的非交互输入问题,可以用expect,我不熟,正在试。
作者:
零二年的夏天
时间:
2004-01-07 09:45
标题:
请教shell编程问题...急
这样可以么?
--stdin
This option is used to indicate that passwd should
read the new password from standard input, which
can be a pipe.
复制代码
作者:
q1208c
时间:
2004-01-07 10:06
标题:
请教shell编程问题...急
[quote]
原帖由 "julia0928"]谢谢q1208c ,我看了精华区的一篇文章,说用纯shell 无法解决passwd的非交互输入问题,可以用expect,我不熟,正在试。[/quote 发表:
shell 是可以的。
等下我找找帖上来。
作者:
q1208c
时间:
2004-01-07 10:11
标题:
请教shell编程问题...急
#!/bin/bash
#
# set the user name and password
#
username = user
password = password
# add new user
#
useradd $username
#
#give the password for the new user
#
cat $password | passwd --stdin $username
# end of script. ##
复制代码
试一下先。
作者:
零二年的夏天
时间:
2004-01-07 11:46
标题:
请教shell编程问题...急
这样是可以添加用户密码的。
作者:
tiansgx
时间:
2004-01-07 12:59
标题:
请教shell编程问题...急
expect is good!
作者:
q1208c
时间:
2004-01-07 13:01
标题:
请教shell编程问题...急
谢谢!
作者:
流氓无产者
时间:
2004-01-07 15:06
标题:
请教shell编程问题...急
建议你别这样做,最好检验一道
先过滤一道user,排出特殊用户
然后再用expect改
作者:
myfisher
时间:
2004-01-07 18:40
标题:
请教shell编程问题...急
to q1208c,
我每次启动MySQL的时候都要切换目录,启动MySQL,输密码什么的,麻烦死了,也可以用脚本编程的方法来解决吗?
作者:
q1208c
时间:
2004-01-07 19:23
标题:
请教shell编程问题...急
原帖由 "myfisher" 发表:
to q1208c,
我每次启动MySQL的时候都要切换目录,启动MySQL,输密码什么的,麻烦死了,也可以用脚本编程的方法来解决吗?
也许行吧,我没用过 MySQL 不知道行不行。可以试试。
你把过程写下来,我看看有没有办法。
作者:
myfisher
时间:
2004-01-07 19:30
标题:
请教shell编程问题...急
先要切换目录
shell>;cd /usr/local/mysql/bin
shell>;./mysqld_safe --user=root &
shell>;./mysql -u root -p name_database
Enter Password:****
退出的时候
mysql>;exit;
shell>;./mysqladmin -u root shutdown -p
Enter password:****
问题就在于登陆和退出都要输密码,不知道shell编程能否完成。
请q1208c帮忙看看。我shell编程知道个大概,不熟。
作者:
q1208c
时间:
2004-01-07 19:37
标题:
请教shell编程问题...急
就算能行也不能那么做呀!因为不能把 root 密码写下来的。这是安全问题呀!还有,这是个交互式的呀,不太好办。
作者:
myfisher
时间:
2004-01-07 19:41
标题:
请教shell编程问题...急
谢谢指教。
作者:
lightwiter
时间:
2004-01-07 19:54
标题:
请教shell编程问题...急
mysql -uroot -ppasswd
就可以了呀。反正你不用考虑安全问题的。
作者:
lightwiter
时间:
2004-01-07 20:06
标题:
请教shell编程问题...急
[quote]
原帖由 "tiansgx"]expect is good![/quote 发表:
这个怎么弄呀,导出一个什么变量名呀,passwd加什么参数??
作者:
julia0928
时间:
2004-01-08 09:43
标题:
请教shell编程问题...急
[quote]
原帖由 "q1208c"]试一下先。[/quote 发表:
先谢谢各位指点,按上面的做了一下,要改一点点,就是
echo $password>;/tmp/1.tmp
cat /tmp/1.tmplpasswd --stdin $username
否则要报错。
再次多谢。
作者:
零二年的夏天
时间:
2004-01-08 09:48
标题:
请教shell编程问题...急
echo $password|passwd --stdin $username
复制代码
是否会没问题。
作者:
julia0928
时间:
2004-01-09 11:01
标题:
请教shell编程问题...急
各位大虾,现在非交互输入已没有问题了,但权限上仍有问题。用setUid试了一下,没过,passwd要求root或本人,我用su,但到了root的shell后,我的cgi程序就停止运行了,要exit后才又运行。
另外,在用户改口令前,要对其原有口令进行验证,这个在纯shell下能不能做呀?
作者:
q1208c
时间:
2004-01-09 11:08
标题:
请教shell编程问题...急
[quote]
原帖由 "julia0928"]另外,在用户改口令前,要对其原有口令进行验证,这个在纯shell下能不能做呀?[/quote 发表:
这个可能会有点问题,因为 password 是加密后存的。
可以试试用旧 password su - username 下。
作者:
julia0928
时间:
2004-01-09 12:48
标题:
请教shell编程问题...急
试过了,用su 可以交互地运行,但在网页上,非交互方式不行,而且shell环境一变,脚本运行就停了。
作者:
q1208c
时间:
2004-01-09 13:02
标题:
请教shell编程问题...急
那就不知了。
作者:
零二年的夏天
时间:
2004-01-09 13:09
标题:
请教shell编程问题...急
不知道这篇贴对您的工作是否有启发:
http://bbs.chinaunix.net/forum/viewtopic.php?t=229232
作者:
julia0928
时间:
2004-01-13 10:03
标题:
请教shell编程问题...急
各位,经过大家的指导,用sudo解决了用户验证和权限问题。
又用GNU C以及SHELL脚本做了另一套,多谢各位了!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2