Приемаме, че имаме чист инсталиран Debian. Първото нещо е да имаме достъп до Интернет през статично IP.
nano /etc/network/interfaces # The primary network interface # allow-hotplug eno1 # iface eno1 inet dhcp auto eno1 iface eno1 inet static address 192.168.11.2 netmask 255.255.255.0 gateway 192.168.11.1 /etc/init.d/networking restart ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:23:24:c1:5d:51 brd ff:ff:ff:ff:ff:ff altname enp0s31f6 inet 192.168.11.2/24 brd 192.168.11.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::223:24ff:fec1:5d51/64 scope link valid_lft forever preferred_lft forever ip route default via 192.168.11.1 dev eno1 onlink 192.168.11.0/24 dev eno1 proto kernel scope link src 192.168.11.2
Следва да накараме потребителя CCCP да е член на групата sudo. Но за начало първо трябва да го инсталираме.
apt install sudo -y nano /etc/sudoers root ALL=(ALL:ALL) ALL cccp ALL=(ALL:ALL) ALL
Имаме достъп до Интернет. Ще се постараем да създадем чист файлов сървър използвайки SAMBA и WEBMIN за управление. Започваме с инсталацията на SAMBA
sudo su apt update -y apt upgrade -y apt install samba -y ### Долната команда не е задължителна. Тя е за клиентската част. apt install smbclient -y
След инсталацията да инсталираме WEB приложение за управлението му. В случая не ни е необходимо да инсталираме примерно Apache или Nginx.
apt install gnupg2 curl -y cd /tmp curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh sh setup-repos.sh apt update -y apt install webmin --install-recommends -y service webmin status ss -antpl | grep 10000 LISTEN 0 4096 0.0.0.0:10000 0.0.0.0:* users:(("miniserv.pl",pid=4836,fd=5)) LISTEN 0 4096 [::]:10000 [::]:* users:(("miniserv.pl",pid=4836,fd=6))
След като е инсталиран WEBMIN да влезем да го разгледаме на https://192.168.11.2:10000.
Предлага три папки които можем да споделим. Предлагам да не ги споделяме, а да изберем ние какво да споделяме.
Избираме трите папки и ги трием. Не физически, а просто не ги споделяме.
За да нстроим сървъра трябва да определим няколко неща: ● Кои папки ще споделяме ● Кои потребители ще имат право върху споделените папки ● Кои групи с принадлежащите потребители ще имат право върху споделените папки Изхождайки от горните условия трябва да споделим някои папки. Ако нямаме такива, то трябва да ги създадем.
mkdir -p /home/samba/corporate mkdir -p /home/samba/public
Създадохме две папки. corporate за корпоративни клиенти и publick за всички. Корпоративните потребители също ще могат да ползват папката public.
Отново изхождайки от горното условие ще създадем две групи. corporate за достъп до папката corporate и втора група free за достъп до папката public.
groupadd corporate groupadd free
Сега да укажем коя група е собственик на съответната папка.
chgrp -R corporate /home/samba/corporate/ chgrp -R free /home/samba/public/
А сега да дефинираме правата върху папката.
chmod 2770 /home/samba/corporate/ chmod 2775 /home/samba/public/
ВАЖНО !!! Забелязахте ли, че правата са 2770 и 2775? Всички започват с 2 най-отпред. Това позволява на новосъздадените файлове да наследяват родителската група.
Потребителите в SAMBA ще са част от потребителите на Debian, но няма да могат да се логват в системата.
useradd -M -s /sbin/nologin count useradd -M -s /sbin/nologin kasier
-M не създава домашна папка на потребителя, -s /sbin/nologin указва, че няма да има логин шел. Да укажем потребителите в коя група да принадлежат.
usermod -aG free kasier usermod -a -G corporate,free count
-a винаги слагайте тази опция когато добавяте потребител към нова група. Ако липсва -a потребителя ще бъде премахнат от групата. -G указва към коя група да е. Ако даден потребител е член на няколко групи то групите се разделят със ','. Парола за потребителите в SAMBA
smbpasswd -a kasier smbpasswd -a kasier
Бих се движил в същото направление чрез команди но за голяма част от хората това е проблем и предпочитат графично да си управляват сървъра. Затова продължаваме в картинки :). Между другото на https://www.youtube.com/watch?v=UnXxJMjW4LE можете да видите нагледно как се настройва сървъра. Същината на настройването започва след 6 мин. Тук ще покажа какви стъпки трябва да се изпълнят (нещо като кратко упътване). ● създаваме потребители в системата (System >> Users and Groups) ● създаваме група или групи и кой ще членува в нея (System >> Users and Groups) ● създаваме папка за споделяне (Tools >> File Manager) ● определяме правата върху папката за споделяне (Tools >> File Manager), като собственик на папката, права за четене и запис. ● настройваме и самата SAMBA сървър (Servers >> Samba Windows File Sharing). По ръководството от YouTube от 9 мин. нататък. ● преобразуваме потребителите от системата в SAMBA потребители. Даваме им и пароли. Паролата на потребителя за системата и за SAMBA са две различни неща. ● описваме папката за споделяне в SAMBA ● описваме защитения достъп до папката в SAMBA ● рестартираме сървиса SAMBA ● проверяваме във Windows клиент за достъп до споделената папка. Всичко това е в груб вариант. Все пак ако ще правите някакви манипулации би трябвало да знаете какво вършите.
Просто създаваме потребител limited, без каквито и да са допълнителни настройки.
Създаваме втори потребител, който по идея трябва да е неограничен.
Ще създадем и група.
Ще създадем нова група в системата все още.
Групата ще се казва test и в нея ще добавим потребителите limited и unlimited. Добавянето може да стане с маркирането едновременно на двата потребителя чрез бутона Shift, или да се добавят поотделно един след друг.
Натискаме бутона Create и създаваме групата. Сега трябва да създадем и споделим на по-късен етап една папка.
Тук ще се наложи да разясня повече от нормалното. Ще създадем папка в /home/ и ще я споделим. Но забележете, че потребителите които създадохме в системата са реални които могат да се логват и да боравят със системата. Нарочно показах този вариант за да го имате в предвид. Когато създавате потребители за SAMBA то те трябва да са без шел и да не могат да се логват в системата. Това си е вид уязвимост.
Обърнете внимание. Разрешаваме на всички от групата да пишат в папката. Също така всички права върху папката има и собственика. Останалите могат само да четат съдържанието на папката и да изпълняват файлове в нея, но не могат да правят запис вътре. И отново уточнение. Ако създадете по този начин правата върху папката то файловете които се създават вътре ще са с правата на потребителите. Време е да настроим и SAMBA сървъра.
Трием папките които се предлагат по подразбиране.
Създаваме потребител в SAMBA.
Даваме парола на потребителя в SAMBA. По същия начин правим и втория потребител.
Вече имаме два потребителя в SAMBA със съответните им парили. Да споделим и папката.
С мишката щтракаме върху shared.
Рестартираме SAMBA сървъра. Да тестваме през Windows клиент.
С това завършваме. Всичко показано нагоре е само начало. Правилата които ще създавате са много по-сложни. Но идеята е тази.
За да поддържа по-стари версии на SAMBA конфигурационния файл трябва да се промени.
nano /etc/samba/smb.conf [Global] workgroup = WORKGROUP