- NFS Server and File Permissions
- Аннотация
- Дополнительные сведения
- File access permissions
- Locations that all apps can access
- Application install directory
- Application data locations
- Removable devices
- Locations that UWP apps can access
- User’s Downloads folder
- Accessing additional locations
- Retaining access to files and folders
- Capabilities for accessing other locations
- Example
NFS Server and File Permissions
В этой статье данная статья содержит некоторые сведения о NFS Server и разрешениях файлов.
Исходная версия продукта: Windows Server 2012 R2
Исходный номер КБ: 231964
Аннотация
В этой статье описывается настройка разрешений файлов для экспорта Windows NT файловой системы (NFS) для работы с рабочими станциями UNIX NFS.
Дополнительные сведения
Эти действия не нужно выполнять при использовании только анонимной проверки подлинности, хотя результаты могут дать вам представление о том, как разрешения файлов NTFS отражаются на UNIX рабочих станциях.
В следующих инструкциях предполагается, что Windows NT NFS на основе сервера настроен на использование значений по умолчанию для дополнительных параметров и разрешений безопасности.
На компьютере NFS Windows NT Microsoft server:
Всегда устанавливайте разрешения NTFS для экспорта (а также все папки и файлы под экспортом) на полный доступ для всех пользователей, группы администраторов и пользователя администратора.
Если папка экспорта пуста, создайте фиmmy-файл, который будет вызван в папке экспорта dummyfile NFS.
Если вы не используете сервер сетевой службы (NIS), скопируйте файлы Etc/Passwd и Etc/Group в двоичном режиме с соответствующего компьютера UNIX в папку Winnt\System32\drivers\etc.
Оставьте поля пароля пустыми. Рекомендуется, чтобы пользовательские интерфейсы и GID были уникальными в целом, а также именами пользователей и группами в целом. Например, не используйте 1001 для пользователя и группы и не используйте пользователя с колесико в дополнение к группе колес.
Сое всех пользователей и каждой группы с уникальными Windows NT и группой. Это можно сделать с помощью сервера для диспетчера пользователей NFS.
Сое UNIX корневого пользователя с Windows NT администратора группы и корнем группы или колесикой с группой Windows NT администраторов.
В клиенте UNIX NFS:
Войдите как корневой (только корневой может установить экспорт NFS). Смонтировать экспорт на рабочей станции UNIX, введя
где имя хоста компьютера на Windows NT, ntserver F/export/home/user является путем к экспорту и является локально доступной точкой mnt крепления.
Проверьте разрешения, введя:
Отображаются выходные данные, аналогичные следующему примеру:
Назначьте соответствующих владельцев файлам и папок, введя:
В некоторых UNIX операционных системах эта команда не принимает параметр группы. В таких ситуациях в дополнение к этой команде необходимо ввести chgrp -R group /mnt.
Назначьте соответствующие разрешения для файлов и папок, введя:
Проверьте новые разрешения, введя:
Отображаются выходные данные, аналогичные следующему примеру:
Если вы не можете изменить разрешения для файла или получили сообщения об ошибке «Доступ отказано», с помощью следующих действий:
- На компьютере Windows NT NFS на основе сервера назначьте полный доступ экспорту для всех пользователей, группы администраторов и пользователя администратора.
- В клиенте UNIX NFS скопируйте файл в другое имя (это необходимо сделать от имени пользователя, а не от имени корня). Удалите исходный файл в Windows NT и переименуйте его в исходное имя.
Некоторые Windows NT и группы не могут быть соенены с эквивалентными UNIX пользователями или группами. Они могут отображаться как nogroup4 или nogroup. К специальным группам, которые демонстрируют такое поведение, относятся:
- Все
- Сеть
- Интерактивны
- Системные
- Пользователи, прошедшие проверку
—>
File access permissions
Universal Windows Platform (UWP) apps can access certain file system locations by default. Apps can also access additional locations through the file picker, or by declaring capabilities.
Locations that all apps can access
When you create a new app, you can access the following file system locations by default:
Application install directory
The folder where your app is installed on the user’s system.
There are two primary ways to access files and folders in your app’s install directory:
You can retrieve a StorageFolder that represents your app’s install directory, like this:
You can then access files and folders in the directory using StorageFolder methods. In the example, this StorageFolder is stored in the installDirectory variable. You can learn more about working with your app package and install directory from the App package information sample on GitHub.
You can retrieve a file directly from your app’s install directory by using an app URI, like this:
When GetFileFromApplicationUriAsync completes, it returns a StorageFile that represents the file.txt file in the app’s install directory ( file in the example).
The «ms-appx:///» prefix in the URI refers to the app’s install directory. You can learn more about using app URIs in How to use URIs to reference content.
In addition, and unlike other locations, you can also access files in your app install directory by using some Win32 and COM for Universal Windows Platform (UWP) apps and some C/C++ Standard Library functions from Microsoft Visual Studio.
The app’s install directory is a read-only location. You can’t gain access to the install directory through the file picker.
Application data locations
The folders where your app can store data. These folders (local, roaming and temporary) are created when your app is installed.
There are two primary ways to access files and folders from your app’s data locations:
Use ApplicationData properties to retrieve an app data folder.
For example, you can use ApplicationData.LocalFolder to retrieve a StorageFolder that represents your app’s local folder like this:
If you want to access your app’s roaming or temporary folder, use the RoamingFolder or TemporaryFolder property instead.
After you retrieve a StorageFolder that represents an app data location, you can access files and folders in that location by using StorageFolder methods. In the example, these StorageFolder objects are stored in the localFolder variable. You can learn more about using app data locations from the guidance on the ApplicationData class page, and by downloading the Application data sample from GitHub.
You can retrieve a file directly from your app’s local folder by using an app URI, like this:
When GetFileFromApplicationUriAsync completes, it returns a StorageFile that represents the file.txt file in the app’s local folder ( file in the example).
The «ms-appdata:///local/» prefix in the URI refers to the app’s local folder. To access files in the app’s roaming or temporary folders use «ms-appdata:///roaming/» or «ms-appdata:///temporary/» instead. You can learn more about using app URIs in How to load file resources.
In addition, and unlike other locations, you can also access files in your app data locations by using some Win32 and COM for UWP apps and some C/C++ Standard Library functions from Visual Studio.
You can’t access the local, roaming, or temporary folders through the file picker.
Removable devices
Additionally, your app can access some of the files on connected devices by default. This is an option if your app uses the AutoPlay extension to launch automatically when users connect a device, like a camera or USB thumb drive, to their system. The files your app can access are limited to specific file types that are specified via File Type Association declarations in your app manifest.
Of course, you can also gain access to files and folders on a removable device by calling the file picker (using FileOpenPicker and FolderPicker) and letting the user pick files and folders for your app to access. Learn how to use the file picker in Open files and folders with a picker.
For more info about accessing an SD card or other removable devices, see Access the SD card.
Locations that UWP apps can access
User’s Downloads folder
The folder where downloaded files are saved by default.
By default, your app can only access files and folders in the user’s Downloads folder that your app created. However, you can gain access to files and folders in the user’s Downloads folder by calling a file picker (FileOpenPicker or FolderPicker) so that users can navigate and pick files or folders for your app to access.
You can create a file in the user’s Downloads folder like this:
DownloadsFolder.CreateFileAsync is overloaded so that you can specify what the system should do if there is already an existing file in the Downloads folder that has the same name. When these methods complete, they return a StorageFile that represents the file that was created. This file is called newFile in the example.
You can create a subfolder in the user’s Downloads folder like this:
DownloadsFolder.CreateFolderAsync is overloaded so that you can specify what the system should do if there is already an existing subfolder in the Downloads folder that has the same name. When these methods complete, they return a StorageFolder that represents the subfolder that was created. This file is called newFolder in the example.
Accessing additional locations
In addition to the default locations, an app can access additional files and folders by declaring capabilities in the app manifest or by calling a file picker to let the user pick files and folders for the app to access.
Apps that declare the AppExecutionAlias extension have file-system permissions from the directory that they are launched from in the console window, and downwards.
Retaining access to files and folders
When your app retrieves a file or folder via a picker, a file activation, a drag-and-drop operation, etc. it only has access to that file or folder until the app is terminated. If you would like to automatically access the file or folder in the future, you can add it to the FutureAccessList so that your app can readily access that item in the future. You can also use the MostRecentlyUsedList to easily manage a list of recently-used files.
Capabilities for accessing other locations
The following table lists additional locations that you can access by declaring one or more capabilities and using the associated Windows.Storage API.
Location | Capability | Windows.Storage API |
---|---|---|
All files that the user has access to. For example: documents, pictures, photos, downloads, desktop, OneDrive, etc. | broadFileSystemAccess This is a restricted capability. Access is configurable in Settings > Privacy > File system. Because users can grant or deny the permission any time in Settings, you should ensure that your app is resilient to those changes. If you find that your app does not have access, you may choose to prompt the user to change the setting by providing a link to the Windows 10 file system access and privacy article. Note that the user must close the app, toggle the setting, and restart the app. If they toggle the setting while the app is running, the platform will suspend your app so that you can save the state, then forcibly terminate the app in order to apply the new setting. In the April 2018 update, the default for the permission is On. In the October 2018 update, the default is Off. If you submit an app to the Store that declares this capability, you will need to supply additional descriptions of why your app needs this capability, and how it intends to use it. This capability works for APIs in the Windows.Storage namespace. See the Example section at the end of this article for an example of how to enable this capability in your app. Note: This capability is not supported on Xbox. | n/a |
Documents | documentsLibrary Note: You must add File Type Associations to your app manifest that declare specific file types that your app can access in this location. Use this capability if your app: | KnownFolders.DocumentsLibrary |
Music | musicLibrary Also see Files and folders in the Music, Pictures, and Videos libraries. | KnownFolders.MusicLibrary |
Pictures | picturesLibrary Also see Files and folders in the Music, Pictures, and Videos libraries. | KnownFolders.PicturesLibrary |
Videos | videosLibrary Also see Files and folders in the Music, Pictures, and Videos libraries. | KnownFolders.VideosLibrary |
Removable devices | removableStorage Note You must add File Type Associations to your app manifest that declare specific file types that your app can access in this location. Also see Access the SD card. | KnownFolders.RemovableDevices |
Homegroup libraries | At least one of the following capabilities is needed. — musicLibrary — picturesLibrary — videosLibrary | KnownFolders.HomeGroup |
Media server devices (DLNA) | At least one of the following capabilities is needed. — musicLibrary — picturesLibrary — videosLibrary | KnownFolders.MediaServerDevices |
Universal Naming Convention (UNC) folders | A combination of the following capabilities is needed. The home and work networks capability: And at least one internet and public networks capability: And, if applicable, the domain credentials capability: Note: You must add File Type Associations to your app manifest that declare specific file types that your app can access in this location. | Retrieve a folder using: StorageFolder.GetFolderFromPathAsync Retrieve a file using: |
Example
This example adds the restricted broadFileSystemAccess capability. In addition to specifying the capability, the rescap namespace must be added, and is also added to IgnorableNamespaces .
For a complete list of app capabilities, see App capability declarations.