OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file contains utility functions for dealing with the local | 5 // This file contains utility functions for dealing with the local |
6 // filesystem. | 6 // filesystem. |
7 | 7 |
8 #ifndef BASE_FILE_UTIL_H_ | 8 #ifndef BASE_FILE_UTIL_H_ |
9 #define BASE_FILE_UTIL_H_ | 9 #define BASE_FILE_UTIL_H_ |
10 #pragma once | 10 #pragma once |
(...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
652 FILE_SYSTEM_CGROUP, // cgroup control. | 652 FILE_SYSTEM_CGROUP, // cgroup control. |
653 FILE_SYSTEM_OTHER, // any other value. | 653 FILE_SYSTEM_OTHER, // any other value. |
654 FILE_SYSTEM_TYPE_COUNT | 654 FILE_SYSTEM_TYPE_COUNT |
655 }; | 655 }; |
656 | 656 |
657 // Attempts determine the FileSystemType for |path|. | 657 // Attempts determine the FileSystemType for |path|. |
658 // Returns false if |path| doesn't exist. | 658 // Returns false if |path| doesn't exist. |
659 BASE_EXPORT bool GetFileSystemType(const FilePath& path, FileSystemType* type); | 659 BASE_EXPORT bool GetFileSystemType(const FilePath& path, FileSystemType* type); |
660 #endif | 660 #endif |
661 | 661 |
| 662 #if defined(OS_POSIX) |
| 663 // Test that a path is owned by a specific user, and not writable |
| 664 // by all users. This is useful for checking that a config file |
| 665 // is administrator-controlled. All components of |path| after |base| |
| 666 // are checked. Note that |base| is not checked, and |base| must be a |
| 667 // parent of |path|. |
| 668 BASE_EXPORT bool IsPathControlledByUser(const FilePath& base, |
| 669 const FilePath& path, |
| 670 uid_t owner_uid); |
| 671 |
| 672 // Is |path| writable only by a user with administrator privileges? |
| 673 // Check this by testing that |path|, and every parent directory, |
| 674 // are owned by root and not writable by all users. |
| 675 BASE_EXPORT bool IsPathControlledByAdmin(const FilePath& path); |
| 676 #endif // defined(OS_POSIX) |
| 677 |
662 } // namespace file_util | 678 } // namespace file_util |
663 | 679 |
664 // Deprecated functions have been moved to this separate header file, | 680 // Deprecated functions have been moved to this separate header file, |
665 // which must be included last after all the above definitions. | 681 // which must be included last after all the above definitions. |
666 #include "base/file_util_deprecated.h" | 682 #include "base/file_util_deprecated.h" |
667 | 683 |
668 #endif // BASE_FILE_UTIL_H_ | 684 #endif // BASE_FILE_UTIL_H_ |
OLD | NEW |