Ejemplo n.º 1
0
/**
 * gs_file_lchown:
 * @path: Path to file
 * @owner: UNIX owner
 * @group: UNIX group
 * @cancellable: a #GCancellable
 * @error: a #GError
 *
 * Merely wraps UNIX lchown().
 *
 * Returns: %TRUE on success, %FALSE on error
 */
gboolean
gs_file_lchown (GFile          *path,
                guint32         owner,
                guint32         group,
                GCancellable   *cancellable,
                GError        **error)
{
    return chown_internal (path, FALSE, owner, group, cancellable, error);
}
Ejemplo n.º 2
0
 bool chown_path()
 {
     if (!chown_internal(_curr->fts_accpath, _uid, _gid, _follow_symlinks)) {
         _error_msg = fmt::format("{}: Failed to chown: {}",
                                  _curr->fts_path, strerror(errno));
         LOGW("{}", _error_msg);
         return false;
     }
     return true;
 }
Ejemplo n.º 3
0
bool chown(const std::string &path,
           uid_t uid,
           gid_t gid,
           int flags)
{
    if (flags & CHOWN_RECURSIVE) {
        RecursiveChown fts(path, uid, gid, flags & CHOWN_FOLLOW_SYMLINKS);
        return fts.run();
    } else {
        return chown_internal(path, uid, gid, flags & CHOWN_FOLLOW_SYMLINKS);
    }
}
Ejemplo n.º 4
0
bool chown(const std::string &path,
           uid_t uid,
           gid_t gid,
           ChownFlags flags)
{
    if (flags & ChownFlag::Recursive) {
        RecursiveChown fts(path, uid, gid, flags & ChownFlag::FollowSymlinks);
        return fts.run();
    } else {
        return chown_internal(path, uid, gid, flags & ChownFlag::FollowSymlinks);
    }
}