1
CoX 2012-05-28 10:55:57 +08:00
下下策,直接把用户加为管理员吧:)
|
2
ayang23 2012-05-28 11:02:44 +08:00
使用runas,或者sysinternal工具包里的psexec.exe,使用管理员账户运行你的python命令。
|
3
treo 2012-05-28 11:03:52 +08:00
如果你有system权限的话,直接修改hosts的权限,给相应用户modify权限不就行了
|
4
dongbeta 2012-05-28 11:11:11 +08:00
试试 gearman,提权好工具
|
5
kojp OP |
6
c 2012-05-28 12:45:05 +08:00
修改host权限为everyone
|
8
9hills 2012-05-28 12:48:59 +08:00
@kojp win下的权限比Linux复杂多了。。
尤其是win下的Administrator并不是系统最高权限,所以还得依赖dirty hack来做一些事情。。。 Linux下只需要以root权限运行脚本,就可以干任何事情 |
9
ljbha007 2012-05-28 12:54:31 +08:00
直接用管理员身份打开python解释器或者管理员身份打开命令行然后运行python解释器就好了
|
10
kojp OP |
11
allenm 2012-05-28 14:09:19 +08:00
我也正在写一个应用,和LZ需求类似,我在 XP 下直接是 open(host,'w') 这样打开的,然后直接写入,貌似没遇到权限问题,代码在此:https://github.com/allenm/sync-hosts/blob/master/client/libs/writehosts.py
|
12
Weakdancer 2012-05-28 15:15:57 +08:00
我有个需求也和楼主类似。在win7下,就算是普通用户,安装软件时系统会提醒用户是否放权。
就是这个请求放权,我一直搞不清楚是怎么触发的。 |
13
c 2012-05-28 15:17:43 +08:00
如果你是管理员,调用命令修改
|
14
Weakdancer 2012-05-28 15:31:54 +08:00
|
15
kojp OP @Weakdancer 你的问题,只要下载一个软件应该不可以解决了。好像就叫 一键获取权限。这是跟WIN7的特例吧。
@allenm 谢了,我试试看 @c 什么命令? @CoX 谢谢测试;这个,我也得试试。但会存在和"修改host权限为everyone"一样的蔽端 |
16
c 2012-05-28 16:17:32 +08:00
@kojp
F:\>icacls c:\Windows\System32\drivers\etc\HOSTS /grant Everyone:F 已处理的文件: c:\Windows\System32\drivers\etc\HOSTS 已成功处理 1 个文件; 处理 0 个文件时失败 |
18
kojp OP 我是那种慢热性的,今天继续折腾这个问题。
@allenm 看了一下代码 这行你漏写了一个 (cont哟,呵呵)def writeHost( hosts ): 本地运行依旧是个权限问题。哈哈,可能系统环境不一样。 |
19
allenm 2012-05-29 09:55:55 +08:00
@kojp THX , 这个之前是写的 writeHostCont ,然后后来觉得有点长,就把 cont 去掉了,但是最后面的测试调用代码还没去掉,因为后来都是在其他地方调用这个了,呵呵。我去改掉。
|
20
kojp OP |
21
allenm 2012-05-29 10:07:46 +08:00
@kojp 话说,你是不是想和我做差不多的东西呢?我是想做一个通过 web 管理 N 个客户端的 hosts 的工具。现在已经初步成型了,正在写分组管理的部分。如果想法差不多,能不能一起做呢?哈哈
|
22
kojp OP https://github.com/r00te4/tips/blob/master/pyhosts/pyhosts.py 献丑~~~
@allenm 呃,远不如你那么高端呀。。 我们是最近内部上了一个WEB项目。需要进行各种内部测试。DNS服务器那边没有权限改。只能是改参与测试用户的HOSTS了。呵呵。--------------最近各种眸乱,各种忙。以后有机会一起折腾呀。:-) |