Я хочу поставить чек на домашний каталог ярлык ~
данного в качестве параметра опции ввода через CLI в программе C работает на Linux.Как поставить проверку на домашней директории ярлыка ~ заданный через CLI в C на Linux
Ярлык преобразуется в полный путь до его чтения из аргумента функции main()
.
Я добавил следующую буквенную проверку, но он не работает, так как параметр был заменен полным каталогом домашней директории (например, /home/myself
) от CLI.
if ((strstr(pName, (const char *)"~/") != NULL) || (strcmp((const char *)pName, (const char *)"~") == 0))
{
/* home directory shortcut is not allowed/;
}
Как я могу добавить буквального чек, который не разрешает пользователю ввести домашний каталог ярлык (не полный путь), или, как убедиться, что CLI не преобразует ярлык в путь?
Обратите внимание: если пользователь явно вводит путь к исходному каталогу в качестве входного параметра, это нормально. Мне нужно только поставить чек на ярлык.
Некоторые фона:
Это просто одна из проверок безопасности, не позволяя пользователю получить доступ к привилегированным адресам. Пользователь будет получать доступ к приложению через веб-интерфейс, и приложение будет работать в пространстве (/ home/main), отличном от того, что выделено пользователю (/ home/user_1).
Что вы хотите сделать это? – fuz
Только одна из проверок безопасности, не позволяющая пользователю получить доступ к привилегированным местоположениям. Пользователь будет получать доступ к приложению через веб-интерфейс, и приложение будет работать в пространстве (/ home/main), отличном от того, что выделено пользователю (/ home/user_1). –
Тогда почему бы вам не сравнить каталог с '/ home/main' вместо проверки расширения тильды? – fuz