NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Kot_Matraskin
Сообщения: 17
Зарегистрирован: Сб авг 25, 2018 12:54

Сообщение Kot_Matraskin »

MVV писал(а): Да, отключать это подтверждение нельзя, но молча дергать UAC - тоже не самое лучшее решение, т.к. не все могут знать, что для создания символьных ссылок нужны права администратора. Но можно сразу запускать утилиту с правами администратора (Flasher намекал на это), тогда этого окна не будет.
Ваш запрос дублирует запрос UAC. Т.е. вместо одного подтверждения приходится дважды щёлкать на кнопки.
А запускать утилиту изначально с правами администратора - это вообще нерациональное решение, т.к. приходится всегда подтверждать права на старте, даже если эти права не понадобятся. Допустим ты решил создать НЕ символическую ссылку, а другую. Либо просто закрыл окно, ничего не выбрав. В общем так не делается. Запуск от имени администратора приемлем в тех случаях, когда предполагается какая-то длительная работа в приложении, т.е. совершается много действий, требующих прав. Здесь же идёт речь лишь об одной операции, да и то неизвестно какой именно. Поэтому права должны запрашиваться непосредственно в момент совершения операции.

И наконец, полномочия пользователя определяются настройками учётной записи в которой он работает. В соответствии с которыми, система сама запрашивает необходимые подтверждения там, где это требуется. Поэтому эта ваша долнительная "опека" тут совершенно не к месту. Если вы, как говорите, хотите поставить пользователя в известность о необходимости повышения прав, то достаточно сделать предупреждающую надпись в диалоговом окне. Ну либо сделать однократное подтверждение при первом запуске. Но зачем выдавать его постоянно то? Мы вроде не настолько тупые.

Тем более мы с вами прекрасно понимаем, что символические ссылки не могут представлять никакой опасности, они не дают никаких прав на ссылаемые объекты, и по сути мало отличаются от тех же junction или даже ярлыков. А требование прав - это просто рудимент, оставшийся с прошлых времён, когда симв.ссылки не корректно обрабатывались некоторыми приложениями. Так зачем ещё и усугублять этот рудимент - мне вообще непонятно.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Аx, вот в чём дело. А почему с /s? нет (даже при разных дисках)?
Нет смысла делать символьные ссылки там, где можно прекрасно обойтись старыми добрыми точками соединения. Точки соединения поддерживаются со времён Windows 2000, не требуют прав администратора для их создания, их можно создавать между любыми дисками NTFS (хотя на источнике может быть и FAT). Символьные же ссылки официально поддерживаются только с Windows Vista (хотя для Windows XP есть драйвер, позволяющий их читать) и админские права требуют, хотя диапазон их источников шире (любые устройства с буквой диска и сетевые пути).
Русская кодировка? Это что? Локаль (язык системы) русская.
Есть язык интерфейса системы и язык по умолчанию для не-юникодных приложений, если второй русский, то однобайтная кодировка по умолчанию - win-1251. Очень странно, если в такой ситуации здесь кириллица не видна, а в остальных не-юникодных программах видна.
Так это плагин выводит вариативный текст. Обычные же поля на русском выводятся правильно.
Плагины с локализацией выводят только английский текст, совпадающий со значениями ключей в LNG-файле, а заменяет его на локализованный из LNG-файла сам тотал. Попробуй удалить LNG-файл и посмотреть, что будет.
Kot_Matraskin писал(а):Ваш запрос дублирует запрос UAC. Т.е. вместо одного подтверждения приходится дважды щёлкать на кнопки.
Проблема в том, что без этого подтверждения может быть непонятно, для чего запрашиваются права (в запросе UAC видна только невыразительная командная строка). Хорошо, добавлю опцию в конфиг для подавления этого запроса.
Kot_Matraskin писал(а):Тем более мы с вами прекрасно понимаем, что символические ссылки не могут представлять никакой опасности, они не дают никаких прав на ссылаемые объекты, и по сути мало отличаются от тех же junction или даже ярлыков. А требование прав - это просто рудимент, оставшийся с прошлых времён, когда симв.ссылки не корректно обрабатывались некоторыми приложениями.
Всё же требование прав именно для их создания ничем не обосновано, т.к. давно существуют точки соединения, которые прав для их создания не требуют, и которые, по-моему, приняли основной удар неподдерживаемости на себя (в Windows XP даже проводник их не понимал). Создаются они таким же образом, что и точки соединения - путём обращения к драйверу, разница лишь в типе структуры-описателя.
Kot_Matraskin
Сообщения: 17
Зарегистрирован: Сб авг 25, 2018 12:54

