Vinnaren i pepparkakshustävlingen!
2018-03-25, 00:03
  #1
Medlem
sistadroppens avatar
Ubuntu 17.10
Apache/2.4.27

jag har formaterat datorn och nu saknar jag "rättigheter" till webbmappen. Förra gången löste jag det med googlande men jag inser nu att jag inte lärde mig särskilt mycket av det. för närvarande löser jag detta genom att ta servern offline och ange
chmod 777 -R, genomföra uppdateringarna, och sedan ange
775 -R
eller
770 -R

innan jag formaterade hade jag
chmod 770 -R
samt
chown www-data:www-data -R

med Apache kommer som bekant en grupp (man slipper skapa en) nämligen www-data. jag har lyckats lägga till mig själv i denna grupp med sudo useradd ... . och jag kan se att jag är medlem i www-data genom att skriva "groups". men nu till vad jag tror är problemet, www-data har inte rättigheter till min webbmapp, hur anger man detta?
Citera
2018-03-25, 00:07
  #2
Medlem
sistadroppens avatar
jag kan ha uttryckt mig misledande!
Citera
2018-03-25, 00:09
  #3
Medlem
sistadroppens avatar
chmod 770 -R
gruppen tilldelas fullständiga rättigheter

chown www-data:www-data -R example.com
gruppen får ägarskap till mappen

det borde funka?

Jag får iallafall permission denied när jag försöker ända i mappen
Citera
2018-03-25, 00:12
  #4
Medlem
sistadroppens avatar
edit: vet man vad som är problemet är det lätt att googla fram en lösning men här är problemet odefinierat
Citera
2018-03-25, 09:05
  #5
Medlem
Försök gärna klistra in error msg från en terminal.
Mina tips, skaffa dig kolla så att du kan undersöka vilka rättigheter 1 fil har.

Jag skulle försökt göra en lokal EDIT på filerna i ett terminal fönster för att se om det funkar eller inte.
(Finns tex SE-Linux och en del andra rättighets system som kan blockera detta; Men 99% det inte är ett sådant problem du har.)
MEN det är lämplig att testa och se om det funkar i vilket fall, på enklaste möjliga sätt.

Exempel om du vill editera 1 fil /var/www/example.com/bepa.txt

Navigera till katalogen där filen finns:
cd /var/www/example.com/
ls -l
-rw-rw-r-- 1 sagonar wheel 242 Jul 31 2017 bepa.txt
#Är det många filer så pasta gärna in resultet av: ls -ld . FILE_NAME_YOU_WANT_TO_EDIT
# (IE rättigheter på filen och på DIR:et )

# Ovan kan jag se att sagonar har rw rättigheter

# Om jag inte är "sagonar" kolla gruppen, är jag medlem ?
#Kolla om du är medlem i den gruppen ?
groups
# Här skall det komma ut en lista med de grupper som du tillhör..

# Om jag har gruppen, VERIFIERA // testa att ändra.
# Gör någon test editering.. (Men på en kopia först)

# skapa en kopia _bepa.txt för att testa på...
sudo cp -p bepa.txt _bepa.txt
echo "" >> _bepa.txt
Citera
2018-04-03, 08:09
  #6
Medlem
sistadroppens avatar
jag har uttryckt mig otydligt.
gruppen har fullständiga rättigheter och jag är med i gruppen
$ sudo chmod 770 -R example.com
$ sudo chown www-data:www-data -R example.com
$ ls -l
$ groups

Jag kan gå in i mappen, se i stort sett allt, men inte skapa eller ändra. Däremot om jag terminalar:
$ sudo chmod 777 -R example.com
så funkar det. Vad skulle kunna vara "felet"?
Citera
2018-04-03, 09:49
  #7
Medlem
sistadroppens avatar
sagonar, du får prata lite mer som om du pratar till en efterbliven, så jag förstår.
Citera
2018-04-04, 02:02
  #8
Medlem
lasternassummas avatar
Citat:
Ursprungligen postat av sistadroppen
sagonar, du får prata lite mer som om du pratar till en efterbliven, så jag förstår.

