CentOS 7下安装samba

Samba是一种软件,它可以运行在非Windows平台上,比如UNIX, Linux, IBM System 390, OpenVMS或其他操作系统。Samba使用安装在主机上的TCP/IP协议。当正确配置完成后,Samba可以使主机与Windows客户端或服务器交互,这台主机就好像变成了Windows的文件和打印服务器。

 

配置好samba之后就可以在windows下编写代码,提交代码,然后在linux环境下编译代码。

 

安装步骤如下:

1.安装samba

yum install samba

(ubuntu下面可以用apt-get install 来安装)

安装完成之后可以用

rpm -qa|grep samba 命令来验证是否安装成功。

 

2.配置samba

修改samba的配置文件。在修改配置文件之前,记得要把配置文件备份一份,养成良好习惯。

使用cp(复制命令)进行备份

cp /etc/samba/smb.conf /etc/samba/smb.conf_backup

然后编辑这个配置文件

vim /etc/samba/smb.conf

 

在配置文件的最后加上

[workspace]

path=/workspace

browseable=yes

writeable=yes

guest ok=yes

 

[workspace]包含的名称是windows中显示的文件目录

 

保存

 

使用testparm测试一下配置文件的语法

 

3.重启samba

service smb restart

 

4.建立一个共享目录

mkdir /workspace

 

5.访问

这个时候可能访问不到,可能是防火墙的原因,

Samba用到了下列端口:

1)Port 137 (UDP) - NetBIOS 名字服务 ; nmbd

2)Port 138 (UDP) - NetBIOS 数据报服务

3)Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)

4)Port 389 (TCP) - 用于 LDAP (Active Directory Mode)

5)Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)

6)Port 901 (TCP) - 用于 SWAT,用于网页管理Samba

 

一般只要打开139端口就可以了。

编辑iptables配置文件,

vim /etc/sysconfig/iptables

将139端口加上去,重启iptables,

/etc/init.d/iptables restart

 

再次访问共享目录,访问是能访问了,不过需要密码

这个时候就要在smb.conf里面做一些更改,

在security = user下面加上

map to guest = Bad User

重启samba。再访问共享目录,可见能显示文件夹了

但是还是不能进入文件夹

因为linux不允许修改此文件夹,这个时候可以用以下命令

chcon -t samba_share_t /workspace

将workspace标记为samba_share_t,就可以打开文件夹了。

但是现在还不能在文件夹中创建文件,这个是因为匿名用户没有相关权限

查询一下nobody在系统中的属性

id nobody

通过chown命令将匿名用户加上去,chown nobody:nobody /workspace

(chown的作用是改变相关目录文件夹的拥有者及群组,chown nobody:nobody /workspace,是将workspace的拥有者变成nobody匿名用户)

或者

chmod 777 /workspace

chmod命令,全称是change file mode bits,使用ls –l可以查看所有文件的属性情况

drwxr-xr-x 中 第一个表示类型,d表示目录directory,第二到第四rwx表示拥有者有读写运行权限,第五到第七r-x表示拥有者所在的组有读和运行权限但没有写入权限,第八到第十r-x表示其他用户有读和运行权限但没有写入权限

至此创建共享目录就完成了。

 

posted @ 2018-05-09 19:00  poisson_notes  阅读(384)  评论(0编辑  收藏  举报