Puncte:0

Permiteți partajarea samba să acceseze depozitul de fișiere la distanță montat

drapel ru

Am două servere în aceeași rețea. Unul rulează Windows Server 2016 și altul rulează CentOS 8. Serverul Windows este magazinul meu principal de fișiere, acolo sunt toate datele mele. Serverul CentOS are partajarea Windows montată și își poate accesa fișierele.

Pe CentOS, am configurat o partajare samba. De ce? Pentru că am o aplicație web care rulează pe același server și vreau ca aplicația web să controleze cine poate accesa ce fișier. Deci, în loc să îi obligă pe utilizatorii noștri (interni) să monteze direct partajarea Windows, aceștia vor monta partajarea CentOS, care va fi accesul „gatekeeping” la fișiere.

În folderul samba, există foldere pentru fiecare utilizator și o configurație care să permită utilizatorilor accesul doar la folderele lor. Aplicația web este configurată să adauge legături simbolice în aceste foldere care leagă la fișierele „adevărate”.

Aici este problema. Dacă adaug un fișier „normal” în folderul unui utilizator, acesta îl poate accesa foarte bine. Dar dacă adaug un link simbolic (la un fișier din partajarea Windows montată), nu apare pentru ei. Sunt destul de sigur că aceasta este o problemă cu SELinux.

Iată cum sunt configurate lucrurile.

  • Partajarea Windows este montată

    sudo mount -t cifs //WindowsShare/data /media/WinShare \ 
      -o ip=192.168.1.5,username=user,gid=sambashare
    
    ls -alhZ /media/WinShare
    drwxr-xr-x. 2 root sambashare system_u:object_r:cifs_t:s0 0 ianuarie 10 16:57 fișiere
    
  • O cotă samba este creată și utilizată /srv/smb (toți utilizatorii de samba sunt în sambashare grup)

    ls -alhZ /srv
    drwxrwx---. 2 root sambashare unconfined_u:object_r:samba_share_t:s0 6 ianuarie 13 11:20 smb
    
  • The /etc/samba/smb.conf are urmatoarele:

    [global]
        permit link-uri largi nesigure = da
        extensii unix = nr
    
    [adminShare]
        cale = /srv/smb
        link-uri largi = da
        urmați legăturile simbolice = da
    
  • Ca test, am adăugat un link simbolic și un fișier

    ln -s /media/WinShare/files/test.pdf /srv/smb/test.pdf
    atingeți /srv/smb/file.bin
    

Apoi am încercat să montez \CentOS\adminShare într-un VM Windows și nu văd test.pdf fișier dar văd fişier.bin.

Cum pot acorda accesului partajării CentOS Samba la datele montate pe Windows Server? Când am configurat serverul CentOS, am rulat:

sudo semanage fcontext -a -t samba_share_t "/srv/smb(/.*)?"

Asta mi-a permis să văd fişier.bin, dar tot nu văd fişier.pdf. Am găsit asta, dar nu știu dacă vreau să schimb Tot:

sudo setsebool -P samba_export_all_rw=1

Cum pot permite samba să acceseze /media/WinShare pliant? Ar funcționa asta?

sudo semanage fcontext -a -t samba_share_t "/media/WinShare(/.*)?"
djdomi avatar
drapel za
Degine un utilizator pentru partajare, în mare parte o problemă de acces din cauza utilizatorului greșit și chmod
Puncte:0
drapel ru

L-am reparat! A trebuit să montez partajarea Windows și să forțez un context de samba_share_t.

La montare se adauga context=unconfined_u:object_r:samba_share_t:s0.

sudo mount -t cifs //WindowsShare/data /media/WinShare \
    -o ip=192.168.1.5,username=user,gid=sambashare,context=unconfined_u:object_r:samba_share_t:s0

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.