CentOS 7.2 安装配置Samba服务器
1背景
转Linux刚刚1年,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境,
看同事是(Windows)Source Insight + WinSCP + Linux 开发,来回同步文件有点麻烦,所以想尝试搭个Samba服务器做共享文件。
不过希望以后还是要转到vim上来。
2环境
CentOS系统
- [root@min-base ~]# cat /etc/redhat-release
- CentOS Linux release 7.2. (Core)
Samba服务器
- [root@min-base ~]# rpm -qi samba
- Name : samba
- Epoch :
- Version : 4.4.
- Release : .el7
- Architecture: x86_64
- Install Date: Sun Dec :: PM CST
- Group : System Environment/Daemons
- Size :
- License : GPLv3+ and LGPLv3+
- Signature : RSA/SHA256, Mon Nov :: AM CST, Key ID 24c6a8a7f4a80eb5
- Source RPM : samba-4.4.-.el7.src.rpm
- Build Date : Mon Nov :: PM CST
- Build Host : worker1.bsys.centos.org
- Relocations : (not relocatable)
- Packager : CentOS BuildSystem <http://bugs.centos.org>
- Vendor : CentOS
- URL : http://www.samba.org/
- Summary : Server and Client software to interoperate with Windows machines
- Description :
- Samba is the standard Windows interoperability suite of programs for Linux and
- Unix.
3安装
- [root@base ~]# yum -y install samba samba-client
4配置
进入samba配置目录
- [root@base ~]# cd /etc/samba/
备份smb.conf
- [root@base samba]# mv smb.conf smb.conf.origin
新建smb.conf
- [root@base samba]# vim smb.conf
内容如下,保存并退出
- [global]
- workgroup = WORKGROUP
- server string = Ted Samba Server %v
- netbios name = TedSamba
- security = user
- map to guest = Bad User
- passdb backend = tdbsam
- [FileShare]
- comment = share some files
- path = /smb/fileshare
- public = yes
- writeable = yes
create mask = 0644
directory mask = 0755- [WebDev]
- comment = project development directory
- path = /smb/webdev
- valid users = ted
- write list = ted
- printable = no
- create mask = 0644
- directory mask = 0755
注释:
workgroup 项应与 Windows 主机保持一致,这里是WORKGROUP
security、map to guest项设置为允许匿名用户访问
再下面有两个section,实际为两个目录,section名就是目录名(映射到Windows上可以看见)。
第一个目录名是FileShare,匿名、公开、可写
第二个目录吗是WebDev,限定ted用户访问
默认文件属性644/755(不然的话,Windows上在这个目录下新建的文件会有“可执行”属性)
创建用户
- [root@base samba]# groupadd co3
- [root@base samba]# useradd ted -g co3 -s /sbin/nologin
- [root@base samba]# smbpasswd -a ted
- New SMB password:
- Retype new SMB password:
- Added user ted.
- [root@base samba]#
注意这里smbpasswd将使用系统用户。设置密码为1
创建共享目录
- [root@base samba]# mkdir -p /smb/{fileshare,webdev}
- [root@base samba]# chown nobody:nobody /smb/fileshare/
- [root@base samba]# chown ted:co3 /smb/webdev/
注意设置属性,不然访问不了。
启动Samba服务,设置开机启动
- [root@base samba]# systemctl start smb
- [root@base samba]# systemctl enable smb
- Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
- [root@base samba]#
开放端口
- [root@base samba]# firewall-cmd --permanent --add-port=/tcp
- success
- [root@base samba]# firewall-cmd --permanent --add-port=/tcp
- success
- [root@base samba]# systemctl restart firewalld
- [root@base samba]#
或者直接把防火墙关了也行。
5使用
本机测试
可以使用testparm测试samba配置是否正确
- [root@base samba]# testparm
- Load smb config files from /etc/samba/smb.conf
- rlimit_max: increasing rlimit_max () to minimum Windows limit ()
- Processing section "[FileShare]"
- Processing section "[WebDev]"
- Loaded services file OK.
- Server role: ROLE_STANDALONE
- Press enter to see a dump of your service definitions
- # Global parameters
- [global]
- netbios name = TEDSAMBA
- server string = Ted Samba Server %v
- map to guest = Bad User
- security = USER
- idmap config * : backend = tdb
- [FileShare]
- comment = share some files
- path = /smb/fileshare
- guest ok = Yes
- read only = No
- [WebDev]
- comment = project development directory
- path = /smb/webdev
- create mask = 0644
- valid users = ted
- write list = ted
- [root@base samba]#
root用户的话,不用密码可直接查看samba服务器情况
- [root@base samba]# smbclient -L localhost
- Enter root's password:
- Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.]
- Sharename Type Comment
- --------- ---- -------
- FileShare Disk share some files
- WebDev Disk project development directory
- IPC$ IPC IPC Service (Ted Samba Server 4.4.)
- Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.]
- Server Comment
- --------- -------
- Workgroup Master
- --------- -------
- [root@base samba]#
Linux访问
Samba服务端配置
- [root@min-base webdev]# vim /etc/samba/smb.conf
内容如下
- [global]
- workgroup = WORKGROUP
- server string = Samba Server Version %v
- netbios name = MYSERVER
- security = user
- passdb backend = tdbsam
- [tvms]
- path = /root/tvms-test
- public = yes
- valid user = root
- writeable = yes
- printable = no
- create mask =
- directory mask =
在局域网内另外一台机器上,
挂载目录
安装cifs
- [root@min-base ~]# yum -y install cifs-utils
挂载smb目录
- [root@min-base ~]# mkdir /mnt/tvms
- [root@min-base ~]# mount //192.168.118.133/tvms /mnt/tvms
- Password for root@//192.168.118.133/tvms: *
- [root@min-base ~]# df -Th
- Filesystem Type Size Used Avail Use% Mounted on
- /dev/mapper/centos-root xfs 18G 988M 17G % /
- devtmpfs devtmpfs 479M 479M % /dev
- tmpfs tmpfs 489M 489M % /dev/shm
- tmpfs tmpfs 489M 6.7M 483M % /run
- tmpfs tmpfs 489M 489M % /sys/fs/cgroup
- /dev/sda1 xfs 497M 117M 381M % /boot
- tmpfs tmpfs 98M 98M % /run/user/
- //192.168.118.133/tvms cifs 18G 8.5G 9.1G 49% /mnt/tvms
- [root@min-base ~]# ll /mnt/tvms/
- total
- drwxr-xr-x. root root Dec : suricata-3.1.
- -rw-r--r--. root root Dec : suricata-3.1..zip
- [root@min-base ~]#
输入密码:1
卸载目录
- [root@min-base mnt]# umount /mnt/tvms/
如果出现
- umount: /mnt/tvms: target is busy.
- (In some cases useful info about processes that use
- the device is found by lsof() or fuser())
可以使用fuser卸载
- [root@min-base ~]# yum -y install psmisc
- [root@min-base ~]# fuser -m -v -i -k /mnt/tvms
- USER PID ACCESS COMMAND
- /mnt/tvms: root kernel mount /mnt/tvms
- root ..c.. bash
- Kill process ? (y/N) y
- Connection closed by foreign host.
- Disconnected from remote host(192.168.118.132) at ::.
- Type `help' to learn how to use Xshell prompt.
- [c:\~]$
- Connecting to 192.168.118.132:...
- Connection established.
- To escape to local shell, press 'Ctrl+Alt+]'.
- WARNING! The remote SSH server rejected X11 forwarding request.
- Last login: Wed Dec :: from 192.168.118.1
- [root@min-base ~]# umount /mnt
- [root@min-base ~]# df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/mapper/centos-root % /
- devtmpfs % /dev
- tmpfs % /dev/shm
- tmpfs % /run
- tmpfs % /sys/fs/cgroup
- /dev/sda1 % /boot
- tmpfs % /run/user/
自动挂载目录
- [root@min-base ~]# vi /etc/fstab
添加如下内容
- //192.168.118.133/tvms /mnt/tvms cifs defaults,username=root,password=1 0 0
重新挂载
- [root@min-base ~]# mount -a
- [root@min-base ~]# df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/mapper/centos-root % /
- devtmpfs % /dev
- tmpfs % /dev/shm
- tmpfs % /run
- tmpfs % /sys/fs/cgroup
- /dev/sda1 % /boot
- tmpfs % /run/user/
- //192.168.118.133/tvms 18307072 8819380 9487692 49% /mnt/tvms
- [root@min-base ~]#
Windows访问
1)在Windwos资源管理器访问
访问路径里填上: \\${Samba服务器的IP} ,然后回车,可以看见共享的目录。
FileShare是可以匿名访问的,可以访问、新建、删除文件。
这里拖进去一个txt文件,可以在Linux上看见该文件。
2)映射网络驱动器
右边的WebDev目录是需要密码访问的
这里演示一下映射该目录为网络驱动器。
“桌面” 右键单击“此电脑”,选择“映射网络驱动器”
在文件夹位置填写该共享文件的网络路径,这里是\\192.168.118.132\WebDev
勾选“使用其他凭据连接”,点“完成”。
填写用户密码
在我的电脑可以看见该网络驱动器(Y)
这里可以放源码工程,然后用Windows下的IDE打开、编辑,再在Linux编译、运行。
enjoy it~
以后有需求再补充Linux挂载samba共享目录、权限配置等等。
6参考文献
配置samba服务器,中加入了security=share,但是testparm输出的信息里没有这一条,客户机也无法访问
CentOS 7.2 安装配置Samba服务器的更多相关文章
- CentOS 7安装配置Samba服务器
CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...
- CentOS 7安装配置Samba服务器(挂载共享文件夹)
CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...
- centOS下yum安装配置samba
centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...
- CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)
准备篇: CentOS 6.6系统安装配置图解教程 http://www.osyunwei.com/archives/8398.html 1.配置防火墙,开启80端口.3306端口 vi /etc/s ...
- CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)
CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: /etc/init.d/iptables stop #关闭防火墙 关闭SELINUX vi /etc/sel ...
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
这篇文章主要介绍了CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)的方法,需要的朋友可以参考下 文章写的不错,很详细:IDO转载自网络: 准备篇: 1.配置防火墙,开启 ...
- CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- CentOS 6.3安装配置LAMP服务器(Apache+PHP5+MySQL)
准备篇: 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp -- ...
- linux上安装配置samba服务器
linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...
随机推荐
- 在db2数据库上模拟死锁场景 还是z上的
如果条件允许,起两个线程互相抢资源就行了,但问题是,时间上还需要同步,要做到完美控制,还得加其他逻辑,忒费事,所以可以用下面的办法: 在目标表上直接加个锁……简单,粗暴,直接……很好…… LOCK T ...
- 【django】京东等大型网站的混合搜索是怎么实现的?
混合搜索在各大网站如京东.淘宝都有应用,他们的原理都是什么呢?本博文将为你介绍它们的实现过程. 混合搜索的原理,用一句话来说就是:关键字id进行拼接. 混合搜索示例: 数据库设计: 视频方向: cla ...
- Oracle 11g新特性延迟段创建和truncate的增强
下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...
- MySQL 相关
Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别.该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统. 但是该引擎不支持FULLT ...
- 关于EF的一个简单Demo
今天使用EF的时候很奇怪的问题,添加属性后,使用程序包管理器控制台的NuGet命令更新无效,于是做了这个测试,一次性写好,自动更新,看看效果 1.首先建立一个MVC项目 2.我们选择Intern ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 第一章
Asp.Net MVC4 + Oracle + EasyUI 第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...
- DEV express 对Gridview某行的元素赋值
1:获取选中的行某列的值 string colValue= this.gridView1.GetRowCellValue(this.gridView1.FocusedRowHandle, this.g ...
- winform公共标签和常用属性
公共控件 1.Button(按钮): Enabled :确定是否启用控件 Visible:确定控件是否可见 2.CheckBox(多选项) CheckListBox -(多选项列表)可用CheckBo ...
- 关于datatime 时间处理模块:
import time from datetime import datetime from datetime import timedelta aHour= ...
- Web前端:11个让你代码整洁的原则
写Web页面就像我们建设房子一样,地基牢固,房子才不会倒.同样的,我们制作Web页面也一样,一个良好的HTML结构是制作一个美丽的网站的开始,同样的,良好的CSS只存在同样良好的HTML中,所以一个干 ...