Pdpl file отказано в доступе astra linux

Обновлено: 30.06.2024

должны быть права к директории вышестоящей и всем выше неё

Deleted ( 24.03.19 15:18:47 )
Последнее исправление: Deleted 24.03.19 15:19:13 (всего исправлений: 2)

Есть права, из-под рута же пытаюсь. Но попробовал вручную ко всем подкаталогам до того файла где пробую, установить права 777 - не помогло, всё равно ругается что нет прав. И почему только экзешники? В том же каталоге лежит текстовый файл, копируется спокойно.

Права похерились это же опенсорс вроде как у всех должны быть, но не обязаны, самый свободный дистрибутив я угадал?

насколько я помню у рута есть CAP_DAC_OVERRIDE или что-то подобное, поэтому права на что угодно могут быть хоть 000

файлы exe давно лежат или недавно заливались? В самбе acl_xattr используется? Ну и там в выводе la -la или lsattr есть что-нибудь необычное?

Давно. Самбу пока не трогал, потому что у меня нет к ним доступа даже без Самбы, она нужна только чтобы из-под винды шары были.

Файловая система какая? Ext4? Команду lsattr выполняли, как выше постоветовали?

ext4. lsattr - Отказано в доступе While reading flags on xxx.exe

Посмотрите вот эту ссылку, возможно, Вам поможет предложенный там вариант.

а lsof что по поводу этих файликов говорит?

у нас подобное бывает, что файл вроде как есть, но сделать с ним ничего нельзя (mc его еще красным показывает, со знаком вопроса), но у нас постоянное создание и удаление файлов, а случаи единичны и не зависят от типа файлов.

Учитывая, что началось пару дней назад, то в dmesg или /var/log/syslog могут быть записи, которые может помогут хотя бы понять, что произошло (чаще всего искать надо по имени диска или точки монтирования)

А в чём разница между debugfs и fsck? Просто fsck уже пробовал, для обоих дисков.


Недавно в самбе порезали поддержку старых протоколов. Вероятно активировался ACL или чтото в этом духе. Права рута в этом случае ни на что не влияют. Возможно ты неправильно авторизован на сервере.

Недавно в самбе порезали поддержку старых протоколов.

Так к файлам нет доступа даже из под рута Дебиана. Без Самбы. Причём здесь это? ПыСы: Как я могу быть неправильно авторизован, если я под рутом?


Я подумал что ты пытаешься выполнять операции по сети.

Ну в таком случае ещё можнт гадить SeLinux и компания. Не трогал их?

debugfs — это ручное редактирование файловой системы. А fsck — это автоматическое или полуавтоматическое исправление ошибок.

1) Создаю пользователя biba и задаю ему мандатные атрибуты sudo pdpl-user -l 0:2 -i 0 -c 0:3 biba (ограничение категорий по 0:3 позволит дать доступ для категории 1 и категории 2)
2) Создаю в файловой системе директорию в которой будет файл file1 с аналогичными метками,что и у директории dirbiba (дискретка chmod -R 777 dirbiba)

Пытаюсь от пользователя biba вывести содержимое файла sudo -u biba cat /dirbiba/file1 && echo "FAIL: 1" || echo "OK: 0" , но мне выдает следующее: операция не позволена

Python

New member

Python

New member

Малышок

New member


Нет, так как пользователь создавался через команду useradd ( нет доп. информации, назначенного пароля и пр.) Сейчас пользователь был добавлен в группу astra-console, но при попытке открыть файл выдало тоже самое - операция не позволена.
добавлялся пользователь так: sudo usermod -G astra-console biba

Малышок

New member

Не проверялось, так как пользователь создавался через команду useradd ( нет доп. информации, назначенного пароля и пр.). Основная суть как раз таки в реализации открытия файла от другого пользователя. Не знаю что может мешать, так как дискретка отключена, теперь пользователь имеет доступ к консоли(astra-console) но операция не позволена

CrashBldash

