开发者社区> 科技探索者> 正文

菜鸟学Linux 第067篇笔记 samba, cifs

简介:
+关注继续查看

菜鸟学Linux 第067篇笔记 samba, cifs




ftp 应用层

无法直接在远程服务器上编辑文件(并非不可以,只是实现起来难)


nfs

而此可以

rpc(Remote Procedure Call)


但上述两者都只可以linux之间文件共享使用 ftp虽然可以实现跨平台但是无法直接编辑文件



CIFS/SMB 

CIFS (Common Internet File System)

SMB (Service Message Block)

NetBIOS (Network Basic Input/Output System)

WINNS 用来解析windows的主机名

UNC  \\IP\shared_path

Universal Naming Convention


此为windows文件共享





在Linux/Unix 实现 Samba 软件

NetBIOS

CIFS/SMB

Winbind

LDAP

即可实现和Windows互相通信,实现文件共享,并可直接在其目录内实时编辑



NetBIOS

137/udp 138/udp 139/tcp

445/tcp 共享文件



Samba

用户认证

使用linux上的系统用户,但是密码却是samba单独保存的密码

也可以使用第三方服务器认证

安全级别

User 必须输入用户名密码

Share  可以匿名访问


共享名不可同名(同台主机)

共享权限,文件系统权限

是否允许看到此文件目录


samba 进程

nmbd NetBIOS

smbd 文件共享

winbind 和域结合使用


/etc/rc.d/init.d/smb 服务脚本

/etc/samba

smb.conf 主配置文件



主配置文件解析 /etc/samba/smb.conf

[global]

workgroup

server string 用户鼠标停在主机上所显示的内容

log file 根据用户访问分别保存日志信息目录

max log

[home]

comment 注释信息

browseable 是否允许其它用户看到此目录

writable




共享一个目录

[shared name]

comment = 

path =

browseable =

public =

read only =

writable =

write list = user1,user2.. 

 @group +group

valid users =

invalid users =



命令

testparm (check an smb.conf configuration file for internal correctness)

smbpasswd (change a user's SMB password)

-a

           This option specifies that the username following

           should be added to the local smbpasswd file, with the

           new password typed (type <Enter> for the old

           password). This option is ignored if the username

           following already exists in the smbpasswd file and it

           is treated like a regular change password command.

           Note that the default passdb backends require the

           user to already exist in the system password file

           (usually /etc/passwd), else the request to add the

           user will fail.

           This option is only available when running smbpasswd

           as root.

    -x

           This option specifies that the username following

           should be deleted from the local smbpasswd file.

           This option is only available when running smbpasswd

           as root.

    -d

           This option specifies that the username following

           should be disabled in the local smbpasswd file. 

    -e

           This option specifies that the username following

           should be enabled in the local smbpasswd file, if the

           account was previously disabled.

    -n

           This option specifies that the username following

           should have their password set to null (i.e. a blank

           password) in the local smbpasswd file.


smbclient (ftp-like client to access SMB/CIFS resources on servers)

-L|--list

           This option allows you to look at what services are

           available on a server. You use it as smbclient -L

           host and a list should appear.

    -U|--user=username[%password]

           Sets the SMB username or username and password.

           If %password is not specified, the user will be

           prompted.



samba 基于IP的访问控制

iptables

tcp 139, 445

udp 137, 138

samba /etc/samba/smb.conf

hosts allow


samba-swat

web GUI 基于web来配置samba

# yum -y install samba3x-swat

# service xinetd restart (默认开启)

# chkconfig swat on

# service xinetd restart

# vim /etc/xinetd/swat

only_from       = 192.168.11.100(修改为指定地址访问)

# service xinetd restart

此时便可用此客户端192.168.11.100访问该地址了

192.168.11.122:901



实现linux共享文件夹供windows访问

共享一个目录/shared/test

共享名叫tools



配置安装samba

1. 安装samba

# rpm -e samba-client samba-common

# yum -y install samba3x samba3x-client samba3x-common


2. 配置共享

# mkdir -pv /shared/test

# vim /etc/samba/smb.conf

添加至尾部

[tools]

comment = Share Testing

path = /shared/test

public = yes

writable = yes

# testparm

# service smb start

# netstat -tunlp

# useradd smbtest

# passwd smbtest

# smbpaddwd -a smbtest

# setfacl -m u:smbtest:rwx /shared/test/

(服务器端配置完成)


客户端(windows)连接Linux共享目录

\\192.168.11.122 

输入用户名密码即可访问(注意密码是smbpasswd所指定的密码)

也可以做成映射网络驱动器,这里就不详细写出过程




配置windows共享让linux来连接此共享


1.配置windows共享文件夹(这里就不说了,你懂得)

配置共享名字为test

主机地址为192.168.11.121

用户名为winuser

密码为123123

2.配置linux访问windows共享文件夹

查看某windows主机的共享信息

# smbclient -L 192.168.11.121 -U winuser

将windows共享的文件夹挂载至/mnt目录下

# mount -t cifs //192.168.11.121/test /mnt -o username=winuser

添加开机挂载此文件系统

# vim /etc/fstab

//192.168.11.121/test /mnt cifs credentials=/etc/samba/cred.passwd 0 0

# vim /etc/samba/cred.passwd

username=winuser

password=123123

# chown root.root /etc/samba/cred.passwd

(到此便配置完成)

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1888057如需转载请自行联系原作者

Winthcloud

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23576 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
13567 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20687 0
5488
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载