Rättigheter i Unix/Linux
Det finns två egenskaper hos en mapp som har betydelse.
– Vem får göra något? Anges med ägare och grupp
– Vad får dom göra? rwxrwxrwx för respektive ägare, grupp och övriga.
r = read
w = write
x = execute.
770, eller rwxrwx---, t.ex. betyder att ägare och grupp får göra allt (77=rwxrwx). Övriga får inte göra något (0=---).

Det finns två kommandon för att ändra detta:
chown - ändrar ägande, t.ex. chown root:admins /usr/local/www
chmod - ändrar rättigheter, t.ex. chmod 774 /usr/local/www

Du behöver kanske ha root-rättigheter för att göra detta.
sudo gör att det efterföljande kommandot utförs med root-sättigheter.
su (retur) gör att du går över till att vara root, tills du skriver exit (retur).

Om det är en lokal server kan du ändra www-katalogen till 775.
Om det är en publik server kanske säkerhet bör tas lite mer allvarligt.

Citera
2018-04-04, 02:06
  #9
Medlem
lasternassummas avatar
Citat:
Ursprungligen postat av sistadroppen
jag har uttryckt mig otydligt.
gruppen har fullständiga rättigheter och jag är med i gruppen
$ sudo chmod 770 -R example.com
$ sudo chown www-data:www-data -R example.com
$ ls -l
$ groups

Jag kan gå in i mappen, se i stort sett allt, men inte skapa eller ändra. Däremot om jag terminalar:
$ sudo chmod 777 -R example.com
så funkar det. Vad skulle kunna vara "felet"?

Om du inte kan skapa eller ändra i en map med 770 = rwxrwx--- så betyder det att du varken är ägare eller tillhör gruppen som har rätt till mappen. Du är då "övriga" med rättigheten ---, dvs. inga rättigheter alls.

Citera
2018-04-04, 02:17
  #10
Medlem
Citat:
Ursprungligen postat av lasternassumma
Om du inte kan skapa eller ändra i en map med 770 = rwxrwx--- så betyder det att du varken är ägare eller tillhör gruppen som har rätt till mappen. Du är då "övriga" med rättigheten ---, dvs. inga rättigheter alls.


Hur går "inga rättigheter alls" ihop med att sistadroppen skriver "Jag kan gå in i mappen, se i stort sett allt". För att byta till katalogen behöver man x-rättighet på den och för att lista innehållet behöver man r-rättighet.
Citera
2018-04-04, 11:59
  #11
Medlem
lasternassummas avatar
Citat:
Ursprungligen postat av Hominem
Hur går "inga rättigheter alls" ihop med att sistadroppen skriver "Jag kan gå in i mappen, se i stort sett allt". För att byta till katalogen behöver man x-rättighet på den och för att lista innehållet behöver man r-rättighet.

Det jag skrev om är vad som är grunden för rättigheter i Unix/Linux/Mac OS X/POSIX.

Det beskrivs mer i detalj här:
https://www.tutorialspoint.com/unix/...permission.htm

Därutöver finns ibland ACL (Access Control Lists) som ger fler möjligheter att styra åtkomst.

Ditt problem kan vara att Apache fungerar som det ska, baserat på grundläggande rättigheter, men att ACL används när du ska gå in och redigera i filer i Apaches hemkatalog.

Man kan angripa detta på flera sätt.

I ditt fall är kanske det enklaste att ta reda på hur du ändrar ACL-rättigheterna, om det är sådana som krånglar till det.

Ett annat sätt är att ha en "master" till webbinnehållet på en plats, där man redigerar och sedan överföra till webb-roten när det är dags att köra.

Exakta rutiner vid utvecklingsarbete kan ju skilja en hel del mellan t.ex. en en-användar hemserver och en lite större näthandelslösning med många användare och flera utvecklare.

När flera personer är inblandade (användare eller utvecklare) är det olämpligt att sitta och redigera i filer som är aktiva på webbservern.

Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback