RHEL7用samba作为文件服务器

简介: 参考文章:《linux就该这样学》 samba多用户、多组的访问 RedHat7下Samba服务搭建配置实例需求:20多台装有win7系统的计算机访问,有可以共同访问的目录,有各自部门各自访问的目录实验环境:一台笔记本,虚拟机中安装RHEL7        本来是打算用域环境,比较方便,但是是别人的分公司,所以没办法安装域。

参考文章:《linux就该这样学》 samba多用户、多组的访问 RedHat7下Samba服务搭建配置实例

需求:20多台装有win7系统的计算机访问,有可以共同访问的目录,有各自部门各自访问的目录

实验环境:一台笔记本,虚拟机中安装RHEL7

        本来是打算用域环境,比较方便,但是是别人的分公司,所以没办法安装域。查了一会,最后还是选择linux系统中使用samba来操作。

        安装samba:

yum install samba -y

        安装完成后,可以查看samba配置文件(初始配置文件注释很多,可以先备份一下,然后把注释去掉再保存一分文件)

 mv /etc/samba/smb.conf  /etc/samba/smb.conf.bak
 cat /etc/samba/smb.conf.bak |grep -v "#"|grep -v ";"|grep -v "^$" >/etc/samba/smb.conf
 vim /etc/samba/smb.conf

        wKioL1jSPX7yEryYAABHrLm3k6M846.png 

        添加共享目录,smb.conf配置文件添加配置(如上图:[smb])

mkdir /mnt/smb

        重启samba服务

systemctl restart smb.service 
systemctl enable smb.service (开机启动)
systemctl status smb.service (服务状态)

         一开始访问服务器IP会无法访问,是因为系统的防火墙没有设置,CentOS 7 是自带的firewall,CentOS 6 好像是iptables。关闭防火墙命令如下:

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

        关闭防火墙

systemctl disable firewalld.service

        再访问需要输入账号密码,这就需要添加smb账号了,pdbedit命令用于管理SMB服务的独立账号信息,格式:pdbedit [选项] 用户账户

wKioL1jSQD7APMDQAAAoGzXt75g430.png

        首先创建一个系统用户

useradd smb2
pdbedit -a -u smb2

         wKioL1jSQNTB9uxpAABG5mjhZKQ139.png

        再登录可以进入目录了,但是却不能访问,这是selinux的原因

setsebool -P samba_enable_home_dirs on
semanage fcontext -a -t samba_share_t /home/smb1
chown -Rf smb1:smb1 /home/smb1

       关闭selinux

vim /etc/selinux/config
SELINUX=disabled

        这样子就可以访问了。每个用户可以看到自己的专用目录,还有其他的一些共享目录。







登录文件服务器时选择保存凭据,以后就不用再输入账号密码了,如果不选择保存凭据,在关机前都默认保存密码,关机后就无效了。如果你想换账号登录,可以用以下方法,然后稍等一分钟左右再打开,就可以重新填写账户登录了

wKiom1jSO1WjbsNlAAAqJCMybLA599.png



相关文章
|
8月前
|
网络协议 Unix Linux
哇~真的是你呀!今天是LIUNX中的SAMBA
SAMBA是一个开源的软件套件,用于在Linux和UNIX系统上实现SMB/CIFS网络协议。SMB(Server Message Block)是一种用于在计算机网络上共享文件、打印机和其他资源的协议。CIFS(Common Internet File System)是SMB协议的扩展版本,它提供了更高级的功能和安全性。
83 0
|
数据安全/隐私保护 安全 网络协议
|
Linux 数据安全/隐私保护 安全
|
安全 Shell 数据安全/隐私保护
|
安全 Unix 开发工具