什么是samba服务?

用于Windows和linux系统之间实现共享文件的目的服务

如何配置其服务?

Linux端: 搭建服务

  1. 安装samba

yum install -y samba

  2. 配置个人网盘服务(这里还有配置大家都可以访问的网盘内容,叫公有,后说)

    # 不需要修改任何配置 

    a. 添加登录网盘的用户,这个用户必须是 linux系统的用户

useradd beimenchuixue -s /sbin/nologin

    b. 通过smbpasswd添加一个samba用户并设置密码

smbpasswd -a beimenchuixue

    c. 启动samba服务并且加入开机自启动

/etc/init.d/smb start
chkconfig smb on

Windows端: 连接samba服务

  1. 我的电脑,右键,映射网络驱动器

    

  2. 输入 \\linux主机ip地址\samba用户,勾选上其他凭证连接

    # 首先windows能与linux通信,并且linux关闭selinux和防火墙放行samba服务

    

  3. 输入设置的密码

    

  4. 连接完成后,可以像本地磁盘一样打开,写入数据

    # 在Windows下向这个网盘写入数据,都会压缩为该用户对应linux用户的权限

Samba公有网盘搭建

Linux端: 修改相关配置文件

  1. 修改配置文件,其配置文件位置: /etc/samba/smb.conf

cp  /etc/samba/smb.conf{,$(date +%F)}
sed -i "s/security = user/security = share/g" /etc/samba/smb.conf
sed -i '$a [company]\
comment=share file\
path=/company\
public=yes\
writable=yes' /etc/samba/smb.conf

    # 还有其他相关配置,公有的总会带来安全问题

    # comment= 设置共享注释

    # path= 设置共享目录的物理路径

    # public=yes|no   设置资源是否能给游客账号访问

    # valld user=@group_name,user_name 设置允许哪些合法组和用户访问

    # browseable=yes|no 设置该共享为隐藏共享

    # writable=yes|no 设置是否允许客户端写入数据

    # hosts allow=     设置允许访问该共享的合法网段或ip

    # printable=yes|no 接打印机

  2.  限制上传的目录权限为755,文件权限为644

sed -i " /\[company\]/a \    create mask = 0644\n\
force create mode = 0644\n\
directory mask = 0755\n\
force directory mode = 0755\
" /etc/samba/smb.conf

  3. 创建共享目录,授权写权限,在linux相当于其他人

mkdir /company
chmod -R o+w /compay

  4. 重启samba服务

/etc/init.d/smb restart

Window端: 连接samba服务

  1. 连接samba服务,注意把上面的用户名换为模块company

    

# 至此,samba服务搭建完成,samba有两种安全验证,一种是share一种是user

# 注意创建公有网盘服务时候,不能有samba网盘用户,需要使用smbpasswd -x username删除已经添加的所有smb用户,不删除会在Windows端写入数据时候会卡住

# 既然作为一个公有盘,做报表展示或其他通知相关信息展示,可以在linux端收回这个company目录的其他人的写权限

一键搭建samba私有网盘

#!/bin/sh

# author: beimenchuixue
# email: 422083556@qq.com
# blog: http://www.cnblogs.com/2bjiujiu/ . /etc/init.d/functions login_password="123456"
login_user="beimenchuixue"
model="workspace"
samba_conf_file="/etc/samba/smb.conf" install_samb() {
yum install -y samba &> /dev/null
[ $? -eq 0 ] && {
action "samb server install is" /bin/true
} || {
action "samb server install is" /bin/false
exit 1
}
}
# install_samb add_samba_user() {
id $login_user &> /dev/null
[ $? -eq 0 ] || {
useradd $login_user -s /sbin/nologin
}
action "samba_user is" /bin/true
}
# add_samba_user install_expect() {
yum install -y expect &> /dev/null
[ $? -eq 0 ] || {
action "install_expect is" /bin/false
exit 2
}
action "install_expect is" /bin/true
}
# install_expect set_user_pwd() {
`which expect` <<jia
set timeout -1 spawn smbpasswd -a $login_user
expect {
"*password:" {send "${login_password}\r";exp_continue}
}
jia
[ $? -eq 0 ] && {
action "set password is" /bin/true
} || {
action "set password is" /bin/false
exit 3
}
}
# set_user_pwd init_start_smb() {
/etc/init.d/smb restart &> /dev/null
chkconfig smb on
action "start smb is" /bin/true
}
# init_start_smb main() {
install_samb
add_samba_user
install_expect
set_user_pwd
init_start_smb
}
main

  

