Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    [Решен] QUrlInfo и права на файл/директория

    Bulgarian
    2
    4
    4389
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Robbin last edited by

      Здравейте.

      Ползвам QUrlInfo за да изкарам информация за файл от отдалечен сървър (ftp). Срещам проблеми с информацията за правата на директорията или файла. В enum-а PermissionSpec се вижда че максималния сбор на флаговете е 7 (за собственик, група и останалите).

      @
      QUrlInfo::ReadOwner 00400 The file is readable by the owner of the file.
      QUrlInfo::WriteOwner 00200 The file is writable by the owner of the file.
      QUrlInfo::ExeOwner 00100 The file is executable by the owner of the file.
      QUrlInfo::ReadGroup 00040 The file is readable by the group.
      QUrlInfo::WriteGroup 00020 The file is writable by the group.
      QUrlInfo::ExeGroup 00010 The file is executable by the group.
      QUrlInfo::ReadOther 00004 The file is readable by anyone.
      QUrlInfo::WriteOther 00002 The file is writable by anyone.
      QUrlInfo::ExeOther 00001 The file is executable by anyone.
      @

      Обаче получавам странни резултати. Директория която иначе е с права 755 ми я показва като 493 а такава която е 777 - 511
      Не ми се вярва да добавя стойности за setuid и setgid, те така или иначе не съществуват на въпросните директории.

      Някой има ли представа как да извлека правилните права и на какво се дължи това разминаване?

      1 Reply Last reply Reply Quote 0
      • T
        task_struct last edited by

        Здравей,

        QUrlInfo би трябвало да ти върне информацията, така както я вижда сървъра(процеса на сървъра). Ако ти гледаш директорията с друг потребител, не би ли трябвало да я показва различно?

        "Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program."

        • Linu...
        1 Reply Last reply Reply Quote 0
        • R
          Robbin last edited by

          Ами честно казано, правя ftp клиент за разработка която ще е за "лична" употреба (работя като системен администратор и гледам да си улесня малко работата) и това което правя всъщност е ftp конекция към сървъра. Проблема е че ползвам QFtp който ако не се лъжа вече е deprecated или поне е в процес на отстраняване, но ползвам Qt 4.8 и там все още си работи добре. Така че това което ми връща QUrlInfo е слот свързан с qftp сигнала listInfo. Всичко друго с QFtp си работи ОК. Не би трябвало да е свързано с потребителя, тъй като ако имаш права да листнеш директорията, ще я листнеш и ще видиш цялата необходима информация. Ако нямаш, просто няма да я листнеш. А и се логвам с потребителя собственик на директорията. Ако проверя правата на сървъра през SSH или с друг FTP клиент, всичко си е ОК. Заради това се зачудих дали аз нещо не съм разбрал в това което връща.

          1 Reply Last reply Reply Quote 0
          • R
            Robbin last edited by

            След малко тестове, намерих достатъчно информация която да ми свърши работа за текущия проект. Това което правя не е елегантен начин за пресмятане на правата, но за мен работи и това ми стига за проекта. Написал съм варианта в "другата тема":http://qt-project.org/forums/viewthread/28906/#129721 която създадох по въпроса в общия форум за десктоп приложения.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post