Puncte:1

Problemă de permisiune cu dispozitivul RAID1

drapel tn

Întâmpin unele probleme cu un server de acasă (Ubuntu 20.04.3) pe care l-am instalat.

Configurația mea: 1 software RAID1 (mdadm) care este montat prin fstab pe /media/altocasa/NetDisk1

De asemenea, am activat o partajare samba pentru a partaja un folder de pe acel disc. Celelalte foldere de pe disc sunt dedicate diverselor servicii: -owncloud -transmitere -calibru -kodi

Problema mea este despre...permisiuni! Asta pentru că, chiar dacă am reușit să montez folderul cu un grup de „date” care conține fiecare utilizator care are nevoie de R/W pe acel disc și chiar dacă permisiunile sunt setate la drwxrwxrwx, fiecare serviciu pe care încerc să folosesc raportează că nu nu am suficiente permisiuni pentru a scrie în orice folder din interiorul discului.

Ale mele mdadm.conf

# mdadm.conf
#
# Vă rugăm să consultați mdadm.conf(5) pentru informații despre acest fișier.
#

# în mod implicit (încorporat), scanează toate partițiile (/proc/partitions) și toate
# containere pentru superblocuri MD. alternativ, specificați dispozitivele de scanat, folosind
# metacare dacă doriți.
#DEVICE compartimentează containerele

# creați automat dispozitive cu permisiuni standard Debian
CREATE proprietar=root group=disk mode=0777 auto=yes

# etichetați automat noile matrice ca aparținând sistemului local
HOMEHOST <sistem>

# instruiți demonul de monitorizare unde să trimită alerte prin e-mail
MAILADDR [email protected]

# definiții ale matricelor MD existente

# Acest fișier a fost generat automat la miercuri, 02 noiembrie 2016 00:28:16 +0100
# de mkconf $Id$

ARRAY /dev/md0 metadata=1.2 spares=1 name=altocasa.alto:0 UUID=abf104eb:c48a9898:e19f5e29:b810dc85

Ale mele fstab

# /etc/fstab: informații statice despre sistemul de fișiere.
#
# Utilizați „blkid” pentru a imprima identificatorul unic universal pentru a
# dispozitiv; aceasta poate fi folosită cu UUID= ca o modalitate mai robustă de a denumi dispozitive
# care funcționează chiar dacă discuri sunt adăugate și eliminate. Vezi fstab(5).
#
# <sistem de fișiere> <punct de montare> <tip> <opțiuni> <dump> <trecere>
# / a fost pe /dev/mmcblk0p2 în timpul instalării
UUID=0051b1ea-f028-4e24-852e-60f0e14deba5 / ext4 errors=remount-ro 0 1
# /boot/efi a fost pe /dev/mmcblk0p1 în timpul instalării
UUID=3AC6-9820 /boot/efi vfat umask=0077 0 1
/swapfile niciunul swap sw 0 0
#punct de montare raid /dev/md0
#UUID=abf104eb:c48a9898:e19f5e29:b810dc85 /media/altocasa/NetDisk1 auto nosuid,nodev,nofail,silent,permissions,x-gvfs-show umask=000,utf8 0 0
#UUID=1EFCAB415200A4AB /media/altocasa/NetDisk1 auto nosuid,nodev,users,nofail,x-gvfs-show,uid=1000,gid=1001 0 0
#UUID=abf104eb:c48a9898:e19f5e29:b810dc85 /media/altocasa/NetDisk1 auto nosuid,rw,nodev,nofail,x-gvfs-show,users,uid=1000,gid=1001,permissions,0utf8
/dev/md0 /media/altocasa/NetDisk1 auto nosuid,rw,nodev,nofail,x-gvfs-show,users,uid=1000,gid=1001,permissions,utf8 0 0

Ale mele Fișierul de configurare Samba

#
# Exemplu de fișier de configurare pentru suita Samba pentru Debian GNU/Linux.
#
#
# Acesta este fișierul principal de configurare Samba. Ar trebui să citiți
# smb.conf(5) pagina de manual pentru a înțelege opțiunile enumerate
# Aici. Samba are un număr mare de opțiuni configurabile, dintre care majoritatea 
# nu sunt afișate în acest exemplu
#
# Unele opțiuni care merită adesea reglate au fost incluse ca
# exemple comentate în acest fișier.
# - Când astfel de opțiuni sunt comentate cu „;”, setarea propusă
# diferă de comportamentul implicit Samba
# - Când este comentat cu „#”, setarea propusă este implicită
# comportamentul lui Samba, dar opțiunea este considerată importantă
# suficient pentru a fi menționat aici
#
# NOTĂ: Ori de câte ori modificați acest fișier, ar trebui să rulați comanda
# "testparm" pentru a verifica dacă nu ați făcut nicio sintactică de bază 
# erori. 

