[Цитировать]

    Adler
  • 1708
  • Стаж: 1 год 11 месяцев
  • Сообщений: 931
  • Репутация:31

    [+] [-]
  • Откуда: Луганск
Решил по быстрому для себя накидать одну "лентяйку" - просмотрщик и редактор файла hosts, что бы вручную до него не лазить.

НО, возникли какие то непонятки с правами доступа к этому файлу.
Вроде как все нормально
Т.е. с админскими правами все нормально. Программа запускаемая с правами администратора по идее должна его переписывать.
НО, программа (моя) запущенная с правами администратора не может его перепизаписать - "Отказано в доступе по пути "C:\Windows\system32\drivers\etc\hosts"".

Есть другой аспект, если текстовый редактор (AkelPad, к примеру) запустить с правами администратора (через контекстное меню) - файл редактируется. А если, к примеру, в AkelPad открыть его с обычными правами, и при попытке сохранения, когда запросит права админа (функция AkelPad) - вылетает ошибка:

Моя программа ведет себя одинаково, что запуская с правами администратора встроенным алгоритмом, что через контекстное меню.
Вот не пойму, это баг или фича, то ли какие то локальные глюки (на моей ОС) или так везде. Как будто "права админа" друг другу рознь...
OS - Windows 10 EntS, UAC включен, антивирус выключен.
Попробуйте пожалуйста этой утилитой (во вложении) пересохранить файл hosts.
Вложение

Hosts Editor Pre Alpha 0.1



Последний раз редактировалось: Adler (2017-05-03 13:07), всего редактировалось 1 раз

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 3 месяца
  • Сообщений: 2139
  • Репутация:85

    [+] [-]
Как будто "права админа" друг другу рознь
Вот тут, прав... Ограничения все равно присутствуют...

[Цитировать]

    Adler
  • 1708
  • Стаж: 1 год 11 месяцев
  • Сообщений: 931
  • Репутация:31

    [+] [-]
  • Откуда: Луганск
Joker-2013, мне вот интересно, не с UAC это связано. Проверить бы на винде без UAC...

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 месяцев 22 дня
  • Сообщений: 118
  • Репутация:10

    [+] [-]
И, кстати, классическая проблема Far Manager: запущенный с правами админа он может открыть hosts на запись, но НЕ может сохранить. Видимо, наследование прав тут изначально не работает.

[Цитировать]

    Adler
  • 1708
  • Стаж: 1 год 11 месяцев
  • Сообщений: 931
  • Репутация:31

    [+] [-]
  • Откуда: Луганск
Ander_73, я нашел рабочий пример редактора hosts на C# и вот сижу голову ломаю как это реализовано.
Там не так все просто, как казалось, ну или оно так там реализовано "по хитрому".

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 7 месяцев
  • Сообщений: 1495
  • Репутация:80

    [+] [-]
41006Как будто "права админа" друг другу рознь...
А если в Manifest вместо asInvoker поставить highestAvailable или requireAdministrator ?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 7 месяцев
  • Сообщений: 1495
  • Репутация:80

    [+] [-]
Еще - для x32 приложений, работающих в X64 среде идет перенаправление System32 на SysWOW64 , не помню, относится ли оно к каталогу Drivers.

[Цитировать]

    Adler
  • 1708
  • Стаж: 1 год 11 месяцев
  • Сообщений: 931
  • Репутация:31

    [+] [-]
  • Откуда: Луганск
nikzzzz, не помогает ac
Там общая переменная (путь к файлу) для открываемого и сохраняемого файла, т.е. он перезаписать должен тот же файл, что и открывает. Открывает корректно все.
Если бы не это:
Есть другой аспект, если текстовый редактор (AkelPad, к примеру) запустить с правами администратора (через контекстное меню) - файл редактируется. А если, к примеру, в AkelPad открыть его с обычными правами, и при попытке сохранения, когда запросит права админа (функция AkelPad) - вылетает ошибка:
то точно бы решил, что что то в софтине не так, а так возникают сомнения.
Я подобные темы (по редактированию hosts) нагуглил, некоторые пишут, что есть такое, но предложенные варианты (запускать от админа) как то не работают. В одном месте писали уже про манифест с примерами, засунул к себе - не работает...
P.S. Программка у всех в ошибку при попытке сохранении валится?


Последний раз редактировалось: Adler (2017-05-03 14:35), всего редактировалось 2 раз(а)

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 7 месяцев
  • Сообщений: 1495
  • Репутация:80

    [+] [-]
Я писал приложение для работы с hosts файлом, подобных проблем не было.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 7 месяцев
  • Сообщений: 1495
  • Репутация:80

    [+] [-]
41019Программка у всех в ошибку при попытке сохранении валится?
У меня не валится, правда кодировку портит, вместо русских букв крякозябры. У файла кодировка ansi.

[Цитировать]

    Adler
  • 1708
  • Стаж: 1 год 11 месяцев
  • Сообщений: 931
  • Репутация:31

    [+] [-]
  • Откуда: Луганск
41022У файла кодировка ansi.
Буду иметь ввиду, если разберусь как победить права доступа. Думал наваяь её за 5 минут и забыть, но что то пошло не так ...
Она мне уже вроде как и не надо (нашел куда более интересный готовый вариант), но просто интересно разобраться в чем дело.

[Цитировать]

    zdoba
  • 138
  • Стаж: 2 года 9 месяцев
  • Сообщений: 315
  • Репутация:5

    [+] [-]
  • Откуда: Россия
Adler, Добрый день. Программа валиться, но AkelPad (без админа) редактирует host без проблем (запрашивает только разрешение на перезапись).
PS А так есть такой "монстр" Hosts File Editor

[Цитировать]

    Adler
  • 1708
  • Стаж: 1 год 11 месяцев
  • Сообщений: 931
  • Репутация:31

    [+] [-]
  • Откуда: Луганск
41025(запрашивает только разрешение на перезапись)
Как то так:

P.S. Это при сохранении.
ah
Ну мне "монстр" не нужен как раз. Хотел сделать что то максимально простое. Изначально вообще хотел, что бы при запуске просто открывался блокнот с админскими правами и открытым файлом hosts.

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 месяцев 22 дня
  • Сообщений: 118
  • Репутация:10

    [+] [-]
Adler, кстати, да - присобачить к нотепаду манифест с requireAdministrator - и сёёё! ag

[Цитировать]

    KaSpieC 666
  • 260
  • Стаж: 2 года 7 месяцев
  • Сообщений: 1028
  • Репутация:104

    [+] [-]
  • Откуда: Одесса
Adler,
Приветствую.
А как программа меняет hosts?
Если редактирование проходит на прямую и сохранение - то будут ошибки. А вот если произвести редактирование, и сохранить в другом каталоге, а затем поменять/переместить файл hosts в его папку - так будет работать/менять/заменять.

Страница 1 из 4


Показать сообщения:    

Текущее время: 24-Сен 04:32

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы