更改

跳转至: 导航搜索

CentOS服务搭建-02-samba文件服务

添加17字节, 2020年12月23日 (三) 10:48
无编辑摘要
=安装并启动Samba=
#: * 安装samba<pre>yum -y install samba#: systemctl start smb.service# </pre>* 关闭安全防护#: <pre>vim /etc/sysconfig/selinux#: SELINUX=enforcing 改为 SELINUX=disabled # 关闭selinux#: systemctl disable firewalld.service # 关闭防火墙#: shutdown -r now # 重启使生效# </pre>* 注:## ** 防火墙不关闭,所有节点无法进行挂载。也可以采用:防火墙放行TCP端口:139、445以及UDP端口:137、138。## ** selinux不关闭,无法查看共享文件夹下的文件。
=配置文件共享、用户、samba=
# * 创建共享目录:#: <pre>mkdir /share-jyc# </pre>* 创建用户组和用户:#: <pre>groupadd samba-jyc # samba-jyc组#: useradd -g samba-jyc user123 # samba-jyc 组下的用户 user123#: passwd share123 # user123 的密码设置,两次# </pre>* 添加samba文件的共享用户## ** smbpasswd -a user123 # 系统账户以外添加samba账户,才可以访问共享目录 // 参数说明: -a: 添加 -x: 删除 -d: 禁用 -e: 启用## ** 对于共享目录需要使用chown 添加文件夹的用户权限,比如: chown user123:samba-jyc share-jyc # 给samba-jyc组的user123用户添加权限到share-jyc文件夹# * 修改samba配置#: <pre>vi /etc/samba/smb.conf# </pre>* 内容修改为:* <pre>[global]** workgroup = JYCSAMBA** security = user # smb4.0开始使用** passdb backend = tdbsam** printing = cups** printcap name = cups** load printers = yes** cups options = raw* [homes] # 自定义,windows用户看到的文件夹名称** comment = JYC Server-databackup share # 自定义,windows用户看到的文件夹描述** path = /home/sharejyc** valid users = %S, %D%w%S** browseable = yes** read only = No** inherit acls = Yes** writable = yes** create mask = 0777** directory mask = 0777** force directory mode = 0777 # 未使用** force create mode = 0777 # 未使用</pre>
==smb.conf说明==
* public = no # 是否允许guest访问
* admin users = admin # 指定管理用户
* hosts allow用来指定开放的ip段,当前指定的是对192.168下的所有ip都开放
* 文件权限设置
## <pre> create mask = 0777## directory mask = 0777## force directory mode = 0777## force create mode = 0777</pre>
* <pre>[global]# workgroup = WORKGROUP         //这是工作组,可以添加自己的工作组,我用的是默认的WORKGROUP# security = user                # map to guest = Bad User        //这是samba 4.0版本以后必须设置为user用户,设置为share 然后用testparm检测smb.conf 会报错的 服务也启动不起来# log file = /var/log/samba/log.%m    //log日志及路径 里面记载的用户的登录操作日志# max log size = 50           //日志文件存储的文件最大的大小# unix charset = UTF-8          //在Linux服务器上面的显示编码 如果不知道自己的编码 可以查看下自己的系统编码# display charset = UTF-8        //自己服务器上面的显示编码 一般都是和unix charset查到的一样# guest account = nobody         //访问的用户范围# dos charset = cp936          //Windows端显示的编码# create mask = 777           //赋予权限# directory mask = 777         //赋予权限* [resource]               //这个是Windows上显示的文件夹的名字(共享文件夹)# comment = All Printers       //这个是共享文件夹的说明# path = /home/resource        //共享文件夹的路径# browseable = yes           //是否让所有的使用者都看到这个项目,隐藏目录,但知道目录还是可以访问# guest ok = yes            //是否让来宾用户访问# writable = yes            //是否为可以写入# read only = no            //是否设置为只读</pre>
=用testparm检测配置文件的正确性,有可能会出现下面的错误=
<pre> rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) </pre># * 解决方法:编辑配置文件 vim /etc/security/limits.conf 在里面加入一行配置#:  root <pre>root - nofile 16384</pre>#:  root指root用户 如果想都所有用户生效,把root替换为 * 即可!我是设置的 root指root用户。如果想都所有用户生效,把root替换为“*”即可!我是设置的“* 下面是配置文件内容”。
=启动samba服务并设置自启动=
# <pre>sudo systemctl start smb# sudo systemctl enable smb.service # 设置开机启动# sudo systemctl status smb# testparm</pre>
=防火墙允许samba=
# <pre>firewall-cmd --zone=public --add-port=139/tcp --permanent# firewall-cmd --zone=public --add-port=445/tcp --permanent# firewall-cmd --zone=public --add-port=137/udp --permanent # firewall-cmd --zone=public --add-port=138/udp --permanent # firewall-cmd --permanent --zone=public --add-service=samba # samba服务允许通过防火墙# firewall-cmd --reload# systemctl restart firewalld.service</pre>
=SELinux允许samba=
# <pre>getsebool -a | grep samba # 查看samba状态# setsebool -P samba_enable_home_dirs=1 # 赋予权限# chcon -t samba_share_t /data/share/</pre>
=客户端进行文件挂载=
<pre>
mkdir /share
mount -t cifs //文件服务器ip/public /share -o "username=share,password=xxx"
</pre>
=Windows下更换帐户登陆samba=
<pre>net use \\192.168.1.102\IPC$ /delete # 删除上一次建立的连接</pre>
497
个编辑

导航菜单