init
This commit is contained in:
commit
c5cd492449
475 changed files with 27928 additions and 0 deletions
98
technology/applications/web/Samba.md
Normal file
98
technology/applications/web/Samba.md
Normal file
|
@ -0,0 +1,98 @@
|
|||
---
|
||||
obj: application
|
||||
website: https://www.samba.org
|
||||
aliases: ["SMB"]
|
||||
---
|
||||
# Samba
|
||||
Samba is an open-source software suite that provides seamless interoperability between [Linux](../../linux/Linux.md)/Unix servers and [Windows](../../windows/Windows.md)-based clients. It allows file and print services to be shared across a mixed network of [Windows](../../windows/Windows.md), [Linux](../../linux/Linux.md), and [macOS](../../macos/macOS.md) systems.
|
||||
|
||||
## Configuration
|
||||
You configure samba with the file `/etc/samba/smb.conf`
|
||||
|
||||
### Structure:
|
||||
The `smb.conf` file is structured into sections, each containing key-value pairs that define specific configurations. The sections are enclosed in square brackets (`[]`). The most commonly used section is `[global]`, which contains global settings applying to the entire Samba server. Other sections define individual shares or specific configurations.
|
||||
|
||||
### Common Sections:
|
||||
1. **\[global]:**
|
||||
- Contains global configurations applicable to the entire Samba server.
|
||||
2. **\[sharename]:**
|
||||
- Custom sections for defining specific shares.
|
||||
|
||||
### Global Options
|
||||
```ini
|
||||
[global]
|
||||
# Workgroup
|
||||
workgroup = WORKGROUP
|
||||
# User needs to logon before connection
|
||||
security = user
|
||||
# Server description
|
||||
server string = descriptive string
|
||||
# Set minimum protocol to SMB3
|
||||
server min protocol = SMB3_00
|
||||
# Encrypt passwords in connection
|
||||
encrypt passwords = yes
|
||||
# ReadWrite Raw
|
||||
read raw = Yes
|
||||
write raw = Yes
|
||||
```
|
||||
|
||||
|
||||
### Share Options
|
||||
```ini
|
||||
[MyShare]
|
||||
# Set share to readonly
|
||||
read only = no
|
||||
# Filesystem path
|
||||
path = /my/share
|
||||
# Users allowed to access this share
|
||||
valid users = user
|
||||
# Enable the share to be seen when connecting
|
||||
browseable = yes
|
||||
# Enable writing to the share
|
||||
writeable = yes
|
||||
# File and Directory permissions for creation.
|
||||
create mode = 0750
|
||||
directory mode = 0750
|
||||
```
|
||||
|
||||
#### Recycle Bin
|
||||
To enable a recycle bin on your share, add this to the config:
|
||||
```ini
|
||||
# Enable recycle bin
|
||||
vfs object = recycle
|
||||
# Set recycle bin location
|
||||
recycle:repository = /my/share/.Trash
|
||||
# Directory permissions
|
||||
recycle:directory_mode = 0750
|
||||
# Keep the directory structure when something is deleted
|
||||
recycle:keeptree = Yes
|
||||
recycle:touch = Yes
|
||||
# Set max file size
|
||||
recycle:maxsize = 100000000
|
||||
# Enable versioning
|
||||
recycle:versions = no
|
||||
# Exclude files from versioning
|
||||
recycle:noversions = *.ini | *.dat
|
||||
# Exclude from recycle bin
|
||||
recycle:exclude = *.TMP | *.tmp | ~$*.doc
|
||||
recycle:exclude_dir = tmp | temp | cache
|
||||
```
|
||||
|
||||
#### Snapshots
|
||||
If you want to expose snapshots (for example from [ZFS](../../linux/filesystems/ZFS.md)), add this config:
|
||||
```ini
|
||||
# Enable snapshots
|
||||
vfs object = shadow_copy2
|
||||
# Directory which holds the snapshots (relative to share)
|
||||
shadow:snapdir = .zfs/snapshot
|
||||
# Snapshot format (date and time)
|
||||
shadow:format = SNAP_%Y.%m.%d-%H.%M.%S
|
||||
# Snapshot sorting
|
||||
shadow:sort = desc
|
||||
```
|
||||
|
||||
|
||||
## User Authentication
|
||||
### 1. **User Mapping:**
|
||||
- Samba maps local system users to SMB users. Use the `smbpasswd` command to set passwords for SMB users.
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue