7 330 läst ·
81 svar
7k läst
81 svar
Linux-skills till Seagate NAS
Besserwisser
· Västra Götalands
· 11 202 inlägg
Ja, en "NAS" är ju i stort sett en "Raspberry Pi", dvs en enkel strömsnål (typiskt) ARM SoC + en disk, så det är rationellt tänkt.Mikael_L skrev:
Man får en liten begränsning iom USB-gränssnittet till disken som dessutom delas av nätverkskortet dock. Kan man leva med det så är det inte fel tänkt dock. Särskilt inte med Rasberry Pi 2, som ökar processorprestandan om man exv. vill köra kryptering, någon enkel webserver el dyl.
Skall man bygga lite mer seriös NAS så finns det bättre plattformar att börja ifrån, men har man redan USB-disk plus en Raspberry pi liggande, så är det ju svårslaget.
Äh, så svårt är det inte. Har man "lärt sig" Windows så är Unix gjort på en kafferast. Och allt man skulle kunna tänkas vilka veta finns ju på nätet.Mikael_L skrev:
Nu har jag ROOT-access igen.
Omstart då.
För mig gäller det nog att uppfostra samba och seagate-OSet till att tillåta denna (och andra) användare till att få tillgång till lite fler än en enda katalog.
Jag har några conf-filer i samba-katalogen:
-rw-r--r-- 1 root root 922 Apr 11 2014 smb.conf
-rw-r--r-- 1 root root 70 Jun 1 19:51 smb_cust.conf
-rw-r--r-- 1 root root 1229 Apr 11 2014 smb_domain.conf
-rw-r--r-- 1 root root 1183 Apr 11 2014 smb_domain_default
-rw-r--r-- 1 root root 984 Apr 11 2014 smb_workgroup.conf
Är det i (någon av) dessa jag ska ändra saker och ting?
Omstart då.
I det här fallet skulle jag vilja påstå att det nog inte spelar någon roll om en win-burk har bestämt sig för att låsa till en användare som sen skickas som user-name vid alla slags inloggningar.tommib skrev:
För mig gäller det nog att uppfostra samba och seagate-OSet till att tillåta denna (och andra) användare till att få tillgång till lite fler än en enda katalog.
I förlängningen är det inte helt fel om det skulle gå att dela ut vissa delar med endast läsrättigheter till precis vem som helst som råkar komma nära denna burk, men det är inte på något sätt prio.
Jag har några conf-filer i samba-katalogen:
-rw-r--r-- 1 root root 922 Apr 11 2014 smb.conf
-rw-r--r-- 1 root root 70 Jun 1 19:51 smb_cust.conf
-rw-r--r-- 1 root root 1229 Apr 11 2014 smb_domain.conf
-rw-r--r-- 1 root root 1183 Apr 11 2014 smb_domain_default
-rw-r--r-- 1 root root 984 Apr 11 2014 smb_workgroup.conf
Är det i (någon av) dessa jag ska ändra saker och ting?
smb.conf är huvudfilen. Sen tror jag att den kan referera till andra filer men kommer inte ihåg. Det kan vara något special på denna burk från Seagate. Jag kör en normal linuxdist (Slackware) så jag har bara en fil. Det kan vara så att det är exempelfiler som ligger med men det verkar lite osannolikt. Kan du visa innehållet i framför allt smb.conf?
Ja den begäran är ju lätt att uppfylla 
[global]
include = /etc/samba/smb_cust.conf
server string = Seagate Central Shared Storage
# log file = /Data/log/log.smbd
max log size = 1024
log level = 0
load printers = no
socket options = TCP_NODELAY
min receivefile size = 1 ## disabled due to SOP receive file bug
use sendfile = yes
dead time = 15
security = user
auth methods = guest, sam_ignoredomain
encrypt passwords = yes
create mask = 0777
directory mask = 0777
null passwords = yes
map to guest = bad user
guest account = nobody
hide files = /.*/Network Trash Folder/Temporary Items/
veto files = /.AppleDesktop/.AppleDouble/.bashrc/.profile/
delete veto files = yes
vfs object = netatalk
store dos attributes = yes
include = /usr/private/user_smb_conf/.overall_share
[global]
include = /etc/samba/smb_cust.conf
server string = Seagate Central Shared Storage
# log file = /Data/log/log.smbd
max log size = 1024
log level = 0
load printers = no
socket options = TCP_NODELAY
min receivefile size = 1 ## disabled due to SOP receive file bug
use sendfile = yes
dead time = 15
security = user
auth methods = guest, sam_ignoredomain
encrypt passwords = yes
create mask = 0777
directory mask = 0777
null passwords = yes
map to guest = bad user
guest account = nobody
hide files = /.*/Network Trash Folder/Temporary Items/
veto files = /.AppleDesktop/.AppleDouble/.bashrc/.profile/
delete veto files = yes
vfs object = netatalk
store dos attributes = yes
include = /usr/private/user_smb_conf/.overall_share
Och smb_workgroup.conf :
Seagate-43DF51:/etc/samba# cat smb_workgroup.conf
[global]
workgroup = WORKGROUP
realm = WORKGROUP
netbios name = BA-06BB78
server string = Black Armor NAS
load printers = yes
printing = cups
printcap name = cups
cups options = raw
log file = /var/log/samba/log.smbd
socket options = SO_RCVBUF=131072 SO_SNDBUF=131072 TCP_NODELAY
min receivefile size = 16384
max log size = 50
use sendfile = true
dead time = 15
security = user
auth methods = guest, sam_ignoredomain
encrypt passwords = yes
create mask = 0777
directory mask = 0777
null passwords = yes
map to guest = bad user
guest account = root
include = /usr/private/user_smb_conf/.overall_share
[printers]
path = /var/spool/samba
comment = All Printers
browseable = yes
public = yes
guest ok = yes
writable = no
printable = yes
use client driver = yes
Seagate-43DF51:/etc/samba# cat smb_workgroup.conf
[global]
workgroup = WORKGROUP
realm = WORKGROUP
netbios name = BA-06BB78
server string = Black Armor NAS
load printers = yes
printing = cups
printcap name = cups
cups options = raw
log file = /var/log/samba/log.smbd
socket options = SO_RCVBUF=131072 SO_SNDBUF=131072 TCP_NODELAY
min receivefile size = 16384
max log size = 50
use sendfile = true
dead time = 15
security = user
auth methods = guest, sam_ignoredomain
encrypt passwords = yes
create mask = 0777
directory mask = 0777
null passwords = yes
map to guest = bad user
guest account = root
include = /usr/private/user_smb_conf/.overall_share
[printers]
path = /var/spool/samba
comment = All Printers
browseable = yes
public = yes
guest ok = yes
writable = no
printable = yes
use client driver = yes
Ok, om det är hela filen så finns allt intressant i filen /usr/private/user_smb_conf/.overall_share
Inget konstigt i den konfigurationen som syns egentligen
auth methods = guest, sam_ignoredomain Betyder att du först försöker mappa till guest, sen kollar om användaren finns.
map to guest = bad user Betyder att användarnamn som inte finns mappas till guest
guest account = nobody Betyder att kontot på linux som motsvarar guest är nobody. Kan vara bra att ändra detta.
create mask = 0777 betyder att allt som alla skapar blir tillgängligt för alla (tror jag)
Vad finns i den relevanta filen?
Sen kanske det inte är världens bästa ide att modifiera dessa filer eftersom Seagates UI säkert förväntar sig att de ska se ut på ett visst sätt.
Inget konstigt i den konfigurationen som syns egentligen
auth methods = guest, sam_ignoredomain Betyder att du först försöker mappa till guest, sen kollar om användaren finns.
map to guest = bad user Betyder att användarnamn som inte finns mappas till guest
guest account = nobody Betyder att kontot på linux som motsvarar guest är nobody. Kan vara bra att ändra detta.
create mask = 0777 betyder att allt som alla skapar blir tillgängligt för alla (tror jag)
Vad finns i den relevanta filen?
Sen kanske det inte är världens bästa ide att modifiera dessa filer eftersom Seagates UI säkert förväntar sig att de ska se ut på ett visst sätt.
Jag misstänker att smb_domain.conf, smb_workgroup.conf och smb_cust.conf är templatefiler som kopieras till smb.conf när du väljer vilket läge din Seagateburk ska vara i på nätverket (Hemmagrupp eller domän). Kika på den filen som de refererar till, där finns säkert definitionerna på alla shares.
och Googla "man smb.conf" så får du upp instruktionen för vad alla grejerna betyder
och Googla "man smb.conf" så får du upp instruktionen för vad alla grejerna betyder
Besserwisser
· Västra Götalands
· 11 202 inlägg
Och ett varningen ord: Samba är en av de mera komplexa servermjukvarorna man kan ge sig på. Det blir många spännande interaktioner mellan Unix-sidan och Windows-sidan, så det krävs mycket tungan-rätt-i-munnen hållning.tommib skrev:
Inte omöjligt, det säger jag inte, men tråkigt och komplicerat... (Till skillnad från exv. NFS som inte erbjuder så mycket funktioner, bygger på en del mögiga protokoll, har svårt med säkerheten, MEN är ganska lätt att få uppsatt.)
Ja OK, du har nog rätt.lars_stefan_axelsson skrev:Och ett varningen ord: Samba är en av de mera komplexa servermjukvarorna man kan ge sig på. Det blir många spännande interaktioner mellan Unix-sidan och Windows-sidan, så det krävs mycket tungan-rätt-i-munnen hållning.
Inte omöjligt, det säger jag inte, men tråkigt och komplicerat... (Till skillnad från exv. NFS som inte erbjuder så mycket funktioner, bygger på en del mögiga protokoll, har svårt med säkerheten, MEN är ganska lätt att få uppsatt.)
Jag skiter i det här, och i Linux och allt ...
edit:
Nä, inte än.
Så lätt ska jag inte ge upp. Det här är ju dessutom lite kul, på något skruvat vis.
Japp, så rätt du har.tommib skrev:
Seagate-43DF51:/usr/private/user_smb_conf# cat .overall_share
[Public]
map read only = no
force user = nobody
comment = Public
writable = yes
public = yes
path = /shares/Public
force group = nogroup
[admin]
map read only = no
comment = admin
valid users = "admin"
writable = yes
write list = admin
path = /shares/admin
[testuser]
map read only = no
comment = testuser
valid users = "testuser"
writable = yes
write list = testuser
path = /shares/testuser
Kan man då bara lägga in fler path's under olika user?
Typ:
[admin]
map read only = no
comment = admin
valid users = "admin"
writable = yes
write list = admin
path = /shares/admin
path = /shares/testuser
Så admin nu kommer åt två olika kataloger?
Typ:
[admin]
map read only = no
comment = admin
valid users = "admin"
writable = yes
write list = admin
path = /shares/admin
path = /shares/testuser
Så admin nu kommer åt två olika kataloger?
Sådär. Nu kommer du någonstans. Det här är alltså definitionerna av dina shares. Vad var det du ville göra nu igen?
Om du ska ha en share som är läsbar för alla men skrivbar endast för dig borde det räcka med att lägga till alla användare i valid users, like so; valid users = "admin, testuser, nobody" och sen skriva i write list = admin och ändra writable = no (lite bakvänt, men kolla här https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html och sök på write list)
Så för att skapa en "home" som du önskar på första sidan (ja, nu tog jag mig tid att läsa) så lägger du till följande:
[Home]
map read only = no
comment = "Gemensamma filer"
writable = no
public = yes
path = /shares/Home (<- glöm inte att skapa denna mapp, med rättigheterna 777)
write list = admin (eller vad nu din användare heter...)
create mask = 0770
force create mode = 0770
Detta borde funka, men skyll inte på mig om din NAS kräks på detta eftersom jag inte vet vad Seagate har för hyss för sig....
Ja, visst är det roligt med Linux!
Om du ska ha en share som är läsbar för alla men skrivbar endast för dig borde det räcka med att lägga till alla användare i valid users, like so; valid users = "admin, testuser, nobody" och sen skriva i write list = admin och ändra writable = no (lite bakvänt, men kolla här https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html och sök på write list)
Så för att skapa en "home" som du önskar på första sidan (ja, nu tog jag mig tid att läsa) så lägger du till följande:
[Home]
map read only = no
comment = "Gemensamma filer"
writable = no
public = yes
path = /shares/Home (<- glöm inte att skapa denna mapp, med rättigheterna 777)
write list = admin (eller vad nu din användare heter...)
create mask = 0770
force create mode = 0770
Detta borde funka, men skyll inte på mig om din NAS kräks på detta eftersom jag inte vet vad Seagate har för hyss för sig....
Ja, visst är det roligt med Linux!
Redigerat:
Nej. Du ser på det bakvänt. Det som är mellan brackets (fyrkantsparanteser?) är själva mappen som är utdelad. Vilka som kan komma åt den är angivet under parametern valid users (föga förvånande). Writable anger om man får skriva till mappen och write list anger vilka användare som får göra det. Paradoxalt nog får användare som finns med i write list alltid skriva i mappen oavsett vad writable är satt till (enligt manualen).Mikael_L skrev:
Att börja med samba är inte helt enkelt, men en snabb googling ger t.ex. detta
https://www.linux.com/learn/tutorials/296391-easy-samba-setup
Jag har ju annars på ett vänligt sätt försökt säga RTFM några gånger men det är ju oftast en ganska dålig och okonstruktiv metod
Det markerade ser ju lite tveksamt ut ur säkerhetssynpunkt..... hoppas din NAS inte har den här konfigurationen aktiv...Mikael_L skrev:Och smb_workgroup.conf :
Seagate-43DF51:/etc/samba# cat smb_workgroup.conf
[global]
workgroup = WORKGROUP
realm = WORKGROUP
netbios name = BA-06BB78
server string = Black Armor NAS
load printers = yes
printing = cups
printcap name = cups
cups options = raw
log file = /var/log/samba/log.smbd
socket options = SO_RCVBUF=131072 SO_SNDBUF=131072 TCP_NODELAY
min receivefile size = 16384
max log size = 50
use sendfile = true
dead time = 15
security = user
auth methods = guest, sam_ignoredomain
encrypt passwords = yes
create mask = 0777
directory mask = 0777
null passwords = yes
map to guest = bad user
guest account = root
include = /usr/private/user_smb_conf/.overall_share
[printers]
path = /var/spool/samba
comment = All Printers
browseable = yes
public = yes
guest ok = yes
writable = no
printable = yes
use client driver = yes
För att förtydliga innebär det alltså att alla som försöker logga in utan ett giltigt användarnamn mappas till användaren root:s behörighet till filsystemet på NASen, om jag inte misstar mig. Inte så bra ur säkerhetssynpunkt men säkert bekvämt och lätt att konfigurera...
