centos

CentOS回收站网络共享

小樊
43
2025-09-28 15:59:29
栏目: 智能运维

Configuring a Recycle Bin for Network Shares in CentOS

To implement a recycle bin feature for network-shared folders in CentOS (typically via Samba), follow these structured steps. This ensures deleted files are retained in a structured recovery directory instead of being permanently removed.

1. Install and Enable Samba

First, ensure Samba is installed (required for network sharing) and its dependencies are up to date.

sudo yum install samba samba-client samba-common -y
sudo systemctl start smb
sudo systemctl enable smb

2. Create the Shared Folder and Recycle Bin Directory

Choose a directory to share (e.g., /data/shared) and create a subdirectory for the recycle bin (e.g., .recycle). The recycle bin directory will store deleted files, organized by user (using %U for the username).

sudo mkdir -p /data/shared
sudo mkdir -p /data/shared/.recycle

3. Configure Samba for the Shared Folder

Edit the Samba configuration file (/etc/samba/smb.conf) to define the shared folder and enable the recycle bin feature. Add the following section at the end of the file:

[SharedFolder]
   comment = Shared Folder with Recycle Bin
   path = /data/shared
   browseable = yes
   writable = yes
   valid users = @shared_users  # Replace with your user/group
   create mask = 0775
   directory mask = 0775
   vfs objects = recycle
   recycle:repository = .recycle/%U  # Per-user recycle bin
   recycle:keeptree = yes            # Retain original directory structure
   recycle:versions = yes            # Keep multiple versions of files
   recycle:maxsize = 0               # Unlimited size (set to a value like 100M for limits)
   recycle:exclude = *.tmp|*.log     # Files to exclude from recycle bin

Key parameters:

4. Set Permissions for the Shared Folder

Ensure the shared folder and recycle bin have correct ownership and permissions. Replace shared_users with your actual user/group:

sudo chown -R root:shared_users /data/shared
sudo chmod -R 2775 /data/shared  # Sets SGID to inherit group ownership
sudo chmod -R 1777 /data/shared/.recycle  # Sticky bit: Users can only delete their own files

5. Create a Samba User and Restart Services

Add a Samba user (must be a system user first) and restart Samba to apply changes:

sudo useradd -m shared_user  # Create system user
sudo smbpasswd -a shared_user  # Set Samba password
sudo systemctl restart smb

6. Mount the Shared Folder on a Client (Optional)

To test the shared folder from a Windows client, map it using the UNC path (\\<CentOS_IP>\SharedFolder) and provide the Samba credentials. Deleted files will now appear in the .recycle/<username> directory on the CentOS server.

Key Notes

This setup provides a functional recycle bin for network shares, ensuring data recovery and structured file management.

0
看了该问题的人还看了