使用Samba为Linux(CentOS7)创建“共享文件夹”

为测试服务器添加Samba服务

Samba服务是一个用于Linux文件共享的服务,可以理解为“Linux的共享文件夹”。在Windows上能够直接访问被共享的目录。

例如访问192.168.1.3的home目录,可以直接在Windows的文件管理器的路径上输入\\192.168.1.3\quantum。当然,如果你不确定该访问哪一个共享目录,你可以只输入\\192.168.1.3,查看所有的共享目录

| 服务器IP | Samba账号 | Samba密码 |
| 192.168.1.3 | Linux账号(例如whqt) | 123456 |
| | | |
| | | |

使用Samba的好处,拷贝日志、拷贝编辑配置文件都可以直接在Windows下进行,甚至可以直接在Windows下使用Visual Studio打开服务器上的代码工程进行开发,即便服务器重启,也不会造成影响。

安装配置Samba服务

安装Samba

yum install samba

配置Samba

为Samba添加用户和密码

#这里添加的用户必须是本机已有的Linux用户
 smbpasswd -a whqt

开机启动Samba服务

由于CentOS7采用了比较严格的权限管理和访问控制(iptable、SELinux),这些都会影响到Samba服务器的运行,考虑到服务器位于公司内网,相对比较安全,因此直接在开机阶段就将这些服务禁掉

CentOS7采用chkconfig来管理服务

chkconfig脚本模板

每个被chkconfig 管理的服务需要在脚本加上两行或者更多行的注释

  • 告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。例如:# chkconfig: 2345 55 25
  • 对服务的描述

服务脚本需要实现start,stop,restart,status参数的功能,简单来说需要实现如下功能:

case $1 in
    start)    do_start;;
    stop)     do_stop;;
    restart)  do_restart;;
    status)
            echo "Status of $DESC: "
            check_status
            exit "$?"
            ;;
   *)

一个完整的脚本

#!/bin/bash
# chkconfig: 2345 55 25
#description: the environment init script
# useage manual
# add to system config
#   chkconfig --add xyd_init.sh
#   chkconfig --level 345 xyd_init.sh on
# start the service
#   service xyd_init.sh start
#   service xyd_init.sh stop
#   service xyd_init.sh restart
#   service xyd_init.sh status

do_start_EX() {
    setenforce 0
    service iptables stop
    service smb restart
    echo "sambda service start success"
}

do_start() {
    do_start_EX
}

do_stop_EX() {
    service smb stop
    echo "sambda servoce stopped"
}

do_stop() {
    do_stop_EX $i
}

do_restart() {
    do_stop
    do_start
}

check_status() {
    echo "do nothing"
}

case $1 in
    start)    do_start;;
    stop)     do_stop;;
    restart)  do_restart;;
    status)
            echo "Status of $DESC: "
            check_status
            exit "$?"
            ;;
   *)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac

-

添加服务到chkconfig

将脚本拷贝到/etc/init.d/目录下, 并添加可执行权限chmod +x 服务脚本

执行如下命令将服务脚本添加到chkconfig进行管理

chkconfig --add 服务脚本
chkconfig --level 2345 服务脚本 on

至此就完成了服务开机启动的配置

手动启动chkconfig管理的服务

就像启动任何一个普通服务那样

sudo service xyd_init.sh start

完毕

相关推荐