Fileserver start

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

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

Если 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. Устанавливаем необходимые пакеты

$ 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.