Щоб надати доступ до папки в Ubuntu для локальної мережі, потрібно виконати наступні кроки:
- Створити папку, до якої потрібно надати доступ:
sudo mkdir /path/to/shared/folder
2. Налаштувати права доступу до папки:
sudo chmod -R 777 /path/to/shared/folder
Цей крок надасть всім користувачам на запис та читання до папки.
- Встановити Samba для надання доступу до папки через мережу:
sudo apt-get install samba
4. Відкрити файл конфігурації Samba:
sudo nano /etc/samba/smb.conf
Додати наступні рядки в кінець файлу конфігурації:
[shared]
path = /path/to/shared/folder
read only = no
У цьому прикладі “shared” – це назва розділу, який буде видно на комп’ютерах в мережі. “path” – це шлях до папки, яку потрібно надати доступ. “read only” встановлюється на “no”, щоб дозволити запис до папки.
- Зберегти зміни в конфігураційному файлі та перезапустити службу Samba:
sudo service smbd restart
Після цього папка буде доступна для користувачів в локальній мережі за адресою: smb://ip_address/shared, де “ip_address” – це IP-адреса комп’ютера з Ubuntu, який містить папку.
Додаємо користувачів з різними правами доступу
Для створення користувачів і надання доступу до папок з різним рівнем доступу в Ubuntu, можна використовувати інструмент командного рядка adduser
та налаштування прав доступу до папок з використанням команди chmod
.
Для створення користувачів і надання доступу до папок з різним рівнем доступу в Ubuntu, можна використовувати інструмент командного рядка adduser
та налаштування прав доступу до папок з використанням команди chmod
.
Ось кілька кроків для створення користувачів і налаштування прав доступу до папок:
Створіть нового користувача за допомогою команди adduser
і введіть необхідні дані:
sudo adduser username
Створіть нову папку і встановіть права доступу до неї:
sudo mkdir /path/to/folder
sudo chmod 755 /path/to/folder
Надайте власника папки встановленого користувача і групу, до якої він належить:
sudo mkdir /path/to/folder
sudo chmod 755 /path/to/folder
Додайте іншіх користувачів до групи, щоб надати їм доступ до папки:
sudo usermod -aG groupname otherusername
Встановіть права доступу до папки для інших користувачів:
sudo chmod 755 /path/to/folder
Якщо вам потрібно надати різний рівень доступу для різних користувачів, ви можете використовувати команду chmod
для налаштування рівня доступу до папок залежно від користувача або групи. Наприклад, для надання повного доступу власникам папки і обмеженого доступу для інших користувачів:
sudo chmod 770 /path/to/folder
sudo chown username:groupname /path/to/folder
sudo chmod 750 /path/to/folder
sudo chown username2:groupname /path/to/folder
Ці команди налаштують права доступу до папки згідно з вказаними потребами. За допомогою цих команд можна створити і налаштувати доступ до папок для різних користувачів з різним рівнем доступу в Ubuntu.
У системі Ubuntu права на файли і папки керуються за допомогою системи прав доступу до файлів (File System Access Control), яка використовується у більшості сучасних операційних систем.
Щоб надати права доступу до папки, потрібно спочатку створити користувача, який буде мати доступ до цієї папки. Наприклад, створимо користувача з ім’ям user1
командою:
sudo adduser user1
Далі створимо папку, до якої будемо надавати доступ:
sudo mkdir /var/www/mypage
Для надання прав доступу до цієї папки можна використовувати команду chmod
. Приклади команд для надання різних прав доступу:
- Для надання прав на читання і запис користувачеві
user1
, виконайте:
sudo chmod u+rw /var/www/mypage
Для надання прав на читання, запис та виконання всім користувачам в системі, виконайте:
sudo chmod a+rwx /var/www/mypage
- Цей спосіб не є безпечним, оскільки дає доступ до папки всім користувачам в системі.
- Для надання прав на читання, запис і виконання користувачам, які належать до групи
www-data
, виконайте:
sudo chown -R user1:www-data /var/www/mypage
sudo chmod -R g+rw /var/www/mypage
- У цьому прикладі ми спочатку надаємо власника папки
user1
, а групуwww-data
. Потім ми надаємо права на читання та запис користувачам, які належать до групиwww-data
.
Для перевірки прав доступу до папки можна використовувати команду ls -l
, яка виведе детальну інформацію про файли та папки в поточному каталозі:
ls -l /var/www/mypage
Ця команда виведе список файлів та папок у папці /var/www/mypage
, разом з інформацією про власника, групу, права доступу та іншу інформацію.
Cтворити групу “local folders access”, створити 3 користувача та ще одного з правом тільки читання з папки, створити папку в корені диску D, до якої надати доступ
Для створення групи та користувачів на Ubuntu можна використати команди groupadd
та useradd
. Наприклад, для створення групи “local folders access”, відкрийте термінал та введіть:
sudo groupadd local_folders_access
Для створення користувачів можна використати команду useradd
. Наприклад, для створення 3 користувачів з іменами user1, user2, та user3, введіть таку команду:
sudo useradd -m -G local_folders_access user1
sudo useradd -m -G local_folders_access user2
sudo useradd -m -G local_folders_access user3
Ключ -m створює домашню директорію для користувача, а -G додає користувача до групи. Для створення користувача з правом тільки читання з папки, використайте команду useradd з ключем -s для вказання шелу та ключем -G для додавання користувача до групи з правом читання. Наприклад:
sudo useradd -m -s /bin/false -G local_folders_access read_only_user
У цьому випадку користувач read_only_user має шел /bin/false
та належить до групи local_folders_access
, яка буде мати право читати вміст папки.
Щоб створити папку в корені диску D та надати доступ групі local_folders_access
, введіть таку команду:
sudo mkdir /media/D/folder
sudo chgrp local_folders_access /media/D/folder
sudo chmod 775 /media/D/folder
Ця команда створює папку folder
в корені диску D, надає групі local_folders_access
власництво папки та права на неї, а також дозволяє читання, запис та виконання папки для користувача та групи. Користувачі, які не належать до групи local_folders_access
, матимуть тільки право на читання папки.
зробити зведення користувачів, де вказано хто і до яких ресурсів має дозволи з якими правами, вивести в таблицю
Щоб зробити зведення користувачів з дозволами на ресурси в Ubuntu, можна скористатись командою getfacl
, яка дозволяє отримати список дозволів на папки та файли. Ця команда виводить детальну інформацію про дозволи, включаючи користувачів та групи, які мають доступ до файлу або папки, а також їхні права.
Для створення зведення користувачів та їхніх дозволів можна використати такий скрипт:
#!/bin/bash
# Створити групу "local folders access"
sudo groupadd local_folders_access
# Створити 3 користувачів та надати їм дозволи на папку /mnt/diskD/
sudo useradd user1
sudo useradd user2
sudo useradd user3
sudo mkdir -p /mnt/diskD/
sudo chown root:local_folders_access /mnt/diskD/
sudo chmod 2770 /mnt/diskD/
sudo setfacl -m u:user1:rwx,g:local_folders_access:rwx /mnt/diskD/
sudo setfacl -m u:user2:rwx,g:local_folders_access:rw /mnt/diskD/
sudo setfacl -m u:user3:rx,g:local_folders_access:r /mnt/diskD/
# Створити користувача, який має право на читання папки /mnt/diskD/
sudo useradd read_only_user
sudo setfacl -m u:read_only_user:r,g::r /mnt/diskD/
# Вивести зведення користувачів та їхніх дозволів у вигляді таблиці
getfacl -R /mnt/diskD/ | awk -F ":" '{print $1}' | uniq | sed 's/^.//' | while read -r user; do echo -n "$user"; printf "\t"; getfacl -R /mnt/diskD/ | grep "$user:" | awk -F ":" '{print $3}' | sed 's/(//g' | sed 's/)//g' | sed 's/^[ \t]*//'; done | awk '{ printf("%-20s %-10s %-10s %-10s\n", $1, $2, $3, $4); }'
Опис роботи скрипту:
- Створити групу “local folders access” командою
sudo groupadd local_folders_access
. - Створити 3 користувачів командами
sudo useradd user1
,sudo useradd user2
таsudo useradd user3
. - Створити папку
/mnt/diskD/
командоюsudo mkdir -p /mnt/diskD/
. - Надати групі “local folders access” права