mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
For root the functions util_path_is_readable() and util_path_is_writable() do not take the path's permissions into account. The function access() succeeds as root is allowed to read/write any file regardless of its permissions. Introduce the functions util_path_is_readonly_file() and util_path_is_writeonly_file() to test whether a path is a regular file and is either read-only (neither user, group, nor other have write permission, but one or more of user, group, and other have read permission) or write-only (neither user, group, nor other have read permission, but one or more of user, group, and other have write permission). Signed-off-by: Jens Remus <jremus@linux.ibm.com> Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
28 lines
771 B
C
28 lines
771 B
C
/**
|
|
* @defgroup util_path_h util_path: Path interface
|
|
* @{
|
|
* @brief Work with paths
|
|
*
|
|
* Copyright IBM Corp. 2016, 2019
|
|
*
|
|
* s390-tools is free software; you can redistribute it and/or modify
|
|
* it under the terms of the MIT license. See LICENSE for details.
|
|
*/
|
|
|
|
#ifndef LIB_UTIL_PATH_H
|
|
#define LIB_UTIL_PATH_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
char *util_path_sysfs(const char *fmt, ...);
|
|
|
|
bool util_path_is_readable(const char *fmt, ...);
|
|
bool util_path_is_writable(const char *fmt, ...);
|
|
bool util_path_is_dir(const char *fmt, ...);
|
|
bool util_path_is_reg_file(const char *fmt, ...);
|
|
bool util_path_exists(const char *fmt, ...);
|
|
bool util_path_is_readonly_file(const char *fmt, ...);
|
|
bool util_path_is_writeonly_file(const char *fmt, ...);
|
|
|
|
#endif /** LIB_UTIL_PATH_H @} */
|