#======================= Setări globale =======================

[global]
    map to guest = utilizator prost
    grup de lucru = grup de lucru
    logging = fișier
    netbios aliases = altoserver,altocasa
    opțiuni socket = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=131072 SO_RCVBUF=131072
    nume netbios = AltoServer
    fișier jurnal = /var/log/samba/log.%m
    program passwd = /usr/bin/passwd %u
    passdb backend = tdbsam
    implicit = NetDisk1
    respectă restricțiile pam = da
    acțiune de panică = /usr/share/samba/panic-action %d
    nivelul os = 20
    servicii automate = NetDisk1
    dimensiune maximă a buștenii = 1000
    rol server = server independent
    password chat = *Introduceți\snew\s*\parola:* %n\n *Reintroduceți\snew\s*\parola:* %n\n *parola\actualizată\succes* .
    Usershare permite oaspeților = da
    Sincronizarea parolei unix = da
    schimbarea parolei pam = da
    șir de server = %h server (Samba, Ubuntu)
    

## Navigare/Identificare ###

# Schimbați-l în numele grupului de lucru/domeniului NT din care va face parte serverul dvs. Samba

# șirul de server este echivalentul câmpului Descriere NT

#### Rețele ####

# Setul specific de interfețe/rețele la care să se lege
# Acesta poate fi fie numele interfeței, fie o adresă IP/mască de rețea;
# nume de interfață sunt în mod normal preferate
; interfețe = 127.0.0.0/8 eth0

# Leagă numai la interfețele și/sau rețelele numite; trebuie să utilizați
# opțiunea „interfețe” de mai sus pentru a utiliza aceasta.
# Este recomandat să activați această funcție dacă aparatul dvs. Samba este
# nu este protejat de un firewall sau este un firewall în sine. Cu toate acestea, aceasta
# opțiunea nu poate gestiona corect interfețele dinamice sau nedifuzate.
; bind interfețe numai = da



#### Depanare/Contabilitate ####

# Acest lucru îi spune lui Samba să folosească un fișier jurnal separat pentru fiecare mașină
# care conectează

# Limitați dimensiunea fișierelor jurnal individuale (în KiB).

# Dorim ca Samba să se conecteze numai la /var/log/samba/log.{smbd,nmbd}.
# Adăugați syslog@1 dacă doriți ca mesajele importante să fie trimise și către syslog.

# Faceți ceva sensibil când Samba se blochează: trimiteți administratorului o urmărire înapoi


####### Autentificare #######

# Rolul de server. Definește în ce mod va funcționa Samba. Posibil
# valorile sunt „server independent”, „server membru”, „primar clasic
# controler de domeniu”, „controler de domeniu clasic de rezervă”, „activ
# director de control de domeniu". 
#
# Majoritatea oamenilor vor dori „server independent” sau „server membru”.
# Rularea ca „controler de domeniu Active Directory” va necesita mai întâi
# rulează „samba-tool domain provision” pentru a șterge bazele de date și a crea un
# domeniu nou.


# Acest parametru boolean controlează dacă Samba încearcă să sincronizeze Unix
# parolă cu parola SMB atunci când parola SMB criptată în
# passdb este schimbat.

# Pentru ca sincronizarea parolei Unix să funcționeze pe un sistem Debian GNU/Linux, următoarele
# parametri trebuie setati (multumesc lui Ian Kahan <<[email protected]> pentru
# trimiterea scriptului de chat corect pentru programul passwd în Debian Sarge).

# Acest boolean controlează dacă PAM va fi folosit pentru modificările parolei
# când este solicitat de un client SMB în loc de programul listat în
# 'program de acces'. Valoarea implicită este „nu”.

# Această opțiune controlează modul în care sunt mapate încercările de autentificare nereușite
# la conexiuni anonime

########## Domenii ###########

#
# Următoarele setări intră în vigoare numai dacă „rol server = primar”.
# controler de domeniu clasic', 'rol server = controler de domeniu de rezervă'
# sau „conectări la domeniu” este setat 
#