New member

А вашему новому пользователю biba можно делать sudo?
Покажите /etc/sudoers и id пользователя biba

Малышок

New member

А вашему новому пользователю biba можно делать sudo?
Покажите /etc/sudoers и id пользователя biba

Команда sudo предоставляет возможность пользователям выполнять команды от имени суперпользователя root либо других пользователей, а мне это совершенно не нужно. Задача что бы biba делал свои дела исходя из тех прав,что ему даровано. Суть в мандатном разграничении доступа. Из установленных категорий и уровней он директорию и файл видит, дискретка на максимум, следовательно и читать/писать/исполнять он тоже может. Доп.привелегий biba никто не даст,он обычный юзер.

Новые пользователи довольно часто сталкиваются с такой ошибкой, как ошибка отказано в доступе Linux. Если вы только что перешли с Windows, то можете еще не знать всех особенностей операционной системы Linux и почему возникает такая проблема.

В этой статье мы рассмотрим причины ошибки access denied linux, а также как ее обойти.

Ошибка отказано в доступе Linux

Наиболее часто такая ошибка встречается, в таких случаях:

  • Вы пытаетесь выполнить команду в терминале;
  • Вы пытаетесь примонтировать внешний носитель с помощью файлового менеджера;
  • Вы пытаетесь запустить системный сервис и находите такую ошибку в логе.

В операционной системе Linux действует сложная система полномочий. Настройки доступа для каждого файла настраиваются тремя параметрами - чтение, запись и выполнение. Эти параметры устанавливаются для трех категорий - владелец файла, группа файла и все остальные пользователи.

Если вы попытаетесь получить доступ, например, открыть для чтения файл, к которому вам доступ не разрешен, то вы получите такую ошибку. А учитывая что все устройства, сокеты, и другие системные объекты - это тоже файлы, то вы будете получать такую ошибку всегда, когда попытаетесь сделать то, что вам не позволено. Самый простой способ обойти такой запрет - это выполнять нужную команду от имени суперпользователя.

Многие программы проверяют после запуска от какого пользователя они запущены и говорят, что их нужно запускать от имени суперпользователя, но так ведут себя не все. Например, команда ls вернет ошибку отказано в доступе linux если вы попытаетесь посмотреть содержимое каталога суперпользователя:


Но эта же команда нормально отработает нормально при использовании команды sudo:


Другой случай, это если вы обнаруживаете проблему в логах какого-либо системного сервиса, например, веб-сервера Apache. Казалось бы, должно было быть все верно, потому что запуск и так выполняется от имени суперпользователя.

Но нет, сервисы не только запускаются от имени суперпользователя, но потом, для увеличения безопасности они меняют пользователя на обычного, не привелигированного. Например, Apache работает от имени пользователя apache или www-data. Уже от имени этого пользователя программа пытается получить доступ к файловой системе.

Если нужная папка не доступна этому пользователю для чтения то вы получите ошибку access denied linux. Обычно, в логе программа сообщает какая папка или файл нужен когда происходит ошибка.

Вам просто нужно поменять на него права с помощью утилиты chmod или изменить владельца chown. Причем, нужно чтобы ко всем подкаталогам на пути к целевому каталогу был доступ у программы. Например, нельзя так чтобы права на чтение /home/ не было, а на /home/user/ было. Так не пройдет.

Права разрешающие чтение и запись владельцу и только чтение для группы и остальных вставляются командой:

sudo chmod 755 /путь/к/файлу

Или для смены прав для всех файлов в каталоге и самого каталога:

sudo chmod -R 755 /путь/к/каталогу

Или вы можете изменить владельца, обычно, это более безопасная и распространенная практика:

sudo chown пользователь /путь/к/файлу
$ sudo chown -R пользователь /путь/к/каталогу


Имя пользователя, от имени которого работает сервис вы можете посмотреть с помощью команды:

sudo ps aux | grep имя_сервиса


