分类
Linux 笔记

架设samba服务器

今天老大说要弄一个文件服务器,给技术部同事用,以后也可能当做公司资料库。之前是有做FTP共享的,但是不能直接打开Excel等文件,而且其他部门的同事只熟悉windows共享。即然是上面交待下来的,自然要开干了。我选择用来开发的服务器(CentOS 6)来做,目前上面只做了代码管控和运行开发共享的数据库。

首先检查一下磁盘,空间都不大。即然做文件服务器,空间不能太少。服务器上的磁盘是5块128G的磁盘组成磁盘阵列,一共640G。现在还有许多空间没有划分,所以决定划出200G用来存储文件。输入 fdisk /dev/sda ,使用fdisk对磁盘进行操作,键入 n 分区,划出204814M的空间。然后回到主界面键入 w 保存退出,发现设备资源被占用,如图:

01

输入 reboot 重启电脑,问题解决。

这样便得到一个200G的分区了,在设备里是sda7。现在进行格式化,输入:mkfs -t ext4 /dev/sda7,把新分区格式化ext4格式。

02

然后在根目录下建一个samba目录用来挂载分区:mount /dev/sda7 /samba/

为了能让磁盘在开机时自动挂载,把它写在fstab文件里。首先用 blkid /dev/sda7 得到分区的UUID,然后添加到fstab,如图:

03

这样就能实现开机自动挂载了。

磁盘搞定后开始安装samba了,我采用的是yum安装,很简单:yum intall samba 。我的需求是让所有人不需要密码也能访问,并对目录有读写权限。在samba文件夹下建立一个名为it的文件夹(因为不排除以后给其他部门使用,所以文件夹分开比较好),编辑配置文件/etc/samba/smb.conf,把 security = user 改为 security = share ,在最后一行加上:

[技术]
comment = Public Stuff
path = /samba/it
read only = yes
public = yes
writable = yes

保存退出。输入 service smb start 启动samba。

使用windows访问,发现可以看到共享的文件夹,但一直提示提示没有权限。于是把 /samba 目录权限设置为755,把 /samba/it 目录的所有者设为 nobody

chmod 755 /samba
chown nobody:nobody /samba/it

设置完后发现问题依旧。这个原因我找了很久,最后发现是selinux引起的,默认情况下selinux不允许samba共享。seliunx本是为安全设计的,但常常引发各种奇怪问题,使用 setenforce 0 可以临时关闭。然后再试,正常了。

刚才只是临时关闭selinux,若要完全禁用,只需编辑配置文件 /etc/sysconfig/selinux ,把 SELINUX=enforcing 改为 SELINUX=disabled 即可。输入 chkconfig –levels 345 smb on ,samba服务便可以在开机时自动加载了。

服务器上我是关闭了iptables防火增的,若不能访问还可能是防火墙引起,输入 service iptables stop 即可关闭防火墙。永久关闭防火墙服务可以使用: chkconfig –levels 345 iptables off 。防火墙排除规则设置不是今天的主要问题,就不做记录了。

发表评论

电子邮件地址不会被公开。