• Linux服务 SAMBA


    Linux服务 SAMBA
        smb,Service Message Block
        CIFS,Common Internet File System,windows之间达成通信的系统,类似于于Linux中的NFS;
            监听于137/udp,138/udp,139/tcp,445/tcp;
                其中137和138是用来实现NetBIOS(网络基本输入输出系统)的,这个NetBISO就是Wendows基于主机名实现互相访问通信的机制;也就是我们在网上邻居中看见的都是主机名而不是IP地址,但是这个名称并不是由DNS那种解析而得来的,它是NetBIOS为了区分主机而自己使用的另外一种主机名,我们可以称它为”NetBISO name”;那么它是怎么解析从而让各个主机互相了解的呢?当我们第一次打开网上邻居的时候,会发现特别的慢,这是因为它是通过广播的方式来完成各个主机之间的信息交换(IP地址和NetBISO名称之间的对应关系的)的;注:NetBISO名称只支持15个字符;
            所以想要实现linux与windows通信,就需要在linux中实现NetBISO和CIFS;还有我们知道在windows中还有个域的概念,这个samba也是支持的;
        服务:
            nmbd:实现了netbios
            smdb:实现了cifs
            winbindd:实现了将linux加入到windows中的ab中,如果windows没有使用域的话就无需启动,所以默认是关闭的;
        UNC路径格式:\SERVERshared_name
        Linux上的smb客户端:smbclient
            -L:获取指定主机(ip地址)上的全部共享资源;
            -U:用户名
            例子:smbclient -L 192.168.102.130 -U test
                smbclient -L //192.168.102.130/tools -U test
        基于挂载的方式访问:
            mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD
        服务器:
            yum install samba -y
            服务脚本:
                /etc/rc.d/init.d/nmb
                /etc/rc.d/init.d/smb
            主配置文件:”#”开头的为注释,”;”开头的为可启用的选项;
                /etc/samba/smb.conf
                全局设定[global]:所有的共享所共用的选项;
                    workgroup:指定工作组;类似于windows中的工作组;
                    server string:指定连接samba时的显示信息;
                    netbios name:指定本机的netbios名称,如果不指定就是本机主机名的第一段(.之前的那部分);
                    interfaces:指定samba服务监听的网卡或网卡地址,如果不指定则监听所有地址;
                    hosts allow:指定白名单,也就是仅允许来自哪里的来访问(基于IP地址的访问控制);
                    security=user:表示访问samba时需要提供用户名密码;
                    passwd backend=tdbsam:密码的存放格式;
                某特定共享的设定:
                    帐号家目录[home]:关于每个用户的家目录的设定;
                        comment:指定注释信息;
                        browseable:是否可以被其他人浏览(发现);
                        writable:是否可写;
                        
                    打印机[printers]:samba是支持共享打印机的;
                        
                    自定义共享[shared_name]:自定义共享目录的设定;
                        path = /path/to/share_dir:指定共享路径;
                        guest ok:是否允许来宾帐号访问;
                        public:类似上面的选项,是否公开;
                        writable:是否可写;
                        read only:是否为只读;同上面的一同设置时,最后一个生效;不建议同时使用,没啥必要啊!
                        write list:具有写权限的用户列表;可以是用户名(user_name)也可以是组名(@group_name);
                        例子:
                            [shared]
                                comment = My shared Testing.
                                path = /shared/samba
                                read only = No
                                guest ok = Yes
                    编辑完配置文件之后可以使用testparm命令检查语法是否正确并且现实最终生效的配置;然后重启nmb和smb服务;
            samba用户:
                用户:都是系统用户
                密码:并不是/etc/shadow中的密码,samba服务自有密码文件存储密码;
                所以我们要给samba添加用户时,要先在系统中添加这个用户,再将这个用户添加到samba服务中;
                    命令为:smbpasswd
                        -a:添加一个用户;
                        -d:禁用某个用户;
                        -e:启用某个用户;
                    例子:smbpassswd -a user1
                启动服务:
                    service nmb start
                    service smb start
                在windows中网络选项里输入用户名密码即可进入用户在linux中的家目录;
            关于权限的问题:
                当我们在samba中设置完各种访问权限后,不要忘记linux系统本身文件系统的权限(rwx);
        一个图形的配置界面:
            基于web服务提供的图形界面,他自己就提供web服务;因为访问量很少,所以使用了xinetd代为管理;
            yum install samba-swat.x86_64
            安装完之后会在/etc/xinetd.d/中生成一个swat文件,我们需要进入文件中将disable设置为no并且其中only_from选项指定了可以登陆的地址,默认为本机,所以不支持远程登陆,这样做是为了提高安全性,因为登陆swat时默认是使用root登陆的,所以我们在本地登陆以后将root密码更改之后,再将其更换为其他地址,从而实现远程登陆;
                例子:
                service swat
                {
                    port            = 901
                    socket_type     = stream
                    wait            = no
                    only_from       = 192.168.102.0/24
                    user            = root
                    server          = /usr/sbin/swat
                    log_on_failure  += USERID
                    disable         = no
                }
            启动服务:
                service xinetd start
                在浏览器键入:192.168.102.128:901即可,然后输入操作系统中的root及其密码;


                    我们可以通过图片中的password选项,更改root帐号的密码,还可以通过shares设置共享目录,设置完成以后点击Commit Changes按钮,它会直接覆盖之前配置文件中的设置,在配置文件中生成新的配置;

        注:根据马哥视频做的学习笔记,如有错误,欢迎指正;侵删;

  • 相关阅读:
    vector详解
    浅谈 莫斯电码&栅栏密码
    牛牛的BRD迷宫2 构造+思维
    Codeforces Round #409 C. Voltage Keepsake(二分+思维)
    hdu 2609 How many(最小表示法)
    hdu 4513(Manacher)
    codeforces 486 E. LIS of Sequence(dp)
    codeforces 486 D. Valid Sets(树形dp)
    hdu3746(kmp最小循环节)
    poj 2406 Power Strings(kmp next的应用)
  • 原文地址:https://www.cnblogs.com/guowei-Linux/p/11072875.html
Copyright © 2020-2023  润新知