Linux i samba, redukcja uprawnie

Konfiguracja serwerów, usług, itp.
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Linux i samba, redukcja uprawnień użytkowników

Post autor: cooleq »

Witam.
Zaszła potrzeba w firmie na zmianę dostępności danych. Do tej pory każdy miał udział na serwerze, który był dostępny do odczytu dla pozostałych użytkowników.
Tu fragment smb.conf odpowiedzialny za ten dostęp.

Kod: Zaznacz cały

[homes]
   comment = Home Directories
   browseable = no

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
   read only = no

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
   create mask = 0775
   force creation mode = 0775
# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
   directory mask = 0775
   force directory mode = 0775
   force group = kasowanienagran
# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
# The following parameter makes sure that only "username" can connect
# to \\server\username
# This might need tweaking when using external authentication schemes
   valid users = %S

# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = yes
;   share modes = no

# Un-comment the following and create the profiles directory to store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
  GNU nano 2.0.7                                                File: smb.conf

;   directory mask = 0700
Kwestia jest taka, żeby utajnić dane. Cały folder ma być dostępny tylko dla tego użytkownika i do tego drugi folder gdzie będzie linkował bądź umieszczał dane.
Nic prostszego jak zmienić ,,create mask'' i ,,directory mask'' na:

Kod: Zaznacz cały

   create mask = 0750
   force creation mode = 0750
   directory mask = 0750
   force directory mode = 0750
Tylko, że dalej będzie można to odczytać z konsoli jeśli się zalogować przez ssh. Logicznym w tym momencie jest, żeby najnormalniej w świecie skasować użytkowników systemu i pozostawić tylko samby. Tylko, czy wtedy dalej pozostanie dostęp do katalogów domowych użytkowników Debiana?
I, czy przy kasowaniu użytkowników nie skasują się foldery domowe?
Zdaję sobie sprawę, że można to rozwiązać zakładając nowe katalogi, przydzielić udziały, ale mam sporo użytkowników i sporo danych w folderach wolałbym tego nie robić.

I jeszcze taka jedna kwestia. Czy jest możliwość, nie wiem, może jakiś skrypt, chodzi generalnie o to, że ja jako administrator resetuję hasło i nowe hasło do samby a później też do bazy danych jest ustalane przy pierwszym logowaniu. Do tej pory każdy podchodził do mnie ale zaczyna być to uciążliwe bo coraz więcej ludzi się robi.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Można zawsze wyłączyć użytkownikom możliwość logowania się do powłoki.

Kod: Zaznacz cały

 /bin/false
bodajże, jako powłokę ustawić dla użytkownika.
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Możesz również zabronić lub zezwolić danym użytkownikom na logowanie się przez ssh. Można to zrobić na dwa sposoby:
1. Przez zmianę powłoki
2. Opcja AllowUsers w sshd.conf
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Post autor: cooleq »

Dziękuję, zastosowałem poradę Cyphermena.
Ale mam tam też wielu użytkowników systemowych, typu postfix, mail, backup itd. Czy jakaś znająca się osoba nie będzie w stanie się zalogować na któreś z tych kont? Bo ja się nie znam i nie wiem na jakiej zasadzie tworzą one sobie hasła i czy w ogóle.
Może ktoś mi poleci jakąś publikację na temat zabezpieczania serwera, bo takich pułapek pewnie się troszkę czai.
No i dalej nic nie znalazłem na temat ustawiania hasła do samby podczas logowania.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Co do zabezpieczania serwera to są tony rzeczy dostępnych w internecie, chociażby to:

Linuxtopia- Linux Administrator's Security Guide - Linux Security

lub: http://art-photo.org.uk/pliki/podstawow ... erwera.pdf

Co do kont systemowych, to możesz mieć im ścieżkę do powłoki w /etc/passwd bądź dyrektywą AllowUsers.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

cooleq no to właśnie wyłącz im powlokę, o ile jeszcze nie mają wyłączonej. Albo jak ktoś tu radzi wyłączyć im możliwość
AllowUser
w
ssh.conf
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Post autor: cooleq »

Chyba chodzi o ssh_config bo ssh.conf nie znalazłem, a dokładniej jak napisał kolega wyżej sshd_config. I rzeczywiście jest to zdecydowanie łatwiejsze niż edytowanie wszystkich użytkowników.
Teraz mi się rodzi takie pytanie, czy jest możliwość, żeby przez sambę zrobić coś takiego, że można tylko dodawać do folderu pliki a nie można ich usuwać a najlepiej żeby nie były widoczne.
Chodzi o to, że pojawiają się nowe foldery z danymi i żeby dodać mógł je każdy a nie tylko osoba upoważniona i np mam folder nagrania/miasto właścicielem jest użytkownik i grupa ,,dodający''. Do zasobu loguje się użytkownik2, który jest w grupie ,,dodajacy'' widzi katalogi, więc może wybrać odpowiednich i dodaje do jednego z nich nowy katalog z aktualną datą. I chodzi o to, żeby nie mógł katalogów z innymi datami skasować ani skopiować. Czyli, żeby uprawnienia nowo dodanego katalogu zmieniły się na:

Kod: Zaznacz cały

0700 (creation mask 0700)
Tylko, że musi się też zmienić właściciel z użytkownik2 na użytkownik. Można by coś takiego zrobić?
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Dokładnie chodzi o plik konfiguracji serwera ssh.
W Squeeze jest to

Kod: Zaznacz cały

sshd_config
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Tak przepraszam sshd_config.
Co do drugiego pytania to trochę nie mogę zrozumieć gdybyś mógł napisać troszkę jaśniej.

Wydaje mi się że nie da się tak jak chcesz bo prawa do zapisu to jednocześnie do usuwania ale głowy uciąć sobie nie dam. Może ewentualnie jakiś skrypt? ale niech się wypowiedzą inne osoby tutaj.
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Post autor: cooleq »

Najprościej i w skrócie:
użytkownik2 kopiuje dane do katalogu użytkownik1 i traci prawa dostępu na rzecz użytkownik1. Oczywiście użytkownik2 musi mieć możliwość przeglądania niektórych katalogów użytkownika1 w celu wybrania właściwego.
ODPOWIEDZ