请问这有可能实现吗?

sh/bash/dash/ksh/zsh等Shell脚本
回复
ubuntull
帖子: 37
注册时间: 2010-05-23 21:49

请问这有可能实现吗?

#1

帖子 ubuntull » 2010-07-13 9:00

adsl pppoe拨号,平时阻止所有连入
用mldonkey下载,下载时开放4662端口
由于mlnet由当前普通用户启动
而iptables只能由root用户运行
想在普通用户启动mlnet时自动开放4662端口而在mlnet关闭时关闭4662端口
不知道能否实现
谢谢

PS:
1、不考虑root启动mlnet
2、不用第三方防火墙
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 请问这有可能实现吗?

#2

帖子 eexpress » 2010-07-13 9:31

能额
man sudo
看-S
● 鸣学
头像
liwangli
帖子: 262
注册时间: 2008-02-12 19:47

Re: 请问这有可能实现吗?

#3

帖子 liwangli » 2010-07-13 9:32

把iptables设置用户ID?
ubuntull
帖子: 37
注册时间: 2010-05-23 21:49

Re: 请问这有可能实现吗?

#4

帖子 ubuntull » 2010-07-13 9:46

eexpress 写了:能额
man sudo
看-S
谢谢,不知道能不能详细说一下步骤以及详细的命令。
我仅会用点网页和下点电影,对于命令或脚本可以说是一窍不通。
ubuntull
帖子: 37
注册时间: 2010-05-23 21:49

Re: 请问这有可能实现吗?

#5

帖子 ubuntull » 2010-07-13 9:47

liwangli 写了:把iptables设置用户ID?
请问怎么设啊?
头像
liwangli
帖子: 262
注册时间: 2008-02-12 19:47

Re: 请问这有可能实现吗?

#6

帖子 liwangli » 2010-07-13 11:57

以root权限执行chmod u+s 文件名
头像
liwangli
帖子: 262
注册时间: 2008-02-12 19:47

Re: 请问这有可能实现吗?

#7

帖子 liwangli » 2010-07-13 11:58

不过这样做可能有一定风险
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 请问这有可能实现吗?

#8

帖子 aerofox » 2010-07-13 15:53

在 /etc/sudoers 中指定用户可以无需密码运行开放 4662 端口和关闭 4662 端口的命令,然后编辑一个脚本用来启动 mlnet 命令,在 mlnet 之前的之后加 sudo 命令执行开放 4662 端口和关闭 4662 端口的操作。
ubuntull
帖子: 37
注册时间: 2010-05-23 21:49

Re: 请问这有可能实现吗?

#9

帖子 ubuntull » 2010-07-13 18:14

aerofox 写了:在 /etc/sudoers 中指定用户可以无需密码运行开放 4662 端口和关闭 4662 端口的命令,然后编辑一个脚本用来启动 mlnet 命令,在 mlnet 之前的之后加 sudo 命令执行开放 4662 端口和关闭 4662 端口的操作。
谢谢!已经按你所说的操作成功。
mlnet的路径是/usr/lib/mldonkey/mlnet,如果是创建启动器,命令里填是/usr/lib/mldonkey/mlnet,则系统监视器只有一个mlnet进程
如果用脚本启动mlnet,则有两个mlnet,不知道为什么?
ubuntull
帖子: 37
注册时间: 2010-05-23 21:49

Re: 请问这有可能实现吗?

#10

帖子 ubuntull » 2010-07-13 18:22

mplayer也是一样,不管是双击视频文件,或者脚本调用mplayer,都有两个进程,郁闷
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 请问这有可能实现吗?

#11

帖子 aerofox » 2010-07-13 20:18

代码: 全选

ps -p `pgrep -d, mlnet` -opid,cmd
看看命令行有什么差别。
ubuntull
帖子: 37
注册时间: 2010-05-23 21:49

Re: 请问这有可能实现吗?

#12

帖子 ubuntull » 2010-07-13 21:16

aerofox 写了:

代码: 全选

ps -p `pgrep -d, mlnet` -opid,cmd
看看命令行有什么差别。
感谢解答。
原来有一个是脚本,我把脚本也命名为mlnet了
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 请问这有可能实现吗?

#13

帖子 tusooa » 2010-07-16 10:57

exec啊。

代码: 全选

exec /usr/lib/mldonkey/mlnet

代码: 全选

] ls -ld //
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 请问这有可能实现吗?

#14

帖子 aerofox » 2010-07-16 12:31

exec 就不能执行后面的关端口的命令了。
回复