美文网首页Linux
linux6-samba服务器&SSH工具

linux6-samba服务器&SSH工具

作者: lvvl | 来源:发表于2016-05-02 16:57 被阅读271次

    一、samba服务的安装和配置

        1、
            linux与非linux之间文件的共享
            
            NFS能使Linux主机之间实现资源访问,
            而SAMBA服务软件能够使windows与linux之间实现资源共享
    
            SMB通信协议采用的是C/S结构,SAMBA软件可分阶段客户端及服务端两部分,通过执行SAMBA客户端程序,linux主机便可以使用网络上的windows主机所共享的资源,
    
        2、安装步骤
            # yum -y install samba samba-client samba-common
            安装完成后运行 rpm -qa | grep "samba",确保都安装成功了。
            
        3、samba配置
            假设我们有这样一个场景
    
            共享名     路径  权限
            SHAREDOC    /smb/docs   所有人员包括来宾均可以访问
            RDDOCS      /smb/tech   仅允许特定组的用户进行读写访问
    
            准备工作:
            创建共享目录(假设共享/smb目录下的文件)
                # mkdir -p /smb/docs
                # mkdir -p /smb/tech
             
            //创建操作系统用户
                # useraddalice
                # useraddjack
                # useradd tom
                # useradd RD
              
            //修改用户的组
                # usermod -aG RD alice
                # usermod -aG RD jack
                # usermod -aG RD tom
                账号创建完以后检查用户所属组,确保每个用户所属组都有1003 RD 
                # id alice
                uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)
                # id jack
                 
                uid=1001(jack) gid=1001(jack)groups=1001(jack),1003(RD)
                # id tom
                 
                uid=1002(tom) gid=1002(tom)groups=1002(tom),1003(RD)
                # id RD
                 
                uid=1003(RD) gid=1003(RD)groups=1003(RD)
            // 将用户添加到samba中
                pdbedit -a username    #username必须是linux中存在的,然后会提示设置密码,最好和原username密码一致
                pdbeditd -L             #可以查看samba中的用户,登录共享目录时,
                                                如果在弹出登录账号和密码,只有加入到了samba用户中的用户才能登陆,
                                                当然如果没有弹出登录账号和密码,也就是匿名登陆
    
            //修改目录权限
                # chgrp RD /smb/tech
                # chgrp RD /smb/docs
                # chown RD /smb/tech
                # chown RD /smb/docs
                # chmod 770 /smb/tech
                # chmod 770 /smb/docs
             
                修改完成后再检查一下文件夹权限
                # ls /smb -l
             
            //备份原有的配置文件在原目录下
                # cd /etc/samba
                # cp smb.conf smb.conf.origin
             
             
            # vi/etc/samba/smb.conf
                gg然后dG,全部删除
            删除原有所有内容,添加如下内容:
            [global]
              workgroup=WORKGROUP
              netbios name=centos7-lvvl
              server string=Samba Server
              #security=share
              security=user
              map to guest = Bad User
            [SHAREDOCS]
              path=/smb/docs
              read only=yes
              browseable=yes
              guest ok=yes          #访问此共享目录时匿名,不会弹出登陆信息,
            [RDDOCS]
              path = /smb/tech/
              public = no
              writable = yes
             
              write list = @RD    @RD:RD这个组的所有用户,指明哪些用户可以写入,默认是有读取功能
              valid users = @RD    #有效用户,只有在RD组中的才是有效用户,[RDDOCS]中的设置只有效用户有效,也只有有效用户才能登入
            4.检查smb.conf的配置
                一定要检查下,可用 testparm命令,smb启动不了,很可能是配置文件中写错了,一定记得检查
    
                    testparm--help
                        用法:[选项...]<配置文件>[主机名] [主机IP]
                          -s,--suppress提示符抑制提示输入
                          -v,--verbose显示默认选项过多
                          -l,--skip-逻辑检查跳过全球检查
                           - 显示,所有参数的显示参数,类型,可能的值
                          --parameter名= STRING限制testparm给定参数
                          --section名= STRING限制testparm来命名的节
    
                        帮助选项:
                           - ?,--help显示此帮助信息
                          --usage显示简要的使用消息
    
                        常见的samba选项:
                          -V,--version打印版本
    
                        常见的samba调试:
                          -d,--debuglevel= DEBUGLEVEL设置调试级别
    
                        常见的samba命令行配置:
                          在命令行--option=名称=值设置的smb.conf选项
            4. 防火墙和SELinux
                关闭防火墙
                    systemctl stop firewalld        
                    systemctl disable firewalld     #开机禁用防火墙
                关闭SELinux
                    vi /etc/selinux/config
                        改成SELINUX=disable 
            5. 重启服务
                RedHat Liunx都是用service restart smb来重启的,在CentOS里面服务的操作都是用systemctl来完成了。
                运行下面命令:
                    #  systemctl restart smb
                    # systemctl reload smb
                    # systemctl status smb
                最后这条命令是检查状态的。       
                Active:active(running)就可以
    
    
    
                重要参数:
                    共享资源的基本设置   /etc/samba/smb.conf
    
                    security:   share/user/server/domain
                        share:不需要用户名和密码,匿名登录
                        user:需用户名和密码
                        server: 用户名和密码在指定的一台samba上验证,验证错误,客户端会用user级别访问
                        domain:服务器加入window域环境,验证工作由windows域控制器负责。
                        ads:使用ads安全级别加入到windows域环境中,包含有domain级别中的所有功能,可以具备域控制器的功能。
    
                        security设为user时,samba服务器必须创建一些用户名和密码供客户端登录使用,这些帐号必须是linux系统中存在的用户,并且这些账号要加入到samba服务中,可用pdbedit - a添加linux中已有用户到samba中
                            1:pdbedit:管理samba 用户数据库的一个工具
                                pdbedit -a username 增加一个samba用户
                                pdbedit -x samba_user 删除用户
                                pdbedit -L 查看创建的samba用户
                            当用户登录时,其在共享文件夹里的权限是其所用帐号在samba所在linux中的权限
                            用户也可不用登录,如果共享目录中有设置guest ok = yes,就不会登陆,优先级比全局中更高
    
                        注意:
                             在新的版本中,比如centos7 , security = share 是禁用的。security=share is deprecated
                            解决方法:
                                [global]
                                security = user
                                map to guest = Bad User
                            不过,一但改成share,samba就启动不了,可能centos7有更改,最好不要改成share,
    
                    valid users: 指定了用户或组,就要登入samba用户账号  
                    available    设置是启用共享资源
                        available = yes  启用
                        available = no  不启用
                    public:     yes,默认是可匿名访问,
                                no,要登入samba用户账号,不公开,如果指定有效用户,除了指定的有效用户外,其它用户都无法访问
                    guest ok:   是否允许用户不使用账号和密码访问资源,默认不指明是匿名访问。
                        guest ok = yes,允许
                        guest ok = no,不允许,
                        注意,如果同时又指定有效用户,除了指定的有效用户外,其它用户都无法访问
                    comment     针对共享资源所做的说明文字,在win中,光标停留在共享文件夹上时,
                                会弹出文本框,上面显示comment的内容。默认值为空字符串,不设置不影响使用,
                    path     或共享的资源是目录,就指定该目录的位置
                        path = /tmp  共享/tmp目录
                    hosts allow   设置连接主机的地址
                        hosts allow = 192.168.0.1 server.abc.com   允许来自192.168.0.1或server.abc.com的主机访问path共享文件
                    hosts deny   设置禁止连接主机的地址
                        hosts deny = 192.168.0.1 server.abc.com   不允许来自192.168.0.1或server.abc.com的主机访问path共享文件
                    read only   设置共享文件是否只读,一般文件默认是可读,具体登入的samba账户对文件有没有可读权限,具体看文件对不同用户的权限
                        read only = yes   允许只读
                        read only = no    不仅仅只读,可读还可写
                        如果访问共享资源的用户,有写的权限,旦是此处又要求只读,些read only优先级更高
                    writable    设置是否允许写入
                        writable = yes  允许写入
                        writable = no  不允许写入
                    browseable   设置用户是否可看到地共享资源
                        browseable = yes  允许
                        browseable = no  不允许
    
    
            win系统断开samba服务网络连接:
                win客户端机器(开始->运行->输入cmd)在dos下输入命令net use * /delete /y
                    就可以断开所有网络用户的链接了。
                如果登录的时候勾选了保存用户,就(开始->运行->输入control keymgr.dll,在弹出的对话框中选择你samba服务器的主机名删除即可。
    
            实战:
                6.1 向公众开放 Linux文件资源,来访者只有读权限。
                    [public Linux]              #在vim下,[]内如果格式错误,颜色是白色,访问时会出错,格式不要出现特殊字符,像\/等
                    comment=public stuff
                    path = /
                    read only = yes
                    public = yes                #公开,不弹出登入框
                    
                6.2 共享CD-ROM
                    修改smb.conf之前,先安装光驱,可执行下列命令:
                        mount /dev/sr0 /mnt/cdrom
                    
                    然后定制samba,内容如下:
                        [cdrom]
                        path = /mnt/cdrom
                        ready only = yes
                        public= yes
                6.3 为多个用户提供服务
                    [more man]
                    comment = userl’sstuff,user2’sstuff,user3’sstuff
                    path = /home/user1 (用户userl的主目录)
                    valid users = user1 user2 user3
                    public = no (除了user1,user2,user3外不向公众用户开放)
                    writable = yes (三用户对/home/user1中的文件有写权限)
                    printable = yes (允许打印)   #如果找不到打印机,不会访问不了,内部可能先确定有无打印机,在弹出登入框
                6.4 向公众用户开放/dev目录,浏览设备类型。
                    [dev]
                    comment = open and browse the /dev directory
                    path = /dev (路径为/dev)
                    ready only = yes (只读)
                    public = yes (公众共享)
    

    二、SSH工具(SecureCRT工具不错)

        ssh工具原理:
            linux默认安装sshd服务(带d的一般都是守护进程),默认启动,监听端口22
    
        上传
            rz 
        下载
            sz  linux中文件全路径

    相关文章

      网友评论

        本文标题:linux6-samba服务器&SSH工具

        本文链接:https://www.haomeiwen.com/subject/zpslrttx.html