# Specifică locația utilizatorului
# directorul de profil din punct de vedere al clientului) Următoarele
# a necesitat o partajare [profile] pentru a fi configurată pe serverul samba (vezi
# de mai jos)
; cale de conectare = \%N\profiles\%U
# O altă alegere comună este stocarea profilului în directorul principal al utilizatorului
# (acesta este valoarea implicită pentru Samba)
# cale de conectare = \%N\%U\profil

# Următoarea setare are efect numai dacă este setată „conectări la domeniu”.
# Specifică locația directorului principal al unui utilizator (de la client
# punct de vedere)
; unitate de conectare = H:
# logon home = \%N\%U

# Următoarea setare are efect numai dacă este setată „conectări la domeniu”.
# Specifică scriptul de rulat în timpul conectării. Scriptul trebuie să fie stocat
# în partajarea [netlogon].
# NOTĂ: Trebuie să fie stocat în convenția de format de fișier „DOS”.
; script de conectare = logon.cmd

# Acest lucru permite utilizatorilor Unix să fie creați pe controlerul de domeniu prin SAMR
# conductă RPC. Exemplul de comandă creează un cont de utilizator cu un Unix dezactivat
# parola; te rog sa te adaptezi nevoilor tale
; adăugați script utilizator = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

# Acest lucru permite crearea conturilor de mașină pe controlerul de domeniu prin intermediul 
# conductă SAMR RPC.  
# Următoarele presupune că există un grup de „mașini” pe sistem
; adăugați script de mașină = /usr/sbin/useradd -g mașini -c „%u cont de mașină” -d /var/lib/samba -s /bin/false %u

# Acest lucru permite crearea de grupuri Unix pe controlerul de domeniu prin SAMR
# conductă RPC.  
; add group script = /usr/sbin/addgroup --force-badname %g

############ Diverse ############

# Utilizarea următoarei linii vă permite să vă personalizați configurația
# pe bază de mașină. %m este înlocuit cu numele netbios
# de mașină care se conectează
; include = /home/samba/etc/smb.conf.%m

# Unele valori implicite pentru winbind (asigurați-vă că nu utilizați intervalele
# pentru altceva.)
; idmap config *: backend = tdb
; idmap config *: interval = 3000-7999
; idmap config YOURDOMAINHERE: backend = tdb
; idmap config YOURDOMAINHERE: interval = 100000-999999
; shell de șablon = /bin/bash

# Configurați opțiunile de partajare a utilizatorilor pentru a permite utilizatorilor non-root să partajeze foldere
# cu comanda net usersshare.

# Numărul maxim de utilizatori partajați. 0 înseamnă că partajarea utilizatorilor este dezactivată.
# usershare max shares = 100

# Permiteți utilizatorilor cărora li s-au acordat privilegii de partajare a utilizatorilor să creeze
# acțiuni publice, nu doar cele autentificate

#======================= Partajați definiții =======================

# Anulați comentariile următoare (și modificați celelalte setări de mai jos pentru a se potrivi)
# pentru a activa partajările implicite din directorul principal. Acest lucru va împărtăși fiecare
# directorul principal al utilizatorului ca \server\nume utilizator
;[case]
; comentariu = Home Directories
; browseable = nu

# În mod implicit, directoarele de acasă sunt exportate doar în citire. Schimba
# următorul parametru la „nu” dacă doriți să le puteți scrie.
; numai citire = da

# Masca de creare a fișierelor este setată la 0700 din motive de securitate. Dacă dorești
# creați fișiere cu permisiuni group=rw, setați următorul parametru la 0775.
; creați mască = 0700

# Masca de creare a directorului este setată la 0700 din motive de securitate. Dacă dorești
# creați direcții. cu permisiuni group=rw, setați următorul parametru la 0775.
; masca director = 0700

# În mod implicit, partajările \server\nume utilizator pot fi conectate de oricine
# cu acces la serverul samba.
# Anulați comentariul următorului parametru pentru a vă asigura că numai „nume de utilizator”
# se poate conecta la \server\nume utilizator
# Acest lucru ar putea avea nevoie de ajustări atunci când utilizați scheme de autentificare externe
; utilizatori validi = %S

# Anulați comentariile următoare și creați directorul de conectare la net pentru autentificarea domeniului
# (trebuie să configurați Samba să acționeze și ca controler de domeniu.)
;[netlogon]
; comentariu = Serviciul de conectare la rețea
; cale = /home/samba/netlogon
; invitat ok = da
; numai citire = da

