Създаваме папките за споделяне.
mkdir -p /mnt/samba/Arhive mkdir -p /mnt/samba/BTK mkdir -p /mnt/samba/Corporate mkdir -p /mnt/samba/P-Salon mkdir -p /mnt/samba/Public
Създаваме групите в които ще участват потребителите.
groupadd administrators groupadd corporate
Ще ползваме и групата users но тя съществува с инсталацията на Debian. Указваме на коя папка коя група има права.
chgrp -R administrators /mnt/samba/Arhive chgrp -R corporate /mnt/samba/Corporate chgrp -R users /mnt/samba/BTK chgrp -R users /mnt/samba/P-Salon chgrp -R users /mnt/samba/Public
Дефинираме папките с какви права да са. Забележете най-отпред има 2. Това указва, че под папките ще наследят правата на родителя.
chmod 2770 /mnt/samba/Arhive chmod 2770 /mnt/samba/Corporate chmod 2775 /mnt/samba/BTK chmod 2775 /mnt/samba/P-Salon chmod 2775 /mnt/samba/Public
Много важен момент!!!. Ако сега създадете родителската папка /mnt/samba да е собственик примерно на administrators, то тогава няма да можете да виждате подпапките с потребители различни от администраторите.
Пример: /mnt/samba е собственост на administrators. Ако се свързвате с потребител kasier и искате да достъпите /mnt/samba/public, то няма да можете защото родителя /mnt/samba е собственост на администраторите. Затова собственика на родителя /mnt/samba трябва да е този който има достъп до всички подпапки. В случая това е групата users. А на по-късен етап в самите подпапки ще правите точни ограничения. Отново за пример: папката /mnt/samba/Arhive да може да я ползва само групата administrators.
chgrp users /mnt/samba
Забележете не дефинираме рекурсивност в този случай. Искаме групата users да има права само върху папката-майка, а в подпапките сме указали други собственици на групи и потребители. В заключение: достъп до папката-майка трябва да имат всички, а допълнителните подпапки се предефинират със съответните собственици. Дефинираме потребителите които ще ползват SAMBA. Съответно казваме кой потребител в коя група ще членува.
useradd -M -s /sbin/nologin administrator -g administrators useradd -M -s /sbin/nologin corporate -g corporate useradd -M -s /sbin/nologin kasier -g users
Да оправим групите и прилежащите и членове.
usermod -aG administrators,corporate,users cccp usermod -aG administrators,corporate,users administrator usermod -a -G corporate,users corporate usermod -aG users kasier
Да проверим какво сътворихме.
cat /etc/group | grep -e administrators -e corporate -e users users:x:100:cccp,administrator,corporate,kasier administrators:x:1001:cccp,administrator corporate:x:1002:cccp,administrator,corporate
В някои групи ще има повече от един потребител. Да проверим по друг начин:
groupmems -g administrators -l cccp administrator groupmems -g corporate -l cccp administrator corporate groupmems -g users -l cccp administrator corporate kasier
Да създадем пароли за потребителите в SAMBA>
smbpasswd -a cccp smbpasswd -a administrator smbpasswd -a corporate smbpasswd -a kasier
Проверяваме какви потребители със какви пароли сме създали.
pdbedit -wL cccp:1000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:D719B3117CBEAE2F78E4E321AB76CFDC:[U ]:LCT-67E67E8B: corporate:1002:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:1245613313FC990D9C22CA51C4441400:[U ]:LCT-67ED1F4D: administrator:1001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:A2C4764872BFF21A51C72FC3D1FE0EA9:[U ]:LCT-67E67E9C: kasier:1003:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:F8A35FBA0CA81A68C71CF63061B6801D:[U ]:LCT-67ED1F41:
Да създадем конфигурационния файл за SAMBA демона.
nano /etc/samba/smb.conf ### Най-отдолу на файла ### [SAMBA] включва в себе си всички по-надолу споделени ресурси (ползва се само от администраторите) ### Включва: [Arhive], [BTK], [Corporate], [P-Salon], [Public] [SAMBA] comment = Arhive_user path = /mnt/samba public = no writable = no read only = yes guest ok = no valid users = cccp, @administrators write list = cccp, @administrators # read list = cccp, @administrators create mask = 0770 directory mask = 0770 force create mode = 0770 force directory mode = 0770 inherit owner = yes [Arhive] comment = Arhive_user path = /mnt/samba/Arhive public = no writable = no read only = yes guest ok = no valid users = cccp, @administrators write list = cccp, @administrators create mask = 0770 directory mask = 0770 force create mode = 0770 force directory mode = 0770 inherit owner = yes [BTK] comment = no_pass path = /mnt/samba/BTK public = no writable = yes read only = no guest ok = no create mask = 0775 directory mask = 0775 force create mode = 0775 force directory mode = 0775 [Corporate] comment = corporate_user path = /mnt/samba/Corporate public = no writable = no read only = yes guest ok = no valid users = cccp, @administrators, @corporate write list = cccp, @administrators, @corporate create mask = 0770 directory mask = 0770 force create mode = 0770 force directory mode = 0770 inherit owner = yes [P-Salon] comment = all_user path = /mnt/samba/P-Salon public = no writable = no read only = yes guest ok = no valid users = cccp, @administrators, @corporate, @users write list = cccp, @administrators, @corporate, @users create mask = 0770 directory mask = 0770 force create mode = 0770 force directory mode = 0770 inherit owner = yes [Public] comment = no_pass path = /mnt/samba/Public public = no writable = yes read only = no guest ok = no create mask = 0775 directory mask = 0775 force create mode = 0775 force directory mode = 0775 [Ръководство] comment = Arhive_user ### Пояснение за споделения ресурс path = /mnt/samba/ReadMe ### Път до споделения ресурс public = no ### Споделения ресурс е невидим за всеки writable = no ### Не всеки може да пише в споделения ресурс read only = yes ### Споделения ресурс може само да се чете от всеки guest ok = no ### Гости нямат право до споделения ресурс valid users = cccp, @administrators ### Валидирани (име/парола) потребители и групи имащи досъп до споделения ресурс write list = cccp, @administrators ### Потребители и групи имащи право да пишат в споделения ресурс read list = cccp, @administrators ### Потребители и групи имащи право да четат в споделения ресурс create mask = 0770 ### Файловете които се създават в споделения ресурс ще са с маска 0770 directory mask = 0770 ### Папките които се създават в споделения ресурс ще са с маска 0770 force create mode = 0770 ### Принудително файловете които се създават в споделения ресурс ще са с маска 0770 force directory mode = 0770 ### Принудително папките които се създават в споделения ресурс ще са с маска 0770 inherit owner = yes ### Наследява собственика inherit permissions = yes ### Наследява правата на собственика
Рестартираме SAMBA и сме готиви.
service smbd restart
Да проверим и споделените папки:
stat /mnt/samba/ File: /mnt/samba/ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 8,1 Inode: 2 Links: 9 Access: (2770/drwxrws---) Uid: ( 0/ root) Gid: ( 1001/administrators) ### Грешно е, трябва да е root:users Access: 2025-04-07 13:29:01.161411848 +0300 Modify: 2025-04-01 19:10:18.081831588 +0300 Change: 2025-04-01 19:10:18.081831588 +0300 Birth: 2025-03-27 15:54:25.000000000 +0200 stat /mnt/samba/Arhive/ File: /mnt/samba/Arhive/ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 8,1 Inode: 10223617 Links: 16 Access: (2770/drwxrws---) Uid: ( 0/ root) Gid: ( 1001/administrators) Access: 2025-04-07 14:10:46.837396784 +0300 Modify: 2025-04-07 14:10:43.097396806 +0300 Change: 2025-04-07 14:10:43.097396806 +0300 Birth: 2025-03-28 12:44:13.559550482 +0200 stat /mnt/samba/BTK/ File: /mnt/samba/BTK/ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 8,1 Inode: 15466497 Links: 4 Access: (2775/drwxrwsr-x) Uid: ( 0/ root) Gid: ( 100/ users) Access: 2025-04-06 19:00:05.369811867 +0300 Modify: 2025-03-31 19:45:43.794338252 +0300 Change: 2025-03-31 19:45:43.794338252 +0300 Birth: 2025-03-28 12:44:13.559550482 +0200 stat /mnt/samba/Corporate/ File: /mnt/samba/Corporate/ Size: 12288 Blocks: 24 IO Block: 4096 directory Device: 8,1 Inode: 41156609 Links: 38 Access: (2770/drwxrws---) Uid: ( 0/ root) Gid: ( 1002/corporate) Access: 2025-04-08 14:32:24.524869538 +0300 Modify: 2025-04-07 13:59:04.469401007 +0300 Change: 2025-04-07 13:59:04.469401007 +0300 Birth: 2025-03-27 16:00:29.671999127 +0200 stat /mnt/samba/P-Salon/ File: /mnt/samba/P-Salon/ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 8,1 Inode: 58982401 Links: 21 Access: (2775/drwxrwsr-x) Uid: ( 0/ root) Gid: ( 100/ users) Access: 2025-04-07 20:00:11.629270742 +0300 Modify: 2025-04-01 19:59:01.305814014 +0300 Change: 2025-04-01 19:59:01.305814014 +0300 Birth: 2025-03-27 16:07:44.087996515 +0200 stat /mnt/samba/Public/ File: /mnt/samba/Public/ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 8,1 Inode: 3670017 Links: 9 Access: (2775/drwxrwsr-x) Uid: ( 0/ root) Gid: ( 100/ users) Access: 2025-04-07 14:39:51.841386293 +0300 Modify: 2025-04-07 14:39:44.413386337 +0300 Change: 2025-04-07 14:39:44.413386337 +0300 Birth: 2025-03-27 16:00:46.103999028 +0200