精华内容
下载资源
问答
  • linux与windows共享文件

    2016-07-07 12:58:10
    用于linux与windows相互共享访问   1.安装软件包三个 samba 服务文件(smdb、nmbd服务) samba-common 主程序配置文件(如/etc/samba/smb.conf) samba-Client 提供其他linux作为samba客户端时对samba的访问 查看...
    一、简单SMB服务
    用于linux与windows相互共享访问
     
    1.安装软件包三个
    samba 服务文件(smdb、nmbd服务)
    samba-common 主程序配置文件(如/etc/samba/smb.conf)
    samba-Client 提供其他linux作为samba客户端时对samba的访问
    查看软件包完整:rpm -qa | grep samba
     
    2.samba服务的配置
    vi /etc/samba/smb.conf
    [global]全局设置
    security = user/share (登陆方式以用户验证/无验证)
    usershare allow guest = yes (表示以guest身份登陆)
     
    [suse]自定义目录名
    comment = 目录短文本
    phat = /suse 路径为根目录下的suse目录
    read only = yes 只读(与writable冲突)
    writable = yes
     
    3.samba服务的启停
    services smb start 命令方式启动
    etc/init.d/smb restart 脚本方式重启
     
    4.samba用户
    原则:1、必须是系统有的用户useradd suse  创建用户suse
          2、使用已有用户创建smb用户smbpasswd -a suse 创建smb用户suse
          3.cat /etc/samba/sampasswd 创建是smb用户suse在其中可见
     
    5.目录权限
    chmod 777 /suse 让suse用户有访问suse目录的权限
     
    ======================================================================================在配置samba服务的时候遇到的问题:
    1.samba安装好后,没有smbpasswd文件
    原因:samba启用了tdbsam认证方式,必须将其求改为smbpasswd认证方式
    解决方法:修改/etc/samba/smb.conf文件
    将其中的passdb backend = tdbsam改为passdb backend = smbpasswd
    并添加smb passwd file = /etc/samba/smbpasswd
    退出并保存samba的配置文件,并且重启samba服务。再使用smbpasswd -a 创建用户的时候就会自动生成smbpasswd文件了
     
    2.samba下实现不同目录+不同用户有不同权限的方案
    主要参数:在全局设置里面
    map to guest = Bad User 
    security = user
    有了上面的全局参数,就可以实现用NUC路径访问smb服务器的时候按不同的用户来访问不同的目录
    下面是具体的目录设置参数
    [homes]
            comment = Home Directories
            browseable = no                不可浏览见
            writable = yes
            #valid users = %S              登陆用户登陆后home变为登陆用户名(貌似可以不设置就有效果)
    这个必须设置,不然map to guest不起作用
     
    [test]
            comment = share
            path = /test
            writable = yes                 进入目录后的权限,可写
            public = yes                   任何人都可以进入目录
     
    [open]
           comment = myself
           path = /open
           writable = yes                  进入目录后的权限
           valid users = aa,bb             smb允许aa、bb用户进入该目录(可以通过linux本身的目录权限控制,而不需要设置。必须用户属于不同的组的时候)
     
    以上可以实现所有的用户可以看到test目录和open目录,所有用户可以访问test目录,并且可以读写。而只有aa、bb用户可以访问open目录,并且可以读写。
     
    补充:以上所说的权限只是针对于smb的权限,虽然smb的权限有了进入和读写权限,但是不一定用户就可以进入这2个目录和读写这个2个目录,这是因为linux系统本身也是有权限的,就是目录自己的权限。chmod
    使用chmod命令可以修改目录的权限,使用chgrp可以修改目录的属组,使用usermod -a -G 组(新的组) 用户,可以添加用户到新的组(假如aa用户属于aa组,那么usermod -G users就将aa用户改成了users组用户了,但是usermod -a -G users是将aa用户额外加入到users组,那么现在的aa就属于aa组和users组这两个组的用户了)
     
    ======================================================================================
    下面看一个案例:
    假设现在有2个目录就是上面的test个open
        现在有10个用户,分成了2个部门,分别为信息部和销售部,信息部有用户aa、bb、cc、dd、ee用户,销售部有11、22、33、44、55用户,老总要求所有人可以匿名访问test目录,可以读写。而只有信息部可以通过用户名密码的方式访问open目录,并有读写权限。但是信息部中有2个用户是外部借调的,所以老总不想让这2个人dd、ee访问open这个目录。
    那么如何解决呢,就要利用目录属组和smb权限来综合解决
    目标:所有人匿名访问test,读写
          只有aa、bb、cc可以通过密码访问open目录,并可读写
    信息组为xinxi
    销售组为xiaoshou
    首先环境是:aa、bb、cc、dd、ee是属于xinxi组
                11、22、33、44、55是属于xiaoshou组
     
    先来配置  global 设置和homes目录设置及test目录设置,来满足匿名访问需求
    global设置中:
    map to guest = Bad User        与user安全方式用可以实现匿名浏览目录
    security = user                安全认证以用户名和密码方式
     
    [homes]
            comment = Home Directories     注释,随便写
            browseable = no                不可浏览见
            writable = yes                 读写
            #valid users = %S              用户进入后目录名是自己的用户名
    [test]
            comment = share
            path = /test
            writable = yes                 进入目录后的权限,可写
            public = yes                   公用的所有可以访问
     
    好了,test的smb权限设置好后,就开始设置linux目录权限,因为是所有人可以访问,所有我们开放所有权限
    chmod 777 /test
    drwxrwxrwx    2 root root   4096 May  9 04:31 test
    这样linux的目录权限也设置好了,现在可以用smb账户进行访问了
    创建系统账户:useradd -m aa -g xinxi     创建aa加入xinxi组,并自动创建宿主目录
                  useradd -m bb -g xinxi     。。。
                  。。。。。。
                  useradd -m 55 -g xiaoshou   创建55加入xiaoshou组。。。
    创建sub账户:smbpasswd -a aa
                 smbpasswd -a bb
                 。。。。。。
                 smbpasswd -a 55
    好了账户创建完毕,现在所有账户都可以访问test这个目录了
     
    下面配置只有aa、bb、cc可以访问的open目录
    [open]
           comment = myself
           path = /open
           writable = yes                  进入目录后的权限
           valid users = aa,bb,cc          用户aa、bb、cc可以进入目录
     
    现在smb的权限已经是只有aa、bb、cc可以访问了,下面来设置linux目录权限
    drwxr-xr-x    2 root root  4096 May  9 04:52 open
    由于open目录只应该让xinxi组可以访问,那么就要先让xinxi组可以访问open目录,修改目录属组为xinxi
    chgrp xinxi /open
    drwxr-xr-x    2 root xinxi  4096 May  9 07:11 open
    然后让组有可以访问的读写权限,其他用户没有访问权限
    chmod 770 /open
    drwxrwx---    2 root xinxi  4096 May  9 09:40 open
    现在linux的目录open就可以让xinxi组的用户有读写的访问权限了,再加上前面的smb权限的valid users = aa,bb,cc,控制只有aa、bb、cc可以进入open目录,就实现了xinxi组中只有aa、bb、cc三个用户可以访问open目录的目的,访问方式通过用户密码的方式。
     
    (如果嫌麻烦而且安全性要求不高的话,可以不用修改open目录的属组,直接chmod 777 /open,让所有用户有访问权限,然后通过smb的valid users=用户来控制能访问这个目录的smb用户就可以了)
     
     
    df -h 以简单方式显示文件系统空间
    free 显示内存及swap使用量

    du -h /suse 以简单方式查看suse目录及子文件占用的空间


    二、在windows上上传或下载linux主机上的文件可以使用sftp服务,软件:FileZilla,进行sftp/ssh登录linux主机,输入用户名和密码后就可以像ftp那样上传和下载linux的文件了。


    三、linux上访问windows的共享,一样通过smb,安装samba-client(centOS 使用 yum -y install samba-client安装),安装好后,使用命令:smbclient -L //ip -U "username"     来查看windows主机上的共享。

    然后挂载windows主机上的共享目录share到linux下的/mnt/shared目录下,使用mount命令:

    mount //ip/share /mnt/shared 或者下面的

    mount -t cifs -o username="",password="" //ip/share /mnt/shared
          如果需要永久挂载可以编辑/etc/fstab文件,再这个里面挂载你的windows共享目录,每次开机之后他会自动挂载的。具体的挂载方法可以按照fstab目录下面的格式来挂载。

    如果需要卸载已挂载的共享目录,命令格式为umount:

    umount /mnt/shared 或者 umount //ip/share  可以卸载本地linux的挂载目录也可以卸载挂载的windows的共享目录,效果一样


    展开全文
  • Linux与Windows共享文件

    2010-08-27 15:36:00
    来自:LinuxSir.Org 简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的...

    作者:北南南北,正在增加中... ... 需要您的参与;
    来自:LinuxSir.Org
    简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 ... ... 谢谢;

    目录

    0、架设Samba 服务器的前提;

    第一步: 更改smb.conf
    第二步:建立相应目录并授权;
    第三步:启动smbd和nmbd服务器;
    第四步:查看smbd进程,确认Samba 服务器是否运行起来了;
    第五步:访问Samba 服务器的共享; 5.1 共享权限设计实现的功能;
    5.2 在服务器上创建相应的目录;
    5.3 添加用户用户组,设置相应目录家目录的权限;

    5.4 修改Samba配置文件;
    5.5 关于客户端访问;
    5.5.1 Windows客户端访问;

    1 Samba 简介
    2 Samba 功能和应用范围
    3 Samba 两个服务器相关启动程序、客户端及服务器配置文件等;

    4 由最简单的一个例子说起,匿名用户可读可写的实现;

    5、复杂一点的用户共享模型(适合10人左右的小型企业);




    ++++++++++++++++++++++++++++++++++++++++++++++++
    正文
    ++++++++++++++++++++++++++++++++++++++++++++++++

    0、架设Samba 服务器的前提;

    Linux是一个多用户的操作系统,对任何服务器的架设与都用户、用户组及权限相关,这是操作的基础。Samba服务器也不例外,对这些知识的掌握也是极为重要的。在Windows系统上虽然也能架共享文件服务器,但它的权限控制实在令人不敢恭维。如果我们用Windows系统来架网络共享文件系统,就是点鼠标也能把我们点迷糊了。但在Linux中,我们可以轻松的改一改配置文件,不到几分钟就能建好自己的Samba服务器。哪个更容易,只有你知道;

    对于Samba服务器的架设,有的弟兄简单的认为,只要把改一下配置文件,创建好相应的目录就行了。其实并不是这样的,还要深入的工作,比如目录的权限和归属,也就是说能让哪个用户和用户组有读写权。只有把配置文件和共享目录的权限结合起来,才能架好Samba服务器;

    下面是常用的基础知识,我们在本文中所涉及的内容都可以在下面的列表中找到相应的解释;


    0.1 查看文件内容和编辑文件的工具;

    《Linux 文件内容查看工具介绍》
    《文件编辑器 vi》


    0.2 关于文件和目录相关;

    《Linux 文件类型 及文件的扩展名》
    《Linux 文件和目录管理之列出、删除、复制、移动及改名》
    《Linux 文件和目录的属性》
    《简述Linux文件搜索》


    03 用户和用户组相关;

    《Linux 用户(user)和用户组(group)管理概述》
    《用户(User)和用户组(Group)配置文件详解》
    《Linux 用户管理工具介绍》
    《Linux 用户(User)查询篇》


    04 进程管理;

    《Linux 进程管理》

    1 Samba 简介

    Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;

    大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;

    我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。

    Samba 用的netbios协议,如果您用Samba 不成功,

    Linux与Windows 、Linux 和 Linux

    2 Samba 功能和应用范围

    Samba 应该范围主要是Windows和Linux 系统共存的网络中使用;如果一个网络环境都是Linux或Unix类的系统,没有必要用Samba,应该用NFS更好一点;

    那Samba 能为我们提供点什么服务呢?主要是共享文件和共享打印机;

    3 Samba 两个服务器相关启动程序、客户端及服务器配置文件等;

    3.1 Samba 有两个服务器,一个是smb,另一个是nmb;

    smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问;

    //192.168.1.5/共享目录
    //192.168.1.5/opt



    而nmb是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来;

    一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba ,一般可以通过如下的方式来启动Samba服务器;

    [root@localhost ~]# /etc/init.d/smb start
    启动 SMB 服务: [ 确定 ]
    启动 NMB 服务: [ 确定 ]



    如果停止呢?就在smb后面加stop ;重启就是restart


    [root@localhost ~]# /etc/init.d/smb stop
    [root@localhost ~]# /etc/init.d/smb restart


    对于所有系统来说,通用的办法就是直接运行smb 和nmb;当然您要知道smb和nmb所在的目录才行;如果是自己编译的Samba ,您应该知道您把Samba放在哪里了;

    [root@localhost ~]# /usr/sbin/smbd
    [root@localhost ~]# /usr/sbin/nmbd



    查看服务器是否运行起来了,则用下面的命令;

    [root@localhost ~]# pgrep smbd
    [root@localhost ~]# pgrep nmbd


    关掉Samba服务器,也可以用下面的办法,大多是通用的;要root权限来执行;

    [root@localhost ~]# pkill smbd
    [root@localhost ~]# pkill nmbd


    3.2 查看Samba 服务器的端口及防火墙;

    查看这个有何用呢?有时你的防火墙可能会把smbd服务器的端口封掉,所以我们应该smbd服务器所占用的端口;下面查看中,我们知道smbd所占用的端口是139和445 ;

    [root@localhost ~]# netstat -tlnp |grep smb
    tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 10639/smbd
    tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 10639/smbd

    如果您有防火墙,一定要把这两个端口打开。如果不知道怎么打开。可能你和我一样是新手,还是把防火墙规则清掉也行;

    [root@localhost ~]# iptables -F

    [root@localhost ~]# /sbin/iptables -F

    3.3、查看Samba 服务器的配置文件;

    如果我们是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有有户配置文件 smbpasswd、smbusers和lmhosts等(最好您查看一下这些文件的内容);还有一个文件是secrets.tdb,这个文件是Samba 服务器启动手自动生成的;我们慢慢根据教程的进度来适当地增加这些文件的说明吧;一下子都说出来,感觉内容太多;所以只能一点一点的来了;

    3.4、Samba 在Linux 中的一些工具(服务器端和客户端);

    smbcacls smbcontrol smbencrypt smbmount smbprint smbstatus smbtree
    smbclient smbcquotas smbmnt smbpasswd smbspool smbtar smbumount
    smbd nmbd mount



    其中服务器端的是smbd、nmbd、smbpasswd ;其它的大多是客户端;这些并不是都需要一定要精通的,但至少得会用几个;比如smbmount(也就是mount 加参数的用法),还用smbclient等;

    3.5 在Linux 中的常用工具mount(smbmount)和smbclient;Windows查看Linux共享的方法 ;

    3.5.1 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;

    一般的情况下,我们要用到smbclient;常用的用法也无非是下面的;

    [root@localhost ~]# smbclient -L //ip地址或计算机名

    smbclient 是Samba 的Linux 客户端,在Linux机器上用来查看服务器上的共享资源,也可以象FTP一样,用户可以登录Samba服务器,也可以上传put和下载get文件,遗憾的是对中文支持并不友好;

    查看服务器上的资源;

    smbclient -L //IP [-U 用户名]

    如果您的Samba服务器配置为user模式,就要加 “-U 用户名“,如果是share模式,省略也可;

    比如:

    [root@localhost ~]# smbclient -L //192.168.1.3 -U sir01
    Password: 请输入用户sir01的密码

    如果您是用share模式,就可以不必理会用户和密码,直接用;

    [root@localhost ~]# smbclient -L //192.168.1.3
    Password: 直接按回车

    登录用户身份Samba服务器共享

    以用户身份登录共享后,能象FTP用户一样,下传和下载文件;用put表示上传,用get表示下载;

    smbclient //IP地址/共享文件夹 -U 用户

    说明:IP地址大家都知道,你不知道自己的IP地址,可以用/sbin/ifconfig 来查看; 共享文件夹是我们在smb.conf中定义的[共享文件夹],比如[sir01]。-U 用户名表示Samba 的用户;

    比如:

    [root@localhost ~]# smbclient //192.168.1.3/sir01 -U sir01
    Password:
    Domain=[LINUXSIR] OS=[Unix] Server=[Samba 3.0.21b-2]
    smb: /> ls

    说明:登录到Samba服务器上,就可以用smbclient的一些指令,可以象用FTP指令一样上传和下载文件;

    smbclient 命令说明

    命令									说明
    
    ?或help [command]			提供关于帮助或某个命令的帮助
    ![shell command]			执行所用的SHELL命令,或让用户进入 SHELL提示符
    cd [目录]						切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录
    lcd [目录]					切换到客户端指定的目录;
    dir 或ls  					列出当前目录下的文件;
    exit 或quit 					退出smbclient	
    get file1  file2  		从服务器上下载file1,并以文件名file2存在本地机上;如果不想改名,可以把file2省略
    mget file1 file2 file3  filen 	从服务器上下载多个文件;
    md或mkdir 目录				在服务器上创建目录
    rd或rmdir	目录				删除服务器上的目录
    put file1 [file2]			向服务器上传一个文件file1,传到服务器上改名为file2;
    mput file1 file2 filen  向服务器上传多个文件
    

    3.5.2 在Windows中访问Linux Samba服务器共享文件的办法;

    这个简单吧,在网上领居,查看工作组就能看得到,或者在浏览器上输入如下的

    //ip地址或计算机名

    这样就能看到这个机器上有什么共享的了,点鼠标操作完成;如果访问不了,不要忘记把Linux的防火墙规划清掉,或让相应的端口通过;

    3.5.3 在Linux中smbfs文件系统的挂载;

    mount 的用法,加载网络中的共享文件夹到本地机;mount就是用于挂载文件系统的,SMB做为网络文件系统的一种,也能用mount挂载;smbmount说到底也是用mount的一个变种;

    mount 挂载smbfs的用法;

    mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //ip地址/共享文件夹名 挂载点

    mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //计算机名/共享文件夹名 挂载点

    mount -t smbfs -o codepage=cp936 //ip地址或计算机名/共享文件夹名 挂载点



    smbmount的用法:
    smbmount -o username=用户名,password=密码 , -l //ip地址或计算机名/共享文件夹名 挂载点
    smbmount //ip地址或计算机名/共享文件夹名 挂载点



    说明:

    如果您的服务器是以share共享的,则无需用户名和密码就能挂载,如果出现要密码的提示,直接回车就行;您也可以用smbmount 来挂载,这样就无需用mount -t smbfs来指定文件系统的类型了;

    对于挂载点,我们要自己建立一个文件夹,比如我们可以建在/opt/smbhd,这由您说的算吧;

    在mount的命令中,我们发现有这样的一个参数codepage=cp936,这是服务器端文件系统的编码的指定,cp936 就是简体中文,当然您可以用utf8等,尝试一下吧。

    如果您挂载了远程的smbfs文件系统出现的是简体中文乱码,就要考虑挂载时要指定编码了;

    4、由最简单的一个例子说起,匿名用户可读可写的实现;

    第一步: 更改smb.conf

    我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ;首先您要备份一下smb.conf文件;

    [root@localhost ~]# cd /etc/samba
    [root@localhost samba]# mv smb.conf smb.confBAK

    然后我们来重新创建一个smb.conf文件;

    [root@localhost samba]#touch smb.conf


    然后我们把下面这段写入smb.conf中;

    [global]
    workgroup = LinuxSir
    netbios name = LinuxSir05
    server string = Linux Samba Server TestServer
    security = share

    [linuxsir]
    path = /opt/linuxsir
    writeable = yes
    browseable = yes
    guest ok = yes



    注解:

    [global]这段是全局配置,是必段写的。其中有如下的几行;

    workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
    netbios name 就是在Windows中显示出来的计算机名;
    server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
    security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

    [linuxsir] 这个在Windows中显示出来是共享的目录;
    path = 可以设置要共享的目录放在哪里;
    writeable 是否可写,这里我设置为可写;
    browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no

    guest ok 匿名用户以guest身份是登录;

    第二步:建立相应目录并授权;

    [root@localhost ~]# mkdir -p /opt/linuxsir
    [root@localhost ~]# id nobody
    uid=99(nobody) gid=99(nobody) groups=99(nobody)

    [root@localhost ~]# chown -R nobody:nobody /opt/linuxsir



    注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;

    第三步:启动smbd和nmbd服务器;

    [root@localhost ~]# smbd
    [root@localhost ~]# nmbd

    第四步:查看smbd进程,确认Samba 服务器是否运行起来了;


    [root@localhost ~]# pgrep smbd
    13564
    13568



    第五步:访问Samba 服务器的共享;


    在Linux 中您可以用下面的命令来访问;
    [root@localhost ~]# smbclient -L //LinuxSir05
    Password: 注:直接按回车



    在Windows中,您可以用下面的办法来访问;


    //LinuxSir05/


    5、复杂一点的用户共享模型(适合10人左右的小型企业);

    比如一个公司有五个部门,分别是linuxsir,sir01,sir02,sir03,sir04。我们想为这家公司设计一个比较安全的共享文件模型。每个用户都有自己的网络磁盘,sir01到sir04还有共用的网络硬盘;所有用户(包括匿名用户)有一个共享资料库,此库为了安全是只读的;所有的用户(包括匿名用户)要有一个临时文件终转的文件夹... ....


    5.1 共享权限设计实现的功能;

    1)linuxsir部门具有管理所有SMB空间的权限;
    2)sir01到sir04拥有自己的空间,并且除了自身及linuxsir有权限以外,对其它用户具有绝对隐私性;
    3)linuxsir01到linuxsir04拥有一个共同的读写权限的空间;
    4) 所有用户(包括匿名用户)有一个有读权限的空间,用于资料库,所以不要求写入数据。
    5)sir01到sir04还有一个共同的空间,对sir01到sir04的用户来说是隐私的,不能让其它用户来访问。
    6) 还要有一个空间,让所有用户可以写入,能删除等功能,在权限上无限制 ,用于公司所有用户的临时文档终转等;


    5.2 在服务器上创建相应的目录;

    [root@localhost ~]# mkdir -p /opt/linuxsir
    [root@localhost ~]# cd /opt/linuxsir
    [root@localhost linuxsir]# mkdir sir01 sir02 sir03 sir04 sirshare sir0104rw sirallrw
    [root@localhost linuxsir]# ls

    sir01 sir0104rw sir02 sir03 sir04 sirallrw sirshare

    注:功用如下:

    /opt/linuxsir 这是管理员目录,负责管理其下所有目录;
    /opt/linuxsir/sir01 是sir01的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
    /opt/linuxsir/sir02 是sir02的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
    /opt/linuxsir/sir03 是sir03的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
    /opt/linuxsir/sir04 是sir04的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
    /opt/linuxsir/sirshare 所用用户(除了linuxsir有权限写入外)只读目录
    /opt/linuxsir/sir0104rw 是用于sir01到sir04用户可读可写共用目录,但匿名用户不能读写;
    /opt/linuxsir/sirallrw 用于所有用户(包括匿名用户)的可读可写;


    5.3 添加用户用户组,设置相应目录家目录的权限;


    5.3.1 添加用户组;

    [root@localhost ~]# /usr/sbin/groupadd linuxsir
    [root@localhost ~]# /usr/sbin/groupadd sir01
    [root@localhost ~]# /usr/sbin/groupadd sir02
    [root@localhost ~]# /usr/sbin/groupadd sir03
    [root@localhost ~]# /usr/sbin/groupadd sir04
    [root@localhost ~]# /usr/sbin/groupadd sir0104


    5.3.2 添加用户;

    [root@cuc03 ~]# adduser -g sir01 -G sir0104 -d /opt/linuxsir/sir01 -s /sbin/nologin sir01
    [root@cuc03 ~]# adduser -g sir02 -G sir0104 -d /opt/linuxsir/sir02 -s /sbin/nologin sir02
    [root@cuc03 ~]# adduser -g sir03 -G sir0104 -d /opt/linuxsir/sir03 -s /sbin/nologin sir03
    [root@cuc03 ~]# adduser -g sir04 -G sir0104 -d /opt/linuxsir/sir04 -s /sbin/nologin sir04
    [root@cuc03 ~]# adduser -g linuxsir -d /opt/linuxsir -G linuxsir,sir01,sir02,sir03,sir04,sir0104 -d /opt/linuxsir -s /sbin/nologin linuxsir

    为什么这样添加用户?请参考:

    《Linux 文件和目录的属性》
    《Linux 用户管理工具介绍》

    当然我们还得学会查看用户信息的工具用法,比如 用finger和id来查看用户信息,主要是看用户是否添加正确;比如;请参考《Linux 用户(User)查询篇》

    [root@localhost ~]# id linuxsir
    [root@localhost ~]# finger linuxsir


    5.3.3 添加samba用户,并设置密码;

    我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;另外值得注意的是系统用户密码和Samba用户的密码是不同的。如果您设置了系统用户能登入SHELL,可以设置用户的Samba密码和系统用户通过SHELL登录的密码不同。

    我们通过smbpasswd 来添加Samba用户,并设置密码。原理是通过读取/etc/passwd文件中存在的用户名。

    [root@localhost sir01]# smbpasswd -a linuxsir
    New SMB password: 注:在这里添加Samba用户linuxsir的密码;
    Retype new SMB password: 注:再输入一次;

    用同样的方法来添加 sir01、sir02、sir03、sir04的密码;


    5.3.4 配置相关目录的权限和归属;

    [root@cuc03 ~]# chmod 755 /opt/linux
    [root@cuc03 ~]# chown linuxsir:linuxsir /opt/linuxsir

    [root@cuc03 ~]# cd /opt/linuxsir
    [root@cuc03 ~]# chmod 2770 sir0*

    [root@cuc03 ~]# chown sir01.linuxsir sir01

    [root@cuc03 ~]# chown sir02.linuxsir sir02

    [root@cuc03 ~]# chown sir03.linuxsir sir03

    [root@cuc03 ~]# chown sir04.linuxsir sir04

    [root@cuc03 ~]# chown linuxsir.sir0104 sir0104rw

    [root@cuc03 ~]# chown linuxsir.linuxsir sirshare
    [root@cuc03 ~]# chmod 755 sirshare

    [root@cuc03 ~]# chown linuxsir:linuxsir sirallrw
    [root@cuc03 ~]# chmod 3777 sirallrw


    5.4 修改Samba配置文件 smb.conf;

    配置文件如下,修改/etc/samba/smb.conf后,不要忘记重启smbd和nmbd服务器;

    [global]
    workgroup = LINUXSIR
    netbios name = LinuxSir
    server string = Linux Samba Test Server
    security = share


    [linuxsir]
    comment = linuxsiradmin
    path = /opt/linuxsir/
    create mask = 0664
    #create mask是用户创建文件时的权限掩码;对用户来可读可写,对用户组可读可写,对其它用户可读;
    directory mask = 0775
    #directory mask 是用来设置用户创建目录时的权限掩码,意思是对于用户和用户组可读可写,对其它用户可读可执行;
    writeable = yes
    valid users = linuxsir
    browseable = yes

    [sirshare]
    path = /opt/linuxsir/sirshare
    writeable = yes
    browseable = yes
    guest ok = yes

    [sirallrw]
    path = /opt/linuxsir/sirallrw
    writeable = yes
    browseable = yes
    guest ok = yes

    [sir0104rw]
    comment = sir0104rw
    path = /opt/linuxsir/sir0104rw
    create mask = 0664
    directory mask = 0775
    writeable = yes
    valid users = linuxsir,@sir0104
    #@sir0104是用户组;
    browseable = yes

    [sir01]
    comment = sir01
    path = /opt/linuxsir/sir01
    create mask = 0664
    directory mask = 0775
    writeable = yes
    valid users = sir01,@linuxsir
    browseable = yes


    [sir02]
    comment = sir02
    path = /opt/linuxsir/sir02
    create mask = 0664
    directory mask = 0775
    writeable = yes
    valid users = sir02,@linuxsir
    browseable = yes

    [sir03]
    comment = sir03
    path = /opt/linuxsir/sir03
    create mask = 0664
    directory mask = 0775
    writeable = yes
    valid users = sir03,@linuxsir
    browseable = yes

    [sir04]
    comment = sir04
    path = /opt/linuxsir/sir04
    create mask = 0664
    directory mask = 0775
    writeable = yes
    valid users = sir04,@linuxsir
    browseable = yes


    5.5 关于客户端访问;


    5.5.1 Windows 访问;

    我们打开Windows的IE浏览器,用IP地址的访问方式就能访问了,格式为 //192.168.1.3 类似的。当然也可以把共享文件夹挂在本地使用。比如我们把sir01文件夹挂在本地中,应该以sir01用户来挂载,挂载流程图如下;

    6、更新日志;

    2006/01/23 v0.1b
    2006/01/24 v0.2b

    7、参考文档;

    《Samba-HOWTO》

    7、相关文档;

    《Samba 文件服务器用户复杂权限模型设计和实现 》

    郑重声明:文章来自互联网,供学习参考之用。请勿用于任何商业用途!

    感谢:http://www.linuxsir.org/main/?q=node/158#0

    展开全文
  • Linux与windows共享文件

    2017-11-07 18:32:20
    4.进入vmware-tools-distrib文件 cd vmware-tools-distrib 5.运行vmware-install.pl sudo ./vmware-install.pl 6.所有配置都默认就行了,一直按enter 7.成功后会显示 welcome vmware tool 8....
    vmtool安装流程
    1.点击vmware 里面的虚拟机——》安装vmware tool
    2.然后(等待一会)弹出一个界面把里面的 VMwareTools-9.6.1-1378637.tar.gz 复制到自己的家目录
    3.解压VMwareTools-9.6.1-1378637.tar.gz tar -xzvf VMwareTools-9.6.1-1378637.tar.gz
    4.进入vmware-tools-distrib文件 cd vmware-tools-distrib
    5.运行vmware-install.pl sudo ./vmware-install.pl
    6.所有配置都默认就行了,一直按enter
    7.成功后会显示 welcome  vmware tool
    8.然后设置共享目录即可。
     
    安装完后,设置共享目录
    1.点击vmware里面的虚拟机——》设置
    2.弹出虚拟机设置框,点击选项卡第二项“选项”
    3.点击“共享文件夹”,右边出现对应详细设置
    4.先点击“总是启用”,再点击“添加”,之后添加需要共享的文件夹,用默认设置就行了
     
    虽然安装完了,但在ubuntn里,使用cd /mnt/hgfs 命令还是没有看到共享的目录share,并没有挂载,如下图:
    上网查了一下资料,需要先安装一个插件,具体操作和命令如下:
    sudo apt-get install open-vm-dkms
    sudo mount -t vmhgfs .host:/ /mnt/hgfs
    可惜,分别出现了错误:
    E: 无法定位软件包 open-vm-dkms
    Error: cannot mount filesystem: No such device
     
    第一个错误,上网查了查,大家认为是下载源的问题,可能名字不同,推荐用下面的命令逐个试一下:
    sudo apt-get install open-vm-tools
    open-vm-tools
    open-vm-tools-desktop
    open-vm-tools-dkms
    open-vm-tools-dbg
    open-vm-tools-dev
     
    第二个错误,我查了很久,终于找到了答案。
    对应的源是 open-vm-tools-dkms ,安装成功后,不能用网上大部分说的这个命令:sudo mount -t vmhgfs .host:/ /mnt/hgfs(host:/ 处 2个空格) ,这个命令是不行的,我想这个命令大概对应源名字为:open-vm-tools。tools的名字换了可能命令的名字也不一样,正确的是:
    使用命令: sudo mount -t fuse.vmhgfs-fuse .host:/VM_Shared  /mnt/hgfs -o allow_other(如果卸载,就把mount -t换成umount -a)
    或sudo vmhgfs-fuse .host:/VM_Shared /mnt/hgfs
     (其中.host:/Documents是共享名,只需把Documents换成使用vmware-hgfsclient 命令得到的目录,/mnt/hgfs是挂载点。)

    如果每次重启之后想让系统自动挂载 #vi /etc/fstab:
    在最后添加一行:
    .host:/VM_Shared /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0

    终于可以挂载成功了!挂载成功的截图:
    展开全文
  • linux与windows共享文件目录,个人初学是经过各种实验摸索整理出来。
  • Linux与Windows 共享文件Samba
  • Linux与Windows 共享文件Samba.doc
  • VMware下Linux与Windows共享文件

    万次阅读 2018-03-26 23:22:28
    因此,经常需要用到Linux与Windows共享文件的功能。最近由于更换了新的开发主机,发现新主机下无法实现共享文件的功能。印象中,在此之前,搭建虚拟机环境时已经遇到过类似的问题,但由于未有作相关记录,只能从...

      Linux下开发用的是虚拟机(VMware),没有用专门的Linux系统主机,主要是大部分工作还是在Windows下开发,甚至很多时候习惯在Windows下编码,然后转到Linux下编译。因此,经常需要用到Linux与Windows共享文件的功能。最近由于更换了新的开发主机,发现新主机下无法实现共享文件的功能。印象中,在此之前,搭建虚拟机环境时已经遇到过类似的问题,但由于未有作相关记录,只能从网络上查找相关的解决办法。
      基本上,对于此类情况,总结了广大坛友的结论,即是安装或者重新安装VMware Tools。而本人的情况属于后者,因此记录下重新安装VMware Tools的安装过程,步骤如下。

    第一步:打开VMware虚拟机,点击“虚拟机”->“重新安装VMware Tools”(如果是首次安装,则显示安装VMware Tools)。
    这里写图片描述

    第二步:第一步其实相当于虚拟光驱加载,此时通过文件系统查看可以看到VMware Tools文件夹下的内容。

    这里写图片描述

    第三步:将VMware Tools文件夹下的文件拷贝出来。此时可以有两种方式,最方便的就是类似Windows下的方式,右击VMware Tools安装包压缩文件——>复制到,然后在所需的路径下粘贴即可,此时注意操作权限,如果拷贝到根目录下需要root权限。
    这里写图片描述

    另外一种方式,就是通过命令行的方式拷贝,主要讲述此方法。
    1)命令终端以root权限登录,首先将虚拟光驱文件挂着到磁盘文件夹,如“/opt/workings/temp”。

    这里写图片描述
    2)通过上图信息可以看出,已经挂在成功,可以发现该文件夹是只读,因此不能直接在此文件解压该安装包。接着将安装包拷贝到磁盘工作路径(可任意),如“/opt/workings/vmtools”。

    这里写图片描述

    第四步:解压安装包,并安装。安装过程,根据终端提示的输入“yes”或者“no”一路到最后即可。如果中途出现意外,重新安装即可,本人运气比较好,一次安装成功。
    这里写图片描述

    第五步:关闭Linux系统及VMware软件,然后重新启动,根据“共享文件”的常规设置,即可实现Linux与Windows下共享文件。
    这里写图片描述

    展开全文
  • 一步一学Linux与Windows 共享文件Samba .doc 一步一学Linux与Windows 共享文件Samba .doc 一步一学Linux与Windows 共享文件Samba .doc 一步一学Linux与Windows 共享文件Samba .doc
  • 我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器sudo apt-get install samba smbfs system-config-samba启动管理界面:命令: sudo system-config-samba (你也可以在点击...
  • linux与Windows共享文件配置: 1.进入超级用户:$su root 2.启动tftp服务器:#netstat -a | grep tftp,出现如图所示的消息表示tftp服务器已安装成功; 3.安装NFS服务器: #rpm –q nfs-utils,如果有下图的信息...
  • 虚拟机 Linux与windows共享文件 无限期使用 绿色 很好用的 已经用半年了 直接解压就可以
  • 本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 ... ... 谢谢;目录1 Samba 简...
  • Samba服务器的安装与配置(linux与windows共享文件)
  • 来自:LinuxSir.Org简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 ... ... ...
  • (转载)一步一学Linux与Windows 共享文件Samba (v0.2b) ...简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应
  • Linux与Windows共享文件的方法,我所了解的有samba、ftp和nfs三种。虽说可以直接用鼠标直接拖动文件实现两个平台间的文件共享,但是可能对于内存较大的文件的共享不太方便,也比较容易出现问题,所以对于“大”文件...
  • 一步一学Linux与Windows 共享文件Samba (v0.2b) http://www.linuxsir.org/main/?q=node/158   ps:当我们做好一个共享后,如果还想共享其他的文件,完全可以link到共享目录,这样就不需要麻烦的配置了!  ...
  • 安装virtualbox增强功能 在Windows下新建文件用于共享,...在Linux中mount -t vboxsf ShareFolderName /mnt/shared/,其中,前者是步骤2中的共享文件名称,后者是Linux中mkdir出来的. 设置自动挂载,重启虚拟机系统共享...
  • 来自:LinuxSir.Org简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加.........

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,142
精华内容 1,256
关键字:

linux与windows共享文件

linux 订阅