# Anulați comentariile următoare și creați directorul de profiluri de stocat
# profiluri de utilizatori (consultați opțiunea „cale de conectare” de mai sus)
# (trebuie să configurați Samba să acționeze și ca controler de domeniu.)
# Calea de mai jos ar trebui să poată fi scrisă de către toți utilizatorii, astfel încât
# directorul de profil poate fi creat prima dată când se conectează
;[profile]
; comentariu = Profiluri utilizatori
; cale = /home/samba/profiles
; invitat ok = nu
; browseable = nu
; creați mască = 0600
; masca director = 0700

#[imprimante]
# comment = Toate imprimantele
# browseable = nu
# cale = /var/spool/samba
# printable = da
# invitat ok = nu
# numai pentru citire = da
# creați mască = 0700

# Clienții Windows caută acest nume de partajare ca sursă de descărcare
# drivere de imprimantă
#[tipărește$]
# comentariu = Drivere de imprimantă
# cale = /var/lib/samba/printers
# browseable = da
# numai pentru citire = da
# invitat ok = nu
# Anulați comentariile pentru a permite administrarea de la distanță a driverelor de imprimare Windows.
# Poate fi necesar să înlocuiți „lpadmin” cu numele grupului dvs
# de utilizatori admin sunt membri ai.
# Vă rugăm să rețineți că trebuie să setați și permisiunile Unix corespunzătoare
# în directorul de drivere pentru ca acești utilizatori să aibă drepturi de scriere în el
; lista de scrieri = root, @lpadmin

 

    
[Acțiune]
    cale = /media/altocasa/NetDisk1/Shared
    scris = da
    modul director = 777
    modul de creare = 777
    public = da

De asemenea, dacă încerc să folosesc chmod sau chown pe punctul de montare (/media/alto...) comanda se execută fără nicio modificare efectivă.

l-urile discului:

drwxrwxrwx 1 altocasa date 4096 Aug 15 2018 DRIVERS
-rwxrwxrwx 1 altocasa data 9401704 Dec 2 2019 DTTarget2.1.0.0072.exe
drwxrwxrwx 1 altocasa data 8192 14 aprilie 2021 FILME
-rwxrwxrwx 1 date altocasa 12218104 22 martie 2021 „Fusion 360 Client Downloader.exe”
drwxrwxrwx 1 altocasa data 4096 Oct 4 16:03 ISO
-rwxrwxrwx 1 altocasa date 1091 12 mai 2019 ObstacleAvoidV1.py
drwxrwxrwx 1 altocasa data 0 Oct 28 2016 Programmi
drwxrwxrwx 1 altocasa data 4096 12 februarie 2017 „Informații despre volumul sistemului”
drwxrwxrwx 1 altocasa data 4096 Apr 8 2021 Torrent
drwxrwxrwx 1 altocasa data 264 Feb 2 20:03 NELISTED
drwxrwxrwx 1 altocasa data 4096 Mar 23 2021 Vpn
drwxrwxrwx 1 altocasa data 4096 27 ian 15:01 html
drwxrwxrwx 1 altocasa data 4096 27 ian 15:02 openrsd

Am practic fără opțiuni. Știe cineva de ce naiba un utilizator (www-data) care se află în grupul de date nu poate citi și scrie într-un folder deținut de date?

Mulțumesc!

Puncte:1
drapel in

Aceasta este cel mai probabil o problemă legată de AppArmor. Implicit, Apache nu poti scrie în locații din afara /var/www indiferent de ce permisiuni www-data cont poate avea. Acest lucru este pentru a vă asigura că un site web nu poate scrie fișiere în locații arbitrare de pe serverul dvs.

Există, în general, două opțiuni aici:

  1. Montați dispozitivul într-o locație interior /var/www (uşor)
  2. Modificați politicile AppArmor pentru Apache, permițând rw acces la /media/altocasa/NetDisk1 (mai puțin ușor)

Pentru multe dintre serverele mele, merg cu prima opțiune și montez dispozitivul de stocare pe /var/www/files. În această locație vor fi directoare pentru fiecare site web (NextCloud, RoundCube etc.).

FicusMacrophylla avatar
drapel tn
Mulțumesc! Mutarea la var/www a rezolvat-o.

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.