После того как вы установите правильные права, ошибка отказано в доступе linux больше не будет встречаться.

Выводы

В этой статье мы рассмотрели что делать если случается ошибка нет доступа linux, а также почему она возникает. Надеюсь, эта информация была полезной для вас. Если остались вопросы, спрашивайте в комментариях!

1.Основные задачи администрирования ASTRA LINUX SE.

В общем случае процесс администрирования ОС на базе проекта Debian GNU/Linux (в том числе ASTRA LINUX SE) включает решение следующих основных задач:

  1. администрирование учётных записей пользователей и групп с целью организации многопользовательской работы ASTRA LINUX SE и реализации управления доступом процессов (субъект-сессий, функционирующих от имени учётных записей пользователей) к файлам, каталогам и другим объектам доступа ASTRA LINUX SE (сущностям);
  2. администрирование процессов с целью оптимизации распределения между ними ресурсов компьютера;
  3. администрирования запоминающих и периферийных устройств с целью контроля имеющихся в составе компьютера устройств и управления динамически подключаемыми устройствами.
  4. В случае включения компьютера с ASTRA LINUX SE в сетевую среду и его функционирования в составе домена сетевой инфраструктуры Astra Linux Directory (ALD) перечень задач дополняется задачами администрирования сети и доменной инфраструктуры. Эти задачи будут подробно рассмотрены в следующих лекциях.

2. Администрирование учётных записей пользователей и групп.

Отправной точкой реализации управления доступом в ASTRA LINUX SE являлось унаследованное от ОС семейства Linux дискреционное управление доступом. Поэтому, несмотря на то, что в настоящее время в ASTRA LINUX SE используются мандатные управление доступом и контроль целостности, а в перспективе ролевое управление доступом, целесообразно рассмотреть основные элементы дискреционного управления доступом, не утратившие своей актуальности в современных релизах ASTRA LINUX SE.

Дискреционное управление доступом в ОС семейства Linux базируется на понятии владения (использовании права доступа владения) файлом, каталогом, процессом (сущностями и субъект-сессиями). Так в файловых системах семейства extfs, которые по умолчанию используются в ASTRA LINUX SE, для каждого файла или каталога обязательно задана учётная запись пользователя — их владелец. Процесс, функционирующий от имени такой учётной записи-владельца сущности, имеет право изменять дискреционные права доступа к ней, например назначать их учётным записям других пользователей ASTRA LINUX SE на основе стандарта POSIX ACL .

Access Control List или ACL — список контроля доступа, который определяет, кто или что может получать доступ к конкретному объекту, и какие именно операции разрешено или запрещено этому субъекту проводить над объектом. Списки контроля доступа являются основой систем с избирательным управлением доступа.

Для оптимизации и облегчения администрирования дискреционного управления доступом в случаях, когда к одним и тем же файлам или каталогам требуется установить одинаковые права доступа более чем для одной учётной записи пользователя, в ASTRA LINUX SE применяются группы учётных записей пользователей. В результате для файлов и каталогов владельцем (обладателем к ним правом доступа владения) может быть задана группа. При этом для них остаются владельцами и соответствующие учётные записи пользователей. В перспективе при реализации в ASTRA LINUX SE ролевого управления доступом вместо учётных записей пользователей и групп владельцами будут задаваться роли или административные роли.

Таким образом, при управлении доступом в ASTRA LINUX SE, в том числе дискреционным, администрируют следующие его элементы:

  • учётные записи пользователей (account);
  • группы (логические объединения учётных записей пользователей с равными дискреционными правами доступа);
  • права доступа к файлам, каталогам, другим объектам доступа (сущностям и субъект-сессиям);
  • режимы доступа, обеспечивающие возможность учета ряда особенностей управления доступом.

Утилиты администрирования учётных записей пользователей и групп реализованы в пакете Shadow Suite.


Кроме них для этого используется ряд системных файлов, которые конфигурируются администратором системы. Такие файлы в рамках МРОСЛ ДП -модели рассматриваются как сущности, параметрически ассоциированные с учётными записями пользователей.

