Политика монтирования шары

Костюков Владимир

Команда форума
Админ
Регистрация
04.03.23
Сообщения
492
Реакции
75
Код:
{% set node = salt['grains.get']('nodename') %}
{% set gpo_name = 'rbta_ldap_custom_gp_host_pam_mount' %}
{% set gpo = salt['pillar.get']('aldpro-hosts:' + node + ':' + gpo_name) %}
{% if gpo %}
install_packages:
  pkg.installed:
    - pkgs:
      - cifs-utils
      - libpam-mount
/etc/security/pam_mount.conf.xml:
  file.managed:
    - makedirs: True
    - contents: |
        <pam_mount>
            <debug enable="0" />
            <cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS) </cifsmount>
{%- for args in gpo %}
{%- set server = args.get('server') %}
{%- set resource = args.get('resource') %}
            <volume
                fstype="cifs"
                server="{{ server }}"
                path="{{ resource }}"
                mountpoint="/mnt/%(DOMAIN_USER)/{{ resource }}"
                uid="1402000000-2000000000"
                options="user=%(DOMAIN_USER),cruid=%(DOMAIN_USER),sec=krb5i,file_mode=0666,dir_mode=0777"
            />
{%- endfor %}
            <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
            <mntoptions require="nosuid,nodev" />
            <logout wait="50000" hup="1" term="1" kill="1" />
            <mkmountpoint enable="1" remove="true" />
            <pmvarrun>/usr/sbin/pmvarrun -u %(USER)</pmvarrun>
        </pam_mount>
{% endif %}

Уникальный идентификатор pam_mount
uid="1402000000-2000000000" Заменить на свои

msg5992624950-150357.jpg



Код:
{% if user is not defined %}
  {% set user = salt['pillar.get']("user") %}
{% endif %}
{% if salt['pillar.get']('aldpro-users:'+ user) is defined %}
  {% set homedir = salt['user.info'](user).home %}
  {% set gpo_name = 'rbta_ldap_custom_gp_user_shares_to_desktop' %}
  {% set gpo = salt['pillar.get']('aldpro-users:'+ user +':'+ gpo_name) %}
  {% if gpo %}
    {% set listres = [] %}
    {% set name = gpo.get('name') %}
    {% set name_ru = gpo.get('name_ru') %}
{{ homedir }}/Desktops/Desktop1/{{ name }}:
  file.directory:
    - user: {{ user }}
{{ homedir }}/Desktops/Desktop1/{{ name }}/.directory:
  file.managed:
    - user: {{ user }}
    - mode: 644
    - makedirs: True
    - contents: |
        [Desktop Entry]
        Name={{ name }}
        Name[ru]={{ name_ru }}
        Type=Directory
        Icon=network-local
    {% set dirs = salt['file.find']("/mnt/"+ user, type='d', mindepth=1, maxdepth=1) %}
    {% if dirs %}
      {% for dir in dirs %}
        {% set dirname = salt['file.basename'](dir) %}
      {% if dirname not in listres %}
        {% set listres = listres.append(dirname) %}
      {% endif %}
{{ homedir }}/Desktops/Desktop1/{{ name }}/{{ dirname }}:
  file.symlink:
    - target: {{ dir }}
      {% endfor %}
    {% endif %}
    {% set listfiles = salt['file.find'](homedir +'/Desktops/Desktop1/'+ name, mindepth=1, maxdepth=1) %}
    {% for file in listfiles %}
      {% if salt['file.basename'](file) not in listres %}
        {% if salt['file.basename'](file) != '.directory'%}
remove_{{ file }}:
  cmd.run:
    - name: rm -r "{{ file }}"
        {% endif %}
      {% endif %}
    {% endfor %}
  {% endif %}
{% endif %}

Уникальный идентификатор shares_to_desktop

msg5992624950-150363.jpg
 

Вложения

  • msg5992624950-150362.jpg
    msg5992624950-150362.jpg
    52.6 KB · Просмотры: 481
  • msg5992624950-150356.jpg
    msg5992624950-150356.jpg
    47 KB · Просмотры: 532
Последнее редактирование:
в 2.4.1 не подключает шару, хотя должен, не могу найти ошибку. Кто может проверить?
Скрипт отрабатывает правильно, а вот соединения нет.
 
Последнее редактирование:
Здравствуйте.
Подскажите, пожалуйста, куда (в какой) файл прописываем данный код?

Код:
Код:
{% set node = salt['grains.get']('nodename') %}
{% set gpo_name = 'rbta_ldap_custom_gp_host_pam_mount' %}
{% set gpo = salt['pillar.get']('aldpro-hosts:' + node + ':' + gpo_name) %}
{% if gpo %}
install_packages:
  pkg.installed:
    - pkgs:
      - cifs-utils
      - libpam-mount
/etc/security/pam_mount.conf.xml:
  file.managed:
    - makedirs: True
    - contents: |
        <pam_mount>
            <debug enable="0" />
            <cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS) </cifsmount>
{%- for args in gpo %}
{%- set server = args.get('server') %}
{%- set resource = args.get('resource') %}
            <volume
                fstype="cifs"
                server="{{ server }}"
                path="{{ resource }}"
                mountpoint="/mnt/%(DOMAIN_USER)/{{ resource }}"
                uid="1402000000-2000000000"
                options="user=%(DOMAIN_USER),cruid=%(DOMAIN_USER),sec=krb5i,file_mode=0666,dir_mode=0777"
            />
{%- endfor %}
            <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
            <mntoptions require="nosuid,nodev" />
            <logout wait="50000" hup="1" term="1" kill="1" />
            <mkmountpoint enable="1" remove="true" />
        </pam_mount>
{% endif %}

Код:
{% if user is not defined %}
{% set user = salt['pillar.get']("user") %}
{% endif %}
{% if salt['pillar.get']('aldpro-users:'+ user) is defined %}
{% set homedir = salt['user.info'](user).home %}
{% set gpo_name = 'rbta_ldap_custom_gp_user_shares_to_desktop' %}
{% set gpo = salt['pillar.get']('aldpro-users:'+ user +':'+ gpo_name) %}
{% if gpo %}
{% set listres = [] %}
{% set name = gpo.get('name') %}
{% set name_ru = gpo.get('name_ru') %}
{{ homedir }}/Desktops/Desktop1/{{ name }}:
file.directory:
- user: {{ user }}
{{ homedir }}/Desktops/Desktop1/{{ name }}/.directory:
file.managed:
- user: {{ user }}
- mode: 644
- makedirs: True
- contents: |
[Desktop Entry]
Name={{ name }}
Name[ru]={{ name_ru }}
Type=Directory
Icon=network-local
{% set dirs = salt['file.find']("/mnt/"+ user, type='d', mindepth=1, maxdepth=1) %}
{% if dirs %}
{% for dir in dirs %}
{% set dirname = salt['file.basename'](dir) %}
{% if dirname not in listres %}
{% set listres = listres.append(dirname) %}
{% endif %}
{{ homedir }}/Desktops/Desktop1/{{ name }}/{{ dirname }}:
file.symlink:
- target: {{ dir }}
{% endfor %}
{% endif %}
{% set listfiles = salt['file.find'](homedir +'/Desktops/Desktop1/'+ name, mindepth=1, maxdepth=1) %}
{% for file in listfiles %}
{% if salt['file.basename'](file) not in listres %}
{% if salt['file.basename'](file) != '.directory'%}
remove_{{ file }}:
cmd.run:
- name: rm -r "{{ file }}"
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}
 
Последнее редактирование:
Подскажите пожалуйста как проконтролировать и ускорить процесс применения политики.
 
Что-то видимо делаю не так. У меня при сохранение скрипта в ALDPro выдает ошибку. Что с этим делать ни как не пойму. Подскажите, пожалуйста, если с таким сталкивались, как можно устранить ошибку.
ALDPro - 2.5 установлена.
 

Вложения

  • error_02.png
    error_02.png
    123.2 KB · Просмотры: 73
  • error_01.png
    error_01.png
    12.7 KB · Просмотры: 72
Что-то видимо делаю не так. У меня при сохранение скрипта в ALDPro выдает ошибку. Что с этим делать ни как не пойму. Подскажите, пожалуйста, если с таким сталкивались, как можно устранить ошибку.
ALDPro - 2.5 установлена.
Все норм повторно нажмите сохранить
 
Подскажите, всели верно понимаю. Если политика верно отрабатывает то на пользовательском компе файл /etc/security/pam_mount.conf.xml должен принять вид:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">

<pam_mount>
<debug enable="0" />
<cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS) </cifsmount>
<volume
fstype="cifs"
server="{{ server }}"
path="{{ resource }}"
mountpoint="/mnt/%(DOMAIN_USER)/{{ resource }}"
uid="1402000000-2000000000"
options="user=%(DOMAIN_USER),cruid=%(DOMAIN_USER),sec=krb5i,file_mode=0666,dir_mode=0777"
/>
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<mntoptions require="nosuid,nodev" />
<logout wait="50000" hup="1" term="1" kill="1" />
<mkmountpoint enable="1" remove="true" />
</pam_mount>

{% set gpo_name = 'rbta_ldap_custom_gp_host_pam_mount' %} - эта строка показывает что применяется параметры компьютера. То есть файл /etc/security/pam_mount.conf.xml однозначно должен поменять свое содержание.
Верно понимаю?
 
Последнее редактирование:
server="{{ server }}"
path="{{ resource }}"
Подскажите, всели верно понимаю. Если политика верно отрабатывает то на пользовательском компе файл /etc/security/pam_mount.conf.xml должен принять вид:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">

<pam_mount>
<debug enable="0" />
<cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS) </cifsmount>
<volume
fstype="cifs"
server="{{ server }}"
path="{{ resource }}"
mountpoint="/mnt/%(DOMAIN_USER)/{{ resource }}"
uid="1402000000-2000000000"
options="user=%(DOMAIN_USER),cruid=%(DOMAIN_USER),sec=krb5i,file_mode=0666,dir_mode=0777"
/>
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<mntoptions require="nosuid,nodev" />
<logout wait="50000" hup="1" term="1" kill="1" />
<mkmountpoint enable="1" remove="true" />
</pam_mount>

Верно понимаю?
Да
 
.xml - файл создаётся, но каталог /mnt - пустой.
Ярлык пустой.
Можно пример, где что прописывать:
resource = ?
server = полное доменное имя или краткое?
 
.xml - файл создаётся, но каталог /mnt - пустой.
Ярлык пустой.
Можно пример, где что прописывать:
resource = ?
server = полное доменное имя или краткое?
Полное имя fqdn
 
Назад
Сверху Снизу