Fedora, инсталиране на Samba и споделяне на /home/my_user/Public

Всичко за дистрибуциите и ядрото.
Аватар
Nikolay
Site Admin
Мнения: 23
Регистриран на: Пон Май 03, 2021 3:34 pm

Fedora, инсталиране на Samba и споделяне на /home/my_user/Public

Мнение от Nikolay »

SELinux се основава на най-малкото ниво на достъп, необходимо за изпълнение на услугата. Услугите могат да се изпълняват по различни начини; следователно, трябва да посочите как управлявате услугите си.
Добавете /home/my_user/Public като „samba_share_t“ в системния регистър за персонализиране на контекста на защитата на локалната файлова система.
Добавяме нов контекст на защитата на файловата система за защита:

Код: Избери целия код

sudo semanage fcontext -a -t samba_share_t "/home/my_user/Public(/.*)?"
Ако след време решим да изтрием създаденото правило за защита използваме командата:

Код: Избери целия код

sudo semanage fcontext -d "/home/my_user/Public(/.*)?"
Проверете новия контекст на защитата на файловата система за сигурност:

Код: Избери целия код

sudo semanage fcontext --locallist --list
Очакван изход: (трябва да включва)
SELinux fcontext type Context /home/my_user/Public(/.*)? all files system_u:object_r:samba_share_t:s0
Сега, когато папката от локалната система е добавена към регистъра на контекста на защитата на файловата система; Командата "restorecon" може да се използва за ‘възстановяване’ на контекста в папката:
Възстановете контекста на защитата в папката /home/user/Public:

Код: Избери целия код

sudo restorecon -R -v /home/my_user/Public
Очакван изход: (трябва да включва)

Код: Избери целия код

Relabeled /home/my_user/Public from unconfined_u:object_r:user_home_t:s0 to unconfined_u:object_r:samba_share_t:s0
Проверете дали контекстът на защитата е приложен правилно:

Код: Избери целия код

ls --directory --context /home/my_user/Public
Очакван изход:

Код: Избери целия код

unconfined_u:object_r:samba_share_t:s0 /home/my_user/Public/
Рестартирайте системата и стартирайте терминала отново.
Инсталирайте Samba:

Код: Избери целия код

sudo dnf install samba
Добавяме Samba да се срартира със старта на системата и го включваме:

Код: Избери целия код

sudo systemctl enable smb --now
Правим бекъп на конфигурационния файл на samba:

Код: Избери целия код

sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.bak
Добавяме парола за самба за съответния потребител на системата:

Код: Избери целия код

sudo smbpasswd -a my_user
Редактираме файла:

Код: Избери целия код

sudo nano /etc/samba/smb.conf
След като от файла са премахнати правилата по подразбиране за локални директории и принтери, които в случая няма да ползваме, той трябва да изглежда така:

Код: Избери целия код

[global]
        workgroup = WORKGROUP
        security = user

        passdb backend = tdbsam

[Public]
        comment = Public Share
        path = /home/my_user/Public
        # valid users = %S, %D%w%S
        valid users = my_user
        browseable = Yes
        read only = No
        inherit acls = Yes
Рестартираме samba:

Код: Избери целия код

sudo systemctl restart smb
Последно създаваме правила в защитната стена разрешаващи samba:

Код: Избери целия код

sudo firewall-cmd --add-service=samba --permanent
Презареждаме защитната стена:

Код: Избери целия код

sudo firewall-cmd --reload
Сега вече трябва да имаме работещ фаилов сървър, като директорията "Public" е разрешена за четене и писане за съответния системен потребител, който трябва разбира се да се индентифицира със съответната новосъздадена парола за samba.
Публикувай отговор