Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите пожалуйста, как узнать права на папку, наследуются ли права или нет от папки ро 
:(
    Опции темы
marchik
Дата 23.5.2013, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 23.5.2013

Репутация: нет
Всего: нет



Подскажите пожалуйста, как узнать права на папку (наследуются ли права или нет от папки родителя).
 То есть есть папка Z:\test, она имеет две папки: Z:\test\test1, Z:\test\test2

 Предположим права на папку Z:\test это пользвоатели домена и любой пользователь (пусть будет Andreenko)
 Предположим, что Z:\test\test1 не имеет наследованных прав от Z:\test, а Z:\test\test2 имеет наследованные права от Z:\test.

 Как узнать, что папка Z:\test\test1 не имеет наследованных прав?
 java 7, nio, не?

Код

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.AclEntry;
import java.nio.file.attribute.AclFileAttributeView;
import java.nio.file.attribute.FileOwnerAttributeView;
import java.nio.file.attribute.UserPrincipal;
import java.util.List;
 
public class Main {
 
    public static void main(String[] args) {
         Path path = Paths.get("Z:/test");
         
         System.out.println(path.toString());
         
         List<AclEntry> aclEntries = null;       
         
         AclFileAttributeView fileAttributeView = Files.getFileAttributeView(path, AclFileAttributeView.class);
         
         try {
            aclEntries = fileAttributeView.getAcl();
            
            for (AclEntry aclEntry : aclEntries) {
                System.out.println("****************************************");
                System.out.println("principal " + aclEntry.principal().getName());
                System.out.println("type " + aclEntry.type().toString());
                System.out.println("permissions " + aclEntry.permissions().toString());
                System.out.println("flags " + aclEntry.flags().toString());
                
            }
        } catch (IOException e1) {
            e1.printStackTrace();
        }
       }
}


Вывод программы примерно следующий:

 Z:\test
 ****************************************
 principal ****\Andreenko
 type DENY
 permissions [DELETE_CHILD, SYNCHRONIZE, WRITE_ACL, APPEND_DATA, READ_NAMED_ATTRS, READ_ACL, WRITE_DATA, READ_ATTRIBUTES, READ_DATA, WRITE_OWNER, EXECUTE, DELETE, WRITE_ATTRIBUTES, WRITE_NAMED_ATTRS]
 flags [DIRECTORY_INHERIT, FILE_INHERIT]

 ****************************************
 principal ****\Пользователи домена
 type ALLOW
 permissions [READ_NAMED_ATTRS, READ_ACL, READ_ATTRIBUTES, READ_DATA, SYNCHRONIZE, EXECUTE]
 flags [DIRECTORY_INHERIT, FILE_INHERIT]


 как выяснилось флаги ( flags [DIRECTORY_INHERIT, FILE_INHERIT] ) показывают, что права от данной папки распространяются на все вложенные в эту папку.


 Попробую показать на примере, в картинках: 

 Права на папку Z:\test

http://i46.fastpic.ru/big/2013/0508/...b97cb64794.jpg


 Права на паку Z:\test\test1 (унаследовано от z:\test)

http://i47.fastpic.ru/big/2013/0508/...74d352a74d.jpg


 Права на паку Z:\test\test2 (не унаследовано от z:\test)

http://i48.fastpic.ru/big/2013/0508/...a8ef1938df.jpg

 Как узнать, что права наследуются ? или нет?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0376 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.