Сообщение Kot_Matraskin »

MVV писал(а):Нет смысла делать символьные ссылки там, где можно прекрасно обойтись старыми добрыми точками соединения.
А я вот не соглашусь с этим. Точки соединения станут источником гемора, когда ты захочешь подключить своё жёсткий диск в качестве внешнего диска к другой системе. Буква диска будет уже другая, и все эти точки станут невалидными. Поэтому предпочтительно использовать именно символьные ссылки в root-relative формате: \Users\user\MyDir
Тогда можно как угодно подключать свой диск, и всё будет на своих местах.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Разочарую: относительные символьные ссылки утилита создавать не умеет... Пока, во всяком случае. А абсолютные ничем не лучше точек соединения там, где допустимы и те и другие. Разве что наличием вкладки в свойствах папки в проводнике (в которой, кстати, есть баг с отображением целевого пути в случае относительной ссылки).
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Нет смысла делать символьные ссылки там, где можно прекрасно обойтись старыми добрыми точками соединения.
Не очень понимаю данной логики. Чем конкретно ситуация с /s должна отличаться от /s? при разных дисках? Что мешало и для /s сделать точки соединения, коли для папок нет подразумеваемого противопоставления жёстким ссылкам?
И в части относительности я соглашусь с Kot_Matraskin, правда она куда чаще требуется для файлов нежели папок. Такая поддержка (когда можно посмотреть за папки с пом. ..\..\.. или наоборот вперёд с отсечением первой части пути) для портабл-сборок точно не помешает.
Очень странно, если в такой ситуации здесь кириллица не видна, а в остальных не-юникодных программах видна.
Ничего странного. Я же написал, где именно не видна. Напомню, где мы это обсуждали. А здесь ты создавал темы на оффсайте: 1, 2. Память совсем подводит? :) Заголовки табуляторов выводятся как полагается, пути (Целевой объект, Реальный путь) с кириллицей выводятся как полагается, Объект доступен (Да/Нет) выводится как надо, кракозябрами выводится именно Тип объекта.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Kot_Matraskin
Сообщения: 17
Зарегистрирован: Сб авг 25, 2018 12:54

Сообщение Kot_Matraskin »

Я нашёл способ, как избавиться от запроса привилегий на символические ссылки раз и навсегда. Нужно добавить эту привилегию в локальные политики пользователя.

Дейстия такие: добавляем эту привилегию в службу групповых политик, и прописываем свою учётную запись для этой привилегии в локальных политиках.

1. Находим ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\gpsvc
2. Щёлкаем на неё правой кнопкой -> Разрешения -> Дополнительно -> Владелец: Изменить -> меняем владельца на себя (по умолчанию там владелец Система)
3. Выставляем себе разрешение "Полный доступ"
4. В данной ветке реестра находим ключ RequiredPrivileges, и к имеющимся в нём списку добавляем SeCreateSymbolicLinkPrivilege
Владельца ветки можно вернуть как было.

5. Открываем Локальную политику безопасности (secpol.msc).
6. Там переходим в Локальные политики -> Назначение прав пользователя -> Создать символические ссылки -> Добавить пользователя-> добавляем себя в список.
7. Перелогиним свою учётную запись, чтобы изменения вступили в силу.
И кайфуем! Теперь можно легко создавать симлинки хоть через NTLinksMaker, хоть через mklink, и никто вас больше не потревожит.
Последний раз редактировалось Kot_Matraskin Пн авг 27, 2018 15:40, всего редактировалось 2 раза.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Kot_Matraskin
Прочитайте правила форума насчёт оверквотинга. На предыдущей странице лишнее цитирование удалено.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Kot_Matraskin
Сообщения: 17
Зарегистрирован: Сб авг 25, 2018 12:54

Сообщение Kot_Matraskin »

Avada писал(а):Kot_Matraskin
Прочитайте правила форума насчёт оверквотинга. На предыдущей странице лишнее цитирование удалено.
Вы по поводу цитирования вот этого поста? http://forum.wincmd.ru/viewpost.php?p=127757
Вообще-то мой ответ касался первых трёх абзацев этого поста, которые я и процитировал. А вы оставили лишь первый абзац. Видимо смысл не совсем уловили.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Kot_Matraskin
Вы и сейчас нарушаете правила касательно оверквотинга. Свой ник в цитате абсолютно не нужен. B если в предыдущем посте даже сорок абзацев, можно обойтись без их цитирования вообще, если ясно, кому и про что отвечают.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):Не очень понимаю данной логики. Чем конкретно ситуация с /s должна отличаться от /s? при разных дисках? Что мешало и для /s сделать точки соединения, коли для папок нет подразумеваемого противопоставления жёстким ссылкам?
Так тебе наоборот хочется микса символьных ссылок на файлы и точек соединения для папок? Ну, технически-то проблем нет... Два комбобокса в интерфейсе, отдельно для папок и файлов?
Flasher писал(а):И в части относительности я соглашусь с Kot_Matraskin, правда она куда чаще требуется для файлов нежели папок.
Да я в этом тоже с ним соглашусь, но поддержки нет. :)
Kot_Matraskin писал(а):Я нашёл способ, как избавиться от запроса привилегий на символические ссылки раз и навсегда. Нужно добавить эту привилегию в локальные политики пользователя.
Спасибо за информацию, это может быть полезным!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Два комбобокса в интерфейсе, отдельно для папок и файлов?
Угу. И ключик.
MVV писал(а):но поддержки нет.
Твоей или системы? :)

Что по юникоду?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Откуда: Москва
Контактная информация:

Сообщение CaptainFlint »

Kot_Matraskin писал(а):Я нашёл способ, как избавиться от запроса привилегий на символические ссылки раз и навсегда.
К сожалению, это работает только для не-админских аккаунтов (по крайней мере, в Win7). Админские неповышенные аккаунты по-прежнему будут требовать повышения, даже если их явно указать в этом списке. Такая вот придурь. :(
Почему же, ё-моё, ты нигде не пишешь "ё"?
Kot_Matraskin
Сообщения: 17
Зарегистрирован: Сб авг 25, 2018 12:54

Сообщение Kot_Matraskin »

CaptainFlint писал(а):К сожалению, это работает только для не-админских аккаунтов (по крайней мере, в Win7). Админские неповышенные аккаунты по-прежнему будут требовать повышения, даже если их явно указать в этом списке. Такая вот придурь. :(
На Win10 всё ок. Проверял как-раз на аккаунте с админскими правами. Может для семёрки дополнительно что-то нужно... Хотя по логике бы наоборот на старых версиях посвободней должно быть.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):Ничего странного. Я же написал, где именно не видна. Напомню, где мы это обсуждали. А здесь ты создавал темы на оффсайте: 1, 2. Память совсем подводит? :) Заголовки табуляторов выводятся как полагается, пути (Целевой объект, Реальный путь) с кириллицей выводятся как полагается, Объект доступен (Да/Нет) выводится как надо, кракозябрами выводится именно Тип объекта.
Конечно подводит, за 6 лет ни разу об этом не вспоминал. :D
Но что ты от плагина хочешь, если проблема в тотале, и её так никто не решил? Могу лишь повторить свой древний совет - перевести LNG-файл в UTF-16 LE без маркера, официальную юникодную кодировку INI-файлов.
Flasher писал(а):Твоей или системы?
Моей, конечно, я же прямо об этом написал.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Откуда: Москва
Контактная информация:

Сообщение CaptainFlint »

MVV писал(а):Даже с SetEnv __COMPAT_LAYER RunAsInvoker в Autorun.cfg?
Не вижу, почему это значение должно что-то поменять в поведении, ибо RunAsInvoker — это и есть поведение по умолчанию. Но на всякий случай проверил (в консоли, не в autorun), и ничего не поменялось, "you do not have sufficient privilege".
Почему же, ё-моё, ты нигде не пишешь "ё"?
Ответить