Fileserver start: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{Note|Прошу обратить внимание: данный материал является не технической документацией, а частным опытом решения проблемы.}}
{{Note|Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}}
=Файловый сервер (для начинающих)=
=Файловый сервер (для начинающих)=
==Если OpenLDAP/WORKGROUP==
==Если OpenLDAP/WORKGROUP==
Строка 8: Строка 8:


2.Создаем папку
2.Создаем папку
  #mkdir /samba/;chmod 777 /samba
  # mkdir /samba/;chmod 777 /samba
  chown  :"PETR\domain users" /samba
  chown  :"PETR\domain users" /samba
{{Note|PETR - имя домена, domain users - группа}}
{{Note|PETR - имя домена, domain users - группа}}


3. Отрываем от суперпользователя файл smb.conf:
3. Отрываем от суперпользователя файл smb.conf:
  #pluma /etc/samba/smb.conf
  # pluma /etc/samba/smb.conf


В конец файла добавляем:
В конец файла добавляем:


  [Public] //имя ресурса
  [Public] #имя ресурса
  comment = //ваш комментарий
  comment = #ваш комментарий
  path = /home/samba //путь к папке
  path = /home/samba #путь к папке
  public=yes
  public=yes
  writable = yes
  writable = yes
Строка 28: Строка 28:
  valid users = "@PETR\Kadry"
  valid users = "@PETR\Kadry"
или
или
  valid users = "@PETR\Domain Users"
  valid users = "@PETR\domain users"
{{Note|PETR - имя домена; Domain Users, Kadry - имя группы}}
{{Note|PETR - имя домена; domain users, Kadry - имя группы}}
{{Note|Чтобы вывести список групп домена, воспользуйтесь командой '''wbinfo -g'''}}
4. Перезапускаем сервер Samba:
4. Перезапускаем сервер Samba:
  # service smb restart
  # systemctl restart smb
=== Подключение ===
=== Подключение ===
====Pam_mount====
{{Note|Проверьте, чтобы не было рассинхрона времени между контроллерами домена (если у Вас их несколько) и рабочей станцией}}
{{Note|Способ описанный здесь использует аутентификацию через Kerberos, которая поддерживает аутентификацию без пароля '''только у файлового ресурса с адресом по доменному имени''', по IP будет запрашивать пароль}}
{{Note|С данным способом у Вас будет постоянная точка монтирования}}


====Настройка====
1. Устанавливаем необходимые пакеты
$ beesu su -
# apt-get install pam_mount cifs-utils
2. Приводим файл /etc/pam.d/system-auth-sss к следующему виду:
$ beesu su -
# pluma /etc/pam.d/system-auth-sss
 
<source lang="xml">
#%PAM-1.0
 
