Samba是一个开源软件套件,允许Linux/Unix系统与Windows系统进行文件和打印机共享。以下是设置Samba文件共享的详细步骤:
sudo apt update
sudo apt install samba
sudo yum install samba
# 或者对于较新版本
sudo dnf install samba
编辑Samba的主配置文件:
sudo nano /etc/samba/smb.conf
在文件末尾添加以下内容(根据您的需求修改):
[shared]
comment = Shared Folder
path = /srv/samba/shared
browsable = yes
writable = yes
guest ok = no
valid users = @sambashare
create mask = 0660
directory mask = 0770
[shared]
: 共享名称,客户端将看到这个名称path
: 共享的本地目录路径browsable
: 是否在网络中可见writable
: 是否可写guest ok
: 是否允许匿名访问valid users
: 允许访问的用户或组create mask/directory mask
: 新建文件和目录的权限sudo mkdir -p /srv/samba/shared
sudo chown nobody:nogroup /srv/samba/shared
sudo chmod 1777 /srv/samba/shared # 对于公共可写共享
# 或者对于受限制的共享:
sudo groupadd sambashare
sudo chgrp sambashare /srv/samba/shared
sudo chmod 2770 /srv/samba/shared
# 首先确保用户已存在系统用户(如已有则跳过)
sudo useradd -M -s /usr/sbin/nologin username
# 添加Samba用户密码(与系统密码分开)
sudo smbpasswd -a username
# 在systemd系统上:
sudo systemctl restart smbd nmbd
# 或者
sudo systemctl restart smb
# 在较旧的系统上:
sudo service smbd restart
sudo service nmbd restart
# 对于UFW (Ubuntu):
sudo ufw allow samba
# 对于firewalld (RHEL/CentOS):
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
testparm # 测试配置文件语法是否正确
在文件资源管理器中输入:
\\linux-server-ip\shared
smbclient //linux-server-ip/shared -U username
# 或挂载到本地目录
sudo mount -t cifs //linux-server-ip/shared /mnt/samba -o username=username
[public]
comment = Public Share
path = /srv/samba/public
browsable = yes
writable = yes
guest ok = yes
create mask = 0666
directory mask = 0777
[restricted]
comment = Restricted Share
path = /srv/samba/restricted
valid users = @sambashare
writable = yes
create mask = 0660
directory mask = 0770
通过以上步骤,您应该能够在Linux系统上成功设置Samba文件共享服务。