使用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
完毕