auth            [success=5 perm_denied=ignore default=die]      pam_localuser.so
auth            [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
auth            [default=1]    pam_permit.so
auth            optional        pam_mount.so
auth            substack        system-auth-sss-only
auth            [default=1]    pam_permit.so
auth            substack        system-auth-local-only
auth            substack        system-auth-common
 
account        [success=4 perm_denied=ignore default=die]      pam_localuser.so
account        [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
account        [default=1]    pam_permit.so
account        substack        system-auth-sss-only
account        [default=1]    pam_permit.so
account        substack        system-auth-local-only
account        substack        system-auth-common
 
password        [success=4 perm_denied=ignore default=die]      pam_localuser.so
password        [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
password        [default=1]    pam_permit.so
password        substack        system-auth-sss-only
password        [default=1]    pam_permit.so
password        substack        system-auth-local-only
password        substack        system-auth-common
 
session        [success=5 perm_denied=ignore default=die]      pam_localuser.so
session        [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
session        [default=1]    pam_permit.so
session        optional        pam_mount.so
session        substack        system-auth-sss-only
session        [default=1]    pam_permit.so
session        substack        system-auth-local-only
session        substack        system-auth-common
</source>
 
3. Приводим /etc/security/pam_mount.conf.xml к следующему виду:
$ beesu su -
# pluma /etc/security/pam_mount.conf.xml
 
<source lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<pam_mount>
  <debug enable="0"/>
  <cifsmount>systemd-mount -A -G -q -t cifs %(COMBOPATH) %(MNTPT) -o uid=%(USERUID),gid=%(USERGID),username=%(USER),%(OPTIONS)</cifsmount>
  <umount>systemd-mount -u %(MNTPT)</umount>
 
  <volume fstype="cifs"
    server="dc.test.alt"
    path="share"
    mountpoint="~/share"
    options="vers=2.0,sec=krb5,cruid=%(USERUID),rw"/>
 
  <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other,sec"/>
  <mntoptions require="nosuid,nodev"/>
  <logout wait="0" hup="no" term="no" kill="no"/>
  <mkmountpoint enable="1" remove="true"/>
</pam_mount>
</source>
 
Нас интересуют тут следующие строки в "скобке" "volume":
*server="'''dc.test.alt'''" - доменный адрес файлового сервера, по IP Kerberos не поддерживает!
*path="'''share'''" - общая папка на сервере
*mountpoint="'''~/share'''" - точка монтирования, '''~''' - указывает, что она будет в домашней папке пользователя.
Правим их под себя.
 
При следующем входе при попытке войти в систему при вводе пароля будет строчка pam_mount, а в домашнем каталоге в папке share будет смонтирована общая папка.
 
====GIO====
=====Настройка=====
1. Устанавливаем необходимые пакеты:
1. Устанавливаем необходимые пакеты:
  # apt-get install fuse-gvfs gvfs-backend-smb libgio
  # apt-get install fuse-gvfs gvfs-backend-smb libgio
Строка 44: Строка 128:
  # control fusermount public[[ActiveDirectory/Login#Через_gio|[i]]]
  # control fusermount public[[ActiveDirectory/Login#Через_gio|[i]]]


====Использование====
=====Использование=====
1. Пользователь домена открывает в ФМ Mate сервер
1. Пользователь домена открывает в ФМ Mate сервер
  smb://10.0.2.7/
  smb://10.0.2.7/

Текущая версия от 11:20, 27 апреля 2024

Примечание: Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.

Файловый сервер (для начинающих)

Если OpenLDAP/WORKGROUP

См. Общие папки

Если домен Samba

Примечание: О пользователях и группах Samba - здесь

1.Вводим сервер в домен

2.Создаем папку

# mkdir /samba/;chmod 777 /samba
chown  :"PETR\domain users" /samba
Примечание: PETR - имя домена, domain users - группа


3. Отрываем от суперпользователя файл smb.conf:

# pluma /etc/samba/smb.conf

В конец файла добавляем:

[Public] #имя ресурса
comment = #ваш комментарий
path = /home/samba #путь к папке
public=yes
writable = yes
readonly = no
browseable = yes

Если папка должна быть доступна конкретной группе, добавляем строку типа:

valid users = "@PETR\Kadry"

или

valid users = "@PETR\domain users"
Примечание: PETR - имя домена; domain users, Kadry - имя группы
Примечание: Чтобы вывести список групп домена, воспользуйтесь командой wbinfo -g

4. Перезапускаем сервер Samba:

# systemctl restart smb

Подключение

Pam_mount

Примечание: Проверьте, чтобы не было рассинхрона времени между контроллерами домена (если у Вас их несколько) и рабочей станцией
Примечание: Способ описанный здесь использует аутентификацию через Kerberos, которая поддерживает аутентификацию без пароля только у файлового ресурса с адресом по доменному имени, по IP будет запрашивать пароль
Примечание: С данным способом у Вас будет постоянная точка монтирования


1. Устанавливаем необходимые пакеты

$ beesu su -
# apt-get install pam_mount cifs-utils

2. Приводим файл /etc/pam.d/system-auth-sss к следующему виду:

$ beesu su -
# pluma /etc/pam.d/system-auth-sss
#%PAM-1.0

auth            [success=5 perm_denied=ignore default=die]      pam_localuser.so
auth            [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
auth            [default=1]     pam_permit.so
auth            optional        pam_mount.so
auth            substack        system-auth-sss-only
auth            [default=1]     pam_permit.so
auth            substack        system-auth-local-only
auth            substack        system-auth-common

account         [success=4 perm_denied=ignore default=die]      pam_localuser.so
account         [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
account         [default=1]     pam_permit.so
account         substack        system-auth-sss-only
account         [default=1]     pam_permit.so
account         substack        system-auth-local-only
account         substack        system-auth-common

password        [success=4 perm_denied=ignore default=die]      pam_localuser.so
password        [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
password        [default=1]     pam_permit.so
password        substack        system-auth-sss-only
password        [default=1]     pam_permit.so
password        substack        system-auth-local-only
password        substack        system-auth-common

session         [success=5 perm_denied=ignore default=die]      pam_localuser.so
session         [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
session         [default=1]     pam_permit.so
session         optional        pam_mount.so
session         substack        system-auth-sss-only
session         [default=1]     pam_permit.so
session         substack        system-auth-local-only
session         substack        system-auth-common

3. Приводим /etc/security/pam_mount.conf.xml к следующему виду:

$ beesu su -
# pluma /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>systemd-mount -A -G -q -t cifs %(COMBOPATH) %(MNTPT) -o uid=%(USERUID),gid=%(USERGID),username=%(USER),%(OPTIONS)</cifsmount>
  <umount>systemd-mount -u %(MNTPT)</umount>

  <volume fstype="cifs" 
    server="dc.test.alt" 
    path="share" 
    mountpoint="~/share" 
    options="vers=2.0,sec=krb5,cruid=%(USERUID),rw"/>

  <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other,sec"/>
  <mntoptions require="nosuid,nodev"/>
  <logout wait="0" hup="no" term="no" kill="no"/>
  <mkmountpoint enable="1" remove="true"/>
</pam_mount>

Нас интересуют тут следующие строки в "скобке" "volume":

  • server="dc.test.alt" - доменный адрес файлового сервера, по IP Kerberos не поддерживает!
  • path="share" - общая папка на сервере
  • mountpoint="~/share" - точка монтирования, ~ - указывает, что она будет в домашней папке пользователя.

Правим их под себя.

При следующем входе при попытке войти в систему при вводе пароля будет строчка pam_mount, а в домашнем каталоге в папке share будет смонтирована общая папка.

GIO

Настройка

1. Устанавливаем необходимые пакеты:

# apt-get install fuse-gvfs gvfs-backend-smb libgio

2. Включаем пользователя в группу fuse:

# gpasswd -a <пользователь> fuse

3.Делаем доступ к fuse для всех

# control fusermount public[i]
Использование

1. Пользователь домена открывает в ФМ Mate сервер

smb://10.0.2.7/

2.Открывает папку
3.Вводит свой доменный пароль:

  • ДОМЕН
  • имя пользователя
  • пароль

4.ставит галочку запомнить пароль
5.в связке паролей осталяет пароль пустой, жмет ОК и соглашается
6.в автозапуск пользователю (Система-Параметры-Личные-Запускаемые приложения) добавляем программу:

  • имя: произвольное
  • команда:
gio mount smb://10.0.2.7/Public

7.Т.к. пароль сохранился он не будет спрашиваться, папка будет подключаться автоматически и отбражаться справа в закладках ФМ, а точка монтирования будет доступна в /var/run/<uid_пользователя>/gvfs.