Ubuntu中安装和配置samba文件服务,实现Windows和Mac访问linux目录
安装samba
sudo apt install samba samba-common cifs-utils
创建共享目录
创建共享文件夹
cd /data
mkdir share
将文件夹属性设置为777
sudo chmod 777 share
samba配置文件
备份smb.conf配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
配置smb.conf配置文件
sudo vim /etc/samba/smb.conf
在Debugging/Accounting处添加如下代码
security = user
屏幕快照 2018-06-29 19.16.04.png
smb.conf文件末尾添加如下代码
[chai_share]
comment = my share directory
path = /data/share
browseable = yes
writable = yes
create mask = 0644
directory mask = 0755
available = yes
browseable = yes
public = yes
valid users = chai, @chai
sync always = yes
max connections = 100
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes
屏幕快照 2018-06-29 19.16.28.png
新建访问共享资源的用户和设置密码
输入如下命令,输入两次密码后给用户配置密码成功,并将该用户添加到smb组
useradd chai
sudo smbpasswd -a chai
输入以下命令重启samba服务
sudo service smbd restart && sudo /etc/init.d/samba restart
windows访问共享文件夹
在windows下按下快捷键Win + R,输入你的Linux服务器的IP地址:xx.xx.xx.xx
\xx.xx.xx.xx
输入刚才创建的用户samba和密码成功访问共享文件夹
Mac访问共享文件夹
-
方法一:
打开Finder(或在桌面),输入快捷键Command + K,可以得到以下页面:
image
在smb://后面输入你的IP地址
image
输入你的账户和密码,即可访问samba共享文件 -
方法二(开机自动挂载samba共享文件)
首先在
image/etc/auto_master
文件下添加如下信息,如图所示:然后创建
image/etc/auto_smb
文件,输入信息:最后重启电脑,即可实现自动挂载
smbpasswd 命令的用法
smbpasswd -a 添加用户(要添加的用户必须是系统用户)
smbpasswd -d 冻结用户(限制该用户访问共享文件)
smbpasswd -e 恢复用户(解冻用户)
smbpasswd -n 把用户的密码设置成空(要在global中写入 null passwords -true)
smbpasswd -x 删除用户(将该用户从smb组中排除)
samba 配置文件详解
create mask = 0755 # 指明新建立的文件的属性,一般是0755
directory mask = 0755 # 指明新建立的目录的属性,一般是0755
comment = smb share test # 该共享的备注
path = /home/share # 共享路径
allow hosts = host(subnet) # 设置该Samba服务器允许的工作组或者域
deny hosts = host(subnet) # 设置该Samba服务器拒绝的工作组或者域
available = yes|no # 设置该共享目录是否可用
browseable = yes|no # 设置该共享目录是否可显示
writable = yes|no # 指定了这个目录缺省是否可写,也可以用readonly = no来设置可写
public = yes|no # 指明该共享资源是否能给游客帐号访问,guest ok = yes其实和public = yes是一样的
user = user, @group # user设置所有可能使用该共享资源的用户,也可以用@group代表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 # 指明是否像UNIX那样隐藏以“.”号开头的文件
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 = testuser # 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了
wide links = yes|no # 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用
max connections = 100 # 设定最大同时连接数
delete readonly = yes|no # 指明能否删除共享资源里面已经被定义为只读的文件
网友评论