Основой для задания учётных записей пользователей и групп являются их идентификаторы:

  • uid (User ID) — число, уникально идентифицирующее учётную запись пользователя в ASTRA LINUX SE;
  • gid (Group ID) — число, уникально идентифицирующее группу пользователей ASTRA LINUX SE.

Эти идентификаторы хранятся в следующих конфигурационных файлах, которые используется специальным процессом login, реализующим вход пользователя в ASTRA LINUX SE — его идентификацию и аутентификацию:

  • /etc/passwd — файл с данными об учётных записях пользователей;
  • /etc/group — файл с данными об учётных записях групп пользователей.

учётная запись каждого пользователя представляет одну строку в файле/etc/passwd. Таким образом, регистрация новой учётной записи пользователя в системе, фактически, является добавлением соответствующей строки в этот файл.


Добавим пользователя admin.

Откроем файл /etc/passwd в редакторе mc


Разделителем полей данных в строке, соответствующей учётной записи пользователя, является символ «:». В результате у администратора с помощью команды grep есть возможность фильтрации требуемых данных об учётной записи пользователя, которая состоит из следующих элементов:

• username — уникальное символьное имя, присваиваемое каждой учётной записи пользователя (при выборе имени могут использоваться буквы и цифры, а также знак подчёркивания и точка);

• uid — уникальный идентификатор учётной записи пользователя (представлен числом);

• gid — уникальный идентификатор первичной группы, в которую входит учётная запись пользователя (представлен числом);

• password — пароль, который может храниться в зашифрованном виде непосредственно в рассматриваемой строке (если вместо пароля задан символ «х»), то он хранится в доступном для чтения и записи только администратору системном файле /etc/shadow в зашифрованном виде);


• full name — полное имя учётной записи пользователя (например, пользователь с username равным sidor может иметь полное имя «Ivan Sidorov», а также в этом же элементе через запятую могут перечисляться дополнительные сведения о пользователе: домашний и рабочий номера телефонов, адрес и т.д.);

• home directory — домашний каталог учётной записи пользователя, находящийся в каталоге /home;

• login shell — командный интерпретатор (shell), который запускается при входе пользователя в ASTRA LINUX SE, по умолчанию это интерпретатор bash (/bin/bash).

Создание, удаление и изменение учётных записей пользователей осуществляется администратором (в рамках МРОСЛ ДП-модели ему соответствует доверенная субъект-сессия, обладающая соответствующими текущими специальными административными ролями) с использованием следующих приёмов:

• непосредственное редактирование файла /etc/passwd;

• с применением утилит из пакетов passwd и adduser;

• с активизацией из меню «Пользователи и группы» утилиты с графическим интерфейсом «Управление политикой безопасности».

В ASTRA LINUX SE получение идентификатора учётной записи пользователя (uid), а также других связанных с ним наборов параметров, возможно с помощью команд whoami, id, who. Для изменения пароля учётной записи пользователя используется команда passwd, которая проверяет заданные правила формирования пароля, например, его минимальную длину, или же создан ли он на основе предыдущего пароля.

Для корректного администрирования учётной записи пользователя (в том числе с добавлением при её создании в домашний каталог необходимых конфигурационных файлов) администратор может использовать команды adduser, useradd (создание), usermod (модификация параметров) и userdel (удаление). В рамках МРОСЛ ДП-модели этим командам соответствуют де-юре правила вида create_ user, set-user_labels и delete-user.

В то же время для администрирования учётных записей пользователей целесообразно использовать утилиту с графическим интерфейсом «Управление политикой безопасности» (утилиту flу-admin-smc), доступную из элемента «Настройки» главного пользовательского меню.



Добавление учётной записи пользователя также осуществляется администратором с использованием утилиты «Управление политикой безопасности».

Для безопасности ASTRA LINUX SE важна регулярная проверка корректности параметров учётных записей пользователей, для чего администратор может использовать команду pwck (от password check), которая проверяет целостность данных и правильность формата записей в файлах /etc/passwd и /etc/shadow, при этом проверяются:

    • корректность количества полей в записях этих файлов;
    • уникальность имён учётных записей пользователей;
    • уникальность идентификаторов учётных записей пользователей;
    • корректность принадлежности каждой учётной записи пользователя её первичной группе;
    • корректность пути к домашнему каталогу каждой учётной записи пользователя;
    • корректность сведений об используемом интерпретаторе по умолчанию.

    Исправление выявленных командой pwck ошибок администратор может осуществить с помощью команды usermod.

    Данные о каждой группе учётных записей пользователей находятся в системном файле /etc/group в строке формата «groupname: password:gid:other members», которая состоит из следующих элемента

    • groupname — имя группы;

    • password — пароль, установленный для группы;

    • gid — идентификатор группы (аналогичный полю gid в учётной записи пользователя);

    • other members — другие пользователи, входящие в состав группы.

    Как и в случае системного файла /etc/passwd право на запись в файл /etc/group (который является сущностью, параметрически ассоциированной с учётными записями доверенных и недоверенных пользователей) имеет только администратор, остальные пользователи могут только просматривать его содержимое.

    Пользователь может получить данные о своей принадлежности к группам с помощью команд id и groups. Администратор может создавать, удалять или изменять параметры групп учётных записей пользователей:

    • редактируя файлы /etc/group и /etc/gshadow (назначение последнего аналогично назначению файла /etc/shadow) командой gpasswd;

    • используя команды groupadd и groupdel;

    • изменяя параметры групп учётных записей пользователей командой groupmod;


    • используя утилиту «Управление политикой безопасности».

    Для проверки корректности параметров групп учётных запиcей пользователей используется аналогичная команде pwck команда grpck, которая анализирует данные файлов /etc/group и /etc/gshadow, дополнительно используя для этого данные из файла /etc/passwd. При этом проверяются:

    • корректность количества полей в записях этих файлов;

    • уникальность имён групп;

    • уникальность идентификаторов групп;

    • корректность состава учётных записей пользователей и администраторов каждой группы.

    Исправление выявленных командой grpck ошибок администратор может осуществить с помощью команды groupmod.

    Так как в перспективе на смену группам в ASTRA LINUX SE придут роли или административные роли, то в рамках МРОСЛ ДП-модели к командам администрирования групп учётных записей пользователей соответствуют де-юре правила вида grant_admin_rights, remove_admin_rights, create-role, delete_role, create_hard_link_role, delete_hard_link_role, rename_role, get_role_attr, set_role_labels.

    3.Администрирование процессов.

    Администратору ASTRA LINUX SE требуется контролировать и управлять выполнением совокупности процессов (доверенных или недоверенных субъект-сессий в рамках МРОСЛ ДП-модели), которые были запущены пользователями в рмчках своих сеансов, а также ядром ASTRA LINUX SE, системными и прикладными сервисами.


    Основной командой для мониторинга состояния процессов в ASTRA LINUX SE является команда ps. Запущенная без опций и аргументов команда ps выводит на экран список процессов, выполняемых на активном терминале (tty) или псевдотерминале (pts), при этом для каждого процесса указываются:

    • PID — идентификатор процесса, который присваивается при его г гарте из числа свободных PID в диапазоне значений от 0 до (2 32 – 1);
    • TTY— терминал (tty) или псевдотерминал (pts), в котором выполняется процесс;
    • TIME — время выполнения процесса процессором;
    • CMD — имя программы, соответствующей выполняющемуся процессу.

    Использование параметров с командой ps позволяет просмотреть более детальную информацию о процессах.


    Опции, отбирающие процессы для отчёта:

    -A : все процессы;

    -a : связанные с конкретным терминалом, кроме главных системных процессов сеанса, часто используемая опция;

    -N : отрицание выбора;

    -d : все процессы, кроме главных системных процессов сеанса;

    -e : все процессы;

    -f : расширение информации

    T : все процессы на конкретном терминале;

    a : процессы, связанные с текущим терминалом, а также процессы других пользователей;

    r : информация только о работающих процессах;

    x : процессы, отсоединённые от терминала.

    • R : процесс выполняется в данный момент
    • S : процесс ожидает (т.е. спит менее 20 секунд)
    • I : процесс бездействует (т.е. спит больше 20 секунд)
    • D : процесс ожидает ввода-вывода (или другого недолгого события), непрерываемый
    • Z : zombie или defunct процесс, то есть завершившийся процесс, код возврата которого пока не считан родителем
    • T : процесс остановлен
    • W : процесс в свопе
    • < : процесс в приоритетном режиме.
    • N : процесс в режиме низкого приоритета
    • L : real-time процесс, имеются страницы, заблокированные в памяти.
    • s : лидер сессии

    Прототипом команды ps, позволяющим моделировать получении данных о процессах (субъект-сессиях), в рамках МРОСЛ ДП-модели является де-юре правило вида get-subject-attr.

    Команда pstree дополняет команду ps, с её помощью можно отобразить дерево процессов, функционирующих на всех терминалах, в формате «предок-потомок». Это позволяет проследить, цепочку порождения исследуемого процесса и получить возможность корректного управления им (особенно это касается его завершения) с учётом его «родственных связей». Без использования параметров команда pstree выводит дерево процессов, где каждый процесс идентифицируется именем соответствующей ему программы.


    Команды ps и pstree позволяют получить сведения о запущенных процессах, отследить их текущее состояние и взаимосвязи друг с другом. Для того чтобы получать данные о процессах, собранные за некоторый интервал времени, используется команда top. Принцип ее работы основан на периодическом анализе обновлений таблицы процессов ASTRA LINUX SE, что позволяет отследить изменение их параметров.


    Информация, выводимая командой top, содержит общие данные о процессах и ресурсах ASTRA LINUX SE:

    • число пользовательских сеансов (user);
    • усреднённая загруженность ресурсов системы (load average);
    • общее число процессов (total task) и число процессов, находящихся в разных состояниях (running, sleeping, stopped и zombie);
    • загруженность процессора (%Cpu);
    • распределение оперативной памяти между процессами (KiB Mem);
    • используемые области подкачки страниц (KiB Swap).

    Кроме того, команда top выводит в терминал все данные, выдаваемые командой ps в режиме детализированного вывода.

    При работе в защищённой графической подсистеме Fly информацию, аналогичную выводимой командой top, можно получить с использованием графической утилиты «Системный монитор» меню Системные» главного меню.


    Дополнительно графическая утилита «Системный монитор» может осуществлять управление процессами, при этом доступны следующие функции:

    • остановки/возобновления работы процессов;

    • прерывания (для допускающих прерывания процессов);

    В ASTRA LINUX SE администратор может управлять запущенными процессами, передавая им сигналы с использованием команды kill (в рамках МРОСЛ ДП-модели ей соответствует де-юре правило вида delete_session). Процесс, получив сигнал, может отреагировать на него либо по умолчанию, заданному ядром ASTRA LINUX SE, либо использовать собственную функцию обработки сигнала. В основном сигналы команды kill предназначены для реализации различных режимов прерывания, завершения, приостановления или возобновления работы процессов. Команда killall является расширением команды kill и отличается от нее тем, что посылает сигналы всем процессам, запущенным при выполнении одной программы.

    Также администратор и пользователи ASTRA LINUX SE имеют возможность влиять (например, с помощью команды nice) на использование выполняющимися процессами ресурса времени центрального процессора путём изменения их приоритета, указывающего ядру ASTRA LINUX SE, где расположить процесс в общей очереди готовых к выполнению на центральном процессоре процессов.

    Читайте также: