Linux软件-Samba共享文件
1、前言
Samba 是一种用来让Linux操作系统与Windows操作系统,以SMB / CIFS(服务器消息块/通用Internet文件系统)网络协议做链接的自由软件。不仅可访问及分享SMB的文件夹及打印机,还可以使用Windows Server的域控功能,成为域控制器以及域成员。 我将以 ubuntu 20.04 服务器版本进行设置。
2、软件安装
1)切换到root执行安装命令
apt-get install samba
2)查看samba版本
samba -V(超过3.0的版本,才有加域功能)
3)创建共享目录,用户用户组并配置权限
4)编写配置文件
vi /etc/samba/smb.conf
5)重启Samba服务使配置生效
service smbd restart
在ubuntu系统下需要安装samba-client和cifs-utils,才可使用samba共享文件 apt-get install smbclient apt-get install cifs-utils
可能需要设置防火墙
ufw disable //关闭防火墙
ufw enable //开启
ufw status //查看状态
guest登录
smbclient -L 192.168.100.105 -N
用户登录
smbclient -L 192.168.100.105 -U name
映射Linux共享文件
smbmount //192.168.100.105/file /mnt/file -o username=name
映射Windows共享文件
mount -t cifs -o username=aaaaa,password=123456,vers=2.0 //192.168.100.105/text /mnt/share
3、共享文件
1)创建目录
mkdir /home/samba/share chmod 777 /home/samba/share
2)配置文件
share模式
所有的用户都可以直接访问不需要用户名和密码,相当于Windows的everyone。
找到[Global],添加或修改security
[Global]
security = share
user模式
使用时,需要samba用户和密码才能访问。
[global]
security = user
说明:writable=yes允许写入,当我们需要限制只有被允许用户有写入权限时,这条命令就要删除,因为该条命令权限大于你对单个用户的限制。
(1) 查看用户
pdbedit -L
(2) 修改密码
smbpasswd user
(3) 删除用户
smbpasswd -x user
(4)创建用户(随后可输入密码)
smbpasswd -a user
4、samba配置及说明
常见的samba配置及说明:
[share] # 该共享的共享名
comment = smb share test # 共享备注
path = /home/share # 共享路径
allow hosts = host(subnet) # 设置服务器允许的工作组或者域
deny hosts = host(subnet) # 设置服务器拒绝的工作组或者域
available = yes|no # 设置共享目录是否可用
browseable = yes|no # 设置共享目录是否隐藏
writable = yes|no # 指定目录是否可写,也可以用readonly = no来设置可写
public = yes|no # 指明共享目录是否能给游客帐号访问,guest ok = yes和public = yes可达到相同效果
user = user, @group # 设置使用共享资源的用户,用户组,多个用户可用空格或者逗号隔开
valid users = user, @group # 能够使用该共享资源的用户和组
invalid users = user, @group # 不能使用该共享资源的用户和组
read list = user, @group # 只能读取该共享资源的用户和组
write list = user, @group # 能读写该共享资源的用户和组
admin list = user, @group # 能管理该共享资源(包括读写和权限赋予等)的用户和组
hide dot files = yes|no # 指明是否隐藏以“.”号开头的隐藏文件
create mode = 0755 # 指明新建的文件的属性,一般是0755
directory mode = 0755 # 指明新建的目录的属性,一般是0755
sync always = yes|no # 对该共享资源进行写操作后是否进行同步操作
short preserve case = yes|no # 是否区分文件名大小写
preserve case = yes|no # 是否保持大小写
case sensitive = yes|no # 是否对大小写敏感,一般选no,不然可能引起错误
mangle case = yes|no # 是否混合大小写
default case = upper|lower # 指定缺省的文件名是全部大写还是小写
force user = test # 强制把新建的文件的拥有者是谁。如果有一个共享目录,guest可以写,那么guest就可以删除,如果用force user= test强制在此目录下新建的文件的拥有者是test,同时限制create mask = 0755,这样guest就不能删除这个新建的文件
wide links = yes|no # 是否允许共享非共享资源,比如共享文件中有个文件指向非共享的文件或者目录,如果设置wide links = no将使该文件就不可用
max connections = 100 # 设定最大同时连接数
delete readonly = yes|no # 指明能否删除共享资源里面已经被定义为只读的文件。
相关推荐
-
PHP8种变量类型的详细讲解2025-02-22 00:32:24
-
php+apache 和 php+nginx的区别2025-02-22 00:21:27
-
PHP:与workerman结合实现定时任务2025-02-22 00:15:57
-
Nginx的Rewrite规则与实例2025-02-22 00:15:39
-
MySql中身份证字段的简单脱敏介绍2025-02-22 00:15:36