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

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


2.Создаем папку
2.Создаем папку
  #mkdir /samba/;chmod 777 /samba
  # mkdir /samba/;chmod 660 /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. Устанавливаем необходимые пакеты
$ su -
# apt-get install pam_mount cifs-utils
2. Приводим файл /etc/pam.d/system-auth-sss к следующему виду:
$ su -
# mcedit /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 к следующему виду:
$ su -
# mcedit /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


2. Включаем пользователя в группу fuse:
2. Включаем пользователя в группу fuse:
  # gpasswd -a <пользователь> fuse
  # gpasswd -a <пользователь> fuse


3.Делаем доступ к fuse для всех
3. Делаем доступ к fuse для всех
  # 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/
2.Открывает папку<br>
 
3.Вводит свой доменный пароль:
2. Открывает папку
 
3. Вводит свой доменный пароль:
*ДОМЕН
*ДОМЕН
*имя пользователя
*имя пользователя
*пароль
*пароль
4.ставит галочку запомнить пароль<br>
 
5.в связке паролей осталяет пароль пустой, жмет ОК и соглашается<br>
4. Cтавит галочку запомнить пароль
6.в автозапуск пользователю (Система-Параметры-Личные-Запускаемые приложения) добавляем программу:
 
5. D связке паролей оставляет пароль пустой, жмет ОК и соглашается
 
6. D автозапуск пользователю (Система-Параметры-Личные-Запускаемые приложения) добавляем программу:
*имя: произвольное
*имя: произвольное
*команда:
*команда:
  gio mount smb://10.0.2.7/Public
  gio mount smb://10.0.2.7/Public
7.Т.к. пароль сохранился он не будет спрашиваться, папка будет подключаться автоматически и отбражаться справа в закладках ФМ, а точка монтирования будет доступна в '''/var/run/<uid_пользователя>/gvfs'''.
 
7. Т.к. пароль сохранился, он не будет спрашиваться, папка будет подключаться автоматически и отображаться справа в закладках ФМ, а точка монтирования будет доступна в {{path|/var/run/<uid_пользователя>/gvfs}}.
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}
[[Категория:Samba]]
[[Категория:Samba]]

Текущая версия от 20:41, 3 декабря 2024

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

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

Если OpenLDAP/WORKGROUP

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

Если домен Samba

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

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

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

# mkdir /samba/;chmod 660 /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. Устанавливаем необходимые пакеты

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

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

$ su -
# mcedit /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 к следующему виду:

$ su -
# mcedit /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. Cтавит галочку запомнить пароль

5. D связке паролей оставляет пароль пустой, жмет ОК и соглашается

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

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

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