快速配置 Samba 将 Linux 目录映射为 Windows 驱动器
2011-11-18 17:51 Mr.大侠 阅读(823) 评论(0) 编辑 收藏 举报yum install samba system-config-samba samba-client samba-common
2、创建www账号
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
mkdir -p /data0/knose/
chmod 777 /data0/knose/
mkdir -p /data0/htdocs/
chown -R www:www /data0/htdocs/
chmod 777 /data0/htdocs/
cat /etc/passwd | mksmbpasswd.sh> /etc/samba/smbpasswd
/usr/sbin/useradd -g www www
mkdir -p /data0/knose/
chmod 777 /data0/knose/
mkdir -p /data0/htdocs/
chown -R www:www /data0/htdocs/
chmod 777 /data0/htdocs/
cat /etc/passwd | mksmbpasswd.sh> /etc/samba/smbpasswd
3、创建samba配置文件
mv -f /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf
vi /etc/samba/smb.conf
输入以下内容:
引用
[global]
server string = Samba Server
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
[knose]
workgroup = root
netbios name = root
path = /data0/knose
browseable = yes
writeable = yes
[web]
workgroup = www
netbios name = www
path = /data0/htdocs
browseable = yes
writeable = yes
server string = Samba Server
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
[knose]
workgroup = root
netbios name = root
path = /data0/knose
browseable = yes
writeable = yes
[web]
workgroup = www
netbios name = www
path = /data0/htdocs
browseable = yes
writeable = yes
4、为samba用户www、root设立一个密码:
smbpasswd -a www
smbpasswd -a root
smbpasswd -a root
5、启动samba:
/sbin/service smb start
\\xxx.xxx.xxx.xxx\
2、Windows 断开 samba 共享连接,在【开始】→【运行】→【cmd】回车中输入:
net use * /del
3、将 samba 共享的 Linux 目录,映射成 Windows 的一个驱动器盘符:
三、跨平台C/C++代码编译、调试:
用 Windows 下的编辑器编写、修改跨平台的C/C++代码,保存后,无需复制到其他地方,即可同时用 Windows 下的 Visual Studio,Linux 下的 g++、gcc、gdb,编译、调试程序了。
注意:在samba共享的驱动器上执行“.bat”批处理脚本,会导致 Windows 蓝屏,这一点需要注意。
安装过程中出现的问题:
1. 启动samba后,/var/log/messages日志里报错(或者执行smbd -Fi -d 2)
bind failed on port 139 socket_addr = 0.0.0.0.
Error = Address already in use
smbd_open_once_socket: open_socket_in: Address already in use
Error = Address already in use
smbd_open_once_socket: open_socket_in: Address already in use
# netstat -anpl|grep mbd
tcp 0 0 :::445 :::* LISTEN 2754/smbd
tcp 0 0 :::139 :::* LISTEN 2754/smbd
p 0 0 192.168.1.83:137 0.0.0.0:* 2757/nmbd
p 0 0 0.0.0.0:137 0.0.0.0:* 2757/nmbd
p 0 0 192.168.1.83:138 0.0.0.0:* 2757/nmbd
p 0 0 0.0.0.0:138 0.0.0.0:* 2757/nmbd
445和139这两端口是在ipv6地址上监听的,并没有在ipv4地址上监听。
tcp 0 0 :::445 :::* LISTEN 2754/smbd
tcp 0 0 :::139 :::* LISTEN 2754/smbd
p 0 0 192.168.1.83:137 0.0.0.0:* 2757/nmbd
p 0 0 0.0.0.0:137 0.0.0.0:* 2757/nmbd
p 0 0 192.168.1.83:138 0.0.0.0:* 2757/nmbd
p 0 0 0.0.0.0:138 0.0.0.0:* 2757/nmbd
445和139这两端口是在ipv6地址上监听的,并没有在ipv4地址上监听。
解决方法1:
# echo 1 > /proc/sys/net/ipv6/bindv6only
# echo "net.ipv6.bindv6only = 1" >> /etc/sysctl.conf
将/proc/sys/net/ipv6/bindv6only设置为0时,smbd将只监听ipv6上的端口。将/proc/sys/net/ipv6/bindv6only设置为1时,smbd将同时监听ipv6和ipv4上的端口。
# echo "net.ipv6.bindv6only = 1" >> /etc/sysctl.conf
将/proc/sys/net/ipv6/bindv6only设置为0时,smbd将只监听ipv6上的端口。将/proc/sys/net/ipv6/bindv6only设置为1时,smbd将同时监听ipv6和ipv4上的端口。
解决方法2:
编辑smb.conf文件,设置bind interfaces only = yes(默认是no)。
2. smb,nmb服务都启动,但是从windows还是无法连接过去。
解决方法:
学习的时候注意关闭安全模块以及防火墙.
1).setsebool -P samba-enable_home_dirs on
2). vi /etc/selinux/configSElinux=disabled
3). iptables -F
2). vi /etc/selinux/configSElinux=disabled
3). iptables -F
==================================================================================================
最近搞了个centos的服务器,但是如果不能进行文件的共享传递,着实麻烦,所以着手安装samba服务,
网上多数是采用rpm安装的,其实联网的话,可以使用yum来安装的,我们就用最简单的方法安装:
1. 使用yum安装
# yum install samba
2. 查看samba安装在了哪里
[root@dev01 ~]# whereis samba
samba: /etc/samba /usr/share/samba /usr/share/man/man7/samba.7.gz
3. 配置/etc/samba/smb.conf
# vi /etc/samba/smb.conf
workgroup=WORKGROUP
hosts allow = 127. 192.168.
[share]
comment=Share
path=/var/samba/share
writable=yes
public=yes
4. 配置的共享目录设置权限
# mkdir /var/samba/share 如刚才配置的共享目录不存在则创建
# chown -R nobody. /var/samba/share 设置共享目录归属为 nobody
# chmod 777 /var/samba/share 将共享目录属性设置为 777
添加samba用户(可以不用加新的用户,如果只是自己用的话)
# smbpasswd -a root
# service smb restart
网上多数是采用rpm安装的,其实联网的话,可以使用yum来安装的,我们就用最简单的方法安装:
1. 使用yum安装
# yum install samba
2. 查看samba安装在了哪里
[root@dev01 ~]# whereis samba
samba: /etc/samba /usr/share/samba /usr/share/man/man7/samba.7.gz
3. 配置/etc/samba/smb.conf
# vi /etc/samba/smb.conf
workgroup=WORKGROUP
hosts allow = 127. 192.168.
[share]
comment=Share
path=/var/samba/share
writable=yes
public=yes
4. 配置的共享目录设置权限
# mkdir /var/samba/share 如刚才配置的共享目录不存在则创建
# chown -R nobody. /var/samba/share 设置共享目录归属为 nobody
# chmod 777 /var/samba/share 将共享目录属性设置为 777
添加samba用户(可以不用加新的用户,如果只是自己用的话)
# smbpasswd -a root
# service smb restart