linux_samba服务安装的更多相关文章

  1. Linux下MongoDB服务安装

    Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  2. Nginx服务安装配置

    1.Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.Nginx由于出色的性能,在世界范围内受到了越来越多人的关注,其特点是占有 ...

  3. Windows服务安装与卸载

    Windows服务安装与卸载,使用到了InstallUtil.exe 安装: c: cd "C:\Windows\Microsoft.NET\Framework\v4.0.30319&quo ...

  4. Spring boot centos7 后台服务安装部署

    Spring boot 应用服务安装部署(maven工程) 1.首先在maven工程的pom文件中引入以下标签并保存 <build> <plugins> <plugin& ...

  5. win server服务安装

    从一台机子的服务移到我的测试环境中: 1.copy 100pC上的服务目录(d:\...)到13PC中

  6. 开源服务专题之------sshd服务安装管理及配置文件理解和安全调优

    本专题我将讨论一下开源服务,随着开源社区的日趋丰富,开源软件.开源服务,已经成为人类的一种公共资源,发展势头可谓一日千里,所以不可不知.SSHD服务,在我们的linux服务器上经常用到,很重要,涉及到 ...

  7. Linux环境VNC服务安装、配置与使用

    前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netca图像化进行建库和创建监听(如果使用脚本建库另说),如果您身体好估计可以在瑟瑟发抖的机房中完成数据库的创建过程,由于本 ...

  8. 【VNC】Linux环境VNC服务安装、配置与使用

     [VNC]Linux环境VNC服务安装.配置与使用 2009-06-25 15:55:31 分类: Linux   前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netc ...

  9. windows 服务安装脚本拾遗

    转自:http://blog.csdn.net/susubuhui/article/details/7881096 1.安装脚本 echo 请按任意键开始安装客户管理平台的后台服务 echo. pau ...

随机推荐

  1. vscode 开发工具

    做开发两年了,而我记忆力不太好,所以写代码得靠强大的编辑器提示. 陆陆续续使用了如 notepad++.dreamweaver.sublime text.webstorm.phpstorm.Atom等 ...

  2. zookeeper leader选举算法源码

    服务器状态 在QuorumPeer中有定义,这个类是一个线程. LOOKING:寻找Leader状态.处于该状态时,它会认为当前集群中没有Leader,进入选举流程. FOLLOWING: LEADI ...

  3. C#学习笔记-策略模式

    题目:做一个商场收银的小程序,可能会出现的情况包括:正常收费,九折优惠,七折优惠,满300减50等各种不同随时会变化的优惠活动. 界面如下: 分析: 首先我们对于收钱写一个父类CashSuper.这个 ...

  4. webshell 生成工具 b374k

    还在为不会写webshell而感到心累?还在为webshell有后而不敢用?? b374k,我们首先去github下载b374k https://github.com/b374k/b374k.git ...

  5. 谈谈Grunt,NPM,Gulp

    随着前端工程化的趋势,产生了越来越多的构建工具,而其中比较优秀的就是grunt,npm,gulp,今天我来说说这三者间的区别以及他们的优缺点. 相信一般前端开发者选择构建工具的时候,更多的是看个人习惯 ...

  6. Java Socket获取本机的InetAddress实例

    package com.immooc;/* * InetAddress类 */import java.net.InetAddress;import java.net.UnknownHostExcept ...

  7. 常见 Java 异常解释(恶搞版)

    常见 Java 异常解释:(译者注:非技术角度分析.阅读有风险,理解需谨慎o(╯□╰)o) java.lang ArithmeticException 你正在试图使用电脑解决一个自己解决不了的数学问题 ...

  8. Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2)(A.暴力,B.优先队列,C.dp乱搞)

    A. Carrot Cakes time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...

  9. 哈密顿绕行世界问题(dfs+记录路径)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2181 哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) ...

  10. android企业级商城源码、360°全景图VR源码、全民直播源码等

    Android精选源码 [新版]Android技术博客精华汇总 开源了:乐乐音乐5.0-Android音乐播放器 android实现仿真水波纹效果源码 360°全景图VR,这是一个值得把玩的APP a ...