samba共享配置一个用户可以写入一个可以读取
- 格式:docx
- 大小:17.59 KB
- 文档页数:2
我们使用树莓派的时候经常要在windows和树莓派之间进行文件传输,使用samba服务可实现文件共享。
在windows的网上邻居即可访问树莓派文件系统,非常方便。
1、运行如下命令安装samba软件sudo apt-get install samba samba-common-bin2、安装完成后,修改配置文件/etc/samba/smb.confsudo vi /etc/samba/smb.conf下面的配置是让用户可以访问自己的home 目录。
(1)开启用户认证,找到“##### Authentication #####”,将“#security = user ”的#号去掉。
(2)配置每个用户可以读写自己的home 目录,在“[homes]”节中,把“read only = yes”改为“read only = no”。
3、重启samba服务sudo /etc/init.d/samba restart或sudo service samba restart4、添加默认用户pi到sambasudo smbpasswd -a pi输入密码确定即可。
5、访问树莓派文件使用文件浏览器打开ip地址\\192.168.1.110\pi (ip地址改为树莓派IP地址),输入用户密码,则可以访问树莓派home 目录。
在windows网络中你会发现多了台电脑RASPBERRYPI,以后直接点击即可访问树莓派存储器,或在windows开始菜单中运行打开\\RASPBERRYPI.(提示:如果树莓派开机启动Samba服务器,而又不知道树莓派IP,可以在windows命令行中ping RASPBERRYPI返回树莓派的ip 地址。
)。
samba共享设置samba共享设置一、安装软件包# rpm -qa | grep sambasamba-3.6.23-33.0.1.el6.x86_64二、修改配置文件配置文件所在位置:/etc/samba/smb.conf内容说明:74 workgroup = MYGROUP#服务器所在域或组75 server string = Samba Server Version %v //服务器描述7677 ; netbios name = MYSERVER#netbios名称……88 # logs split per machine89 log file = /var/log/samba/log.%m//设置samba服务器共享日志90 # max 50KB per log file, then rotate91 max log size = 50//设置日志最大容量//默认samba服务器建立有两个日志文件nmbd.log、smbd.log ……101 security = user//用户登录的安全级别//share(共享)、server、 domain(windows server 2003 服务器域的客户端)其中user、share常用102 passdb backend = tdbsam……#以下是共享的相关设置246 #============================ Share Definitions ============================== 247248 [homes]//共享名249 comment = Home Directories//说明250 browseable = no//不可列示251 writable = yes//可以读写252 ; valid users = %S253 ; valid users = MYDOMAIN\\%S254255 [printers]//共享打印机256 comment = All Printers257 path = /var/spool/samba//绝对路径258 browseable = no259 guest ok = no260 writable = no261 printable = yes262263 # Un-comment the following and create the netlogon directory for Domain Logons264 ; [netlogon]265 ; comment = Network Logon Service266 ; path = /var/lib/samba/netlogon267 ; guest ok = yes268 ; writable = no269 ; share modes = no一些参数说明:public = yes/no //是否允许匿名访问valid users = 用户名valid users = @组名readonly = yes/no //只读/读写设置目录写入权限writable = yes/no //读写/只读write list = 用户名、@组名三、建立一个简单共享1、将原来的smb.conf重命名,再新建一个smb.conf,输入如下内容:[global]workgroup = WORKGROUPserver string = Samba Server Version %v[share]comment = sharepath = /mnt_array/sharepublic = yeswriteable = yesbrowseable = yesguest ok = yes2、创建文件夹/mnt_array/share,并修改权限为777# mkdir /mnt_array/share -p# chmod -R 777 /mnt_array/share3、重启smb服务# service smb restart或# /etc/init.d/smb restart4、在防火墙中放开samba相关服务或直接关闭防火墙关闭防火墙# service iptables stop(立即生效)# chkconfig iptables off(重启后生效)配置防火墙中开放samba相关服务# setup -> 防火墙配置 -> 定制 -> 选中Samba、Samba客户端-> 关闭 -> 确定……用命令方式放开samba相关端口#iptables -I RH-Firewall-1-INPUT 5 -m state--state NEW -m tcp -p tcp --dport 139 -j ACCEPT#iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT#iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT#iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT#iptables -save#service iptables restart5、设置selinux直接关闭#setenforce 0修改配置文件,使selinux在重启后也关闭#vi /etc/selinux/config将SELINUX=enforcing修改为SELINUX=disabled放开相关权限#setsebool -P samba_enable_home_dirs on#setsebool -P samba_export_all_rw on完成后再执行:#getsebool -a | grep samba6、将samba服务设为开机启动查看当前状态#chkconfig --list | grep smb设置在3、5级别上自动运行smb服务(3:有网络连接的多用户命令行模式;5:带图形界面多用户模式)#chkconfig --level 35 smb on四、建立多用户控制1、新建用户,用于访问专用共享#useradd smb_user1#passwd smb_user12、将新建用户加入到smb,并设置该用户smb中的密码#smbpasswd -a smb_user13、建立需要共享的文件夹,并设置相关权限#mkdir /mnt_array/smbuser1_share#chown smb_user1:smb_user1 /mnt_array/smbuser1_share #chmod 700 /mnt_array/smbuser1_share注:如果需要设置为一个组内的用户都可以访问,则需要把700改为7704、编辑/etc/samba/smb.conf文件[smbuser1]path = /mnt_array/smbuser1_sharewritable = yespublic = novaild users = smb_user1注:[global]中的security参数应设为user[global]……security = user……5、重启smb服务service smb restart测试配置参数:#testparm例:[root@TestLinux /]# testparmLoad smb config files from /etc/samba/smb.confrlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)Processing section "[homes]"Processing section "[printers]"Processing section "[smbuser1]"Unknown parameter encountered: "vaild users" Ignoring unknown parameter "vaild users" Processing section "[smbuser2]"Unknown parameter encountered: "vaild users" Ignoring unknown parameter "vaild users" Loaded services file OK.Server role: ROLE_STANDALONEPress enter to see a dump of your service definitions [global]workgroup = MYGROUPserver string = Samba Server Version %vlog file = /var/log/samba/log.%mmax log size = 50client signing = requiredidmap config * : backend = tdbcups options = raw[homes]comment = Home Directoriesread only = Nobrowseable = No[printers]comment = All Printerspath = /var/spool/sambaprintable = Yesprint ok = Yesbrowseable = No[smbuser1]path = /mnt_array/smbuser1_shareread only = No[smbuser2]path = /mnt_array/smbuser2_share read only = No[root@TestLinux /]#。
共享文件夹访问权限设置之如何为不同账户设置共享文件的不同访问权限在企事业单位局域网中,经常会将文件服务器上的一些文件共享给局域网用户使用,便于大家共享资源、协同工作。
但是,由于共享文件通常是企业的无形资产,甚至是商业机密,因此如何保护共享文件的安全就显得比较重要。
而其中非常重要的一点就是为共享文件设置不同账户的访问权限,这样可以从原初保护共享文件的安全。
那么,有没有比较简便易用的共享文件访问权限设置方法呢?当然有,但不外乎两种方法:一种是通过专门的共享文件夹权限设置软件、共享文件管理软件来实现;另一种是通过在电脑上进行共享文件访问权限的设置来实现。
方法一、通过共享文件夹权限设置软件来设置共享文件的不同访问权限目前,国内有很多专门的共享文件夹访问权限设置软件,可以实现为不同账户设置共享文件的不同访问权限,从而控制共享文件的访问和使用。
例如,有一款“大势至共享文件夹管理软件”,它可以扫描到服务器或电脑当前所共享的文件列表,以及账户列表,然后可以为不同用户设置共享文件的不同访问权限,读取、修改、删除、剪切、重命名等;同时,还支持人工手动添加账户,不需要再通过操作系统来设置,从而简化了共享文件权限设置。
并且,这款软件有一个很大的功能亮点就是:可以让客户端只能读取共享文件,但不能复制共享文件的内容,也不能将共享文件另存为本地或打印共享文件,同时由于客户端访问共享文件的时候是在一个特定的共享文件列表框内访问的,无法拖拽到本地,无法剪切,因此还可以阻止客户端通过邮箱附件、FTP工具上传、网盘上传文件以及QQ发文件的方式将共享文件发送出去的行为,同时也禁止了通过U盘、移动硬盘将共享文件私自存储的行为,极大地保护了共享文件的安全,如下图所示:图:共享文件夹管理软件、共享文件权限设置软件图:被加密的共享文件无法拖拽、无法另存为本地由此,可以轻松实现对共享文件访问权限的设置。
方法二、通过操作系统来设置共享文件夹的不同访问权限。
Samba文件共享服务一,安装samba服务器。
在/var目录下建立3个子目录public,training和devel。
注:samba服务软件分为服务端包,客户端包和依赖包。
默认linux安装好了客户端包和依赖包,这里只需要安装服务包即可,需要注意的是,这里需要安装另一个环境依赖包ASN1。
二,将/var/public共享为public,所有员工都可以访问,但只能读。
将/var/training 共享为training,允许admin和jsb组的所有员工可以读,但不能写,其他人禁止访问。
将/var/devel共享为devel,jsb组的员工只能读,admin和benet组的员工可以写。
注:编辑vim /etc/samba/smb.conf,设置安全级别为user,即需要本地用户身份验证。
注:按要求对相应的共享设置权限,【public】为共享名,comment为说明内容,path为共享目录的绝对路径,public为是否允许匿名,valid users为允许访问的用户。
read only为是否只读,Writable为是否可写,write list为允许可写的用户(@表示组)。
这里还需要配合文件系统的权限进行相应操作。
三,创建用户,添加用户到共享。
注:创建相应的用户,组,添加到共享,输入共享密码,这里和本地登陆密码没有关系。
四,结合共享权限对相应的文件夹设置文件系统权限。
注:按要求对相应的文件夹设置权限。
五,验证共享权限。
注:在linux客户机上面访问共享。
这里不需要输入密码,直接Enter即可。
验证可以匿名访问public,但是只能读。
注:使用admin用户访问training,输入共享密码,为只读权限。
注:使用其他用户(如benet)访问training,输入密码进入,发现不能查看文件夹内容。
注:使用benet组的用户(如benet)访问devel,为可读写权限。
注:使用jsb组的用户(如jsb)访问devel,为只读权限。
Samba服务器目录共享设置Samba服务器目录共享设置2010-12-30 15:24一步一学Linux与Windows共享文件Samba(二)、建立一个匿名访问的共享目录1.建立一个匿名访问的共享目录#vi/etc/samba/smb.conf[global]workgroup=WORKGROUP netbios name=xuri server string=xuri samba server security=share[allshare]path=/home/allshare comment=share allshare writeable=yes browseable=yes后两项可用guest ok=yes代替public=yes 2.建立相应目录并授权#mkdir/home/allshare#cat/home/allshare/hello.txt#chmod-R 777/home/allshare参数-R对目前目录下的所有档案与子目录进行相同的权限变更3.重启samba服务#/etc/init.d/samba restart或用#service smb stop#service smb start或用#service smb restart 4.在Windows XP系统中通过\IP即可访问此linux的共享资源,并且可写入.5.debian访问共享文件#smbclient-L IP//查看共享列表#smbclient//IP/allshare//登陆目标主机的共享目录allshare smb get hello.txt//将远程主机上的hello.txt文件下载到本地目录smb put/home/myhello.txt myhello.txt//上传文件,必须指定目标目录和名称smb quit(三)、建立基于用户验证的共享目录(注意:只是目录采用用户验证,而服务器不采用用户验证)1.修改配置文件:smb.conf#vi/etc/samba/smb.conf[global]workgroup=WORKGROUP netbios name=xuri serv er string=xuri samba server security=share默认值为user[liming]path=/home/liming comment=liming's directory public=no注意此处不是Yes(公有),而是某用户私有writable=yes可写入browseable=yes可浏览valid users=liming此共享目录合法用户为liming 2.添加用户#useradd liming已有用户可不添加#smbpasswd-a liming#smb密码为:123456 3.建立相应目录并授权(建立用户liming后这两项一般会自动完成)#mkdir/home/liming#chown liming.liming/home/liming#将目录的所有者改为liming 4.重启samba(同上)5.windows访问共享文件在IE或网上邻居中输入"\ip"即可,这个时候进入服务器是不用密码的,但是当你进入"liming目录"就要输入用户名和密码了。
在Ubuntu中设置samba共享可读写文件夹首先当然是要安装samba了,呵呵:sudo apt-get install sambasudo apt-get install smbfs下面我们来共享群组可读写文件夹,假设你要共享的文件夹为: /home/ray/share 首先创建这个文件夹mkdir /home/ray/sharechmod 777 /home/ray/share备份并编辑smb.conf允许网络用户访问sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backupsudo gedit /etc/samba/smb.conf搜寻这一行文字; security = user用下面这几行取代security = userusername map = /etc/samba/smbusers将下列几行新增到文件的最后面,假设允许访问的用户为:newsfan。
而文件夹的共享名为 Share[Share]comment = Shared Folder with username and passwordpath = /home/ray/sharepublic = yeswritable = yesvalid users = newsfancreate mask = 0700directory mask = 0700force user = nobodyforce group = nogroupavailable = yesbrowseable = yes然后顺便把这里改一下,找到[global]把 workgroup = MSHOME 改成workgroup = WORKGROUPdisplay charset = UTF-8unix charset = UTF-8dos charset = cp936后面的三行是为了防止出现中文目录乱码的情况。
FreeNASSMB⽂件共享及⽤户权限使⽤配置假设公司有A,B,C三个部门,要求每个部门⼈员只能访问⾃⼰部门的⽂件,同时每个部门内设置⼀个⽂件管理员,可对本部门⽂件进⾏管理,其他则只允许读取和执⾏。
另外再建⼀个公共⽂件区,让⼤家都可以访问。
1.新建⽤户组依次建⽴:1.group_a2.group_b3.group_c2.添加⽤户组名⽤户名密码管理员A组: a a √a1 a1组名⽤户名密码管理员B组: b b √b1 b1组名⽤户名密码管理员C组: c c √c1 c1如上图所⽰,可看到已添加的⽤户信息。
3.添加卷组3.添加卷组4.添加数据集然后依此建⽴数据集group_agroup_bgroup_cPublic5.对数据集的权限进⾏划分和配置将public数据集作为公共⽂件,⼤家都可以访问,只有管理员可进⾏修改(设定⽤户A为公共⽂件管理员)接下来配置其他A、B、C三组访问权限,并分配管理员读取、写⼊、执⾏权限。
⾮管理员只能读取和执⾏。
部门B和部门C依此配置。
6. 启⽤smb服务并设置开机⾃启6.随后配置smb服务要共享的⽂件夹公共⽂件,设置允许匿名访问。
设置完共享⽂件权限,如下图7.接下来就可以在windows下进⾏访问以及权限测试打开共享⽂件,先访问公共⽂件,可以直接访问,但⾥⾯没有⽂件。
那我们可以再匿名访问尝试创建⽂档。
提⽰,没有权限执⾏此操作。
然后我们访问A部门,此时则弹出认证窗⼝。
输⼊A组管理员⽤户名密码,并尝试读写权限公共⽂件管理员也是a,所以尝试再公共⽂件下读写权限也是没有问题的。
接下来尝试更换⽤户,测试权限。
再不关机或注销的情况下要先在命令⾏中删掉已认证的关联⽤户,然后才可以登录其他账户。
8.总结freenas是我最近刚接触开始学习的⼀个NAS系统,前不久被他的权限上的问题困扰了许久。
⼀直在⽹上查阅相关资料,⽐较少且零散,后来总算开窍了。
遂写此篇,希望能给⼴⼤nas初学者提供的简单得理解和帮助,如有不正确的地⽅还请⼤佬指正。
解决samba不允许⼀个⽤户使⽤⼀个以上⽤户名与⼀个服务器或共享资源的多重连接事实上这个不是samba的限制。
是Windows的限制。
始终要⽤public=yes的话,上⾯的⽅法都不能有效解决,因为:在打开存在public=yes的samba服务器时,如果⾸先点击了有public=yes的共享资源的时候,widows会⽤默认的⽤户名去连接服务器,⼀般就是windows的登录名(可以在服务器端查看到的),这时候,再去点击没有public=yes的共享资源,由于使⽤了user级别,服务器就会要求验证,这时,之前的默认登录已经存在,就出现了楼主的故障了。
即使注销连接后如果没有采⽤正确的顺序访问共享资源,还是会陷⼊这个泥潭中。
因此,最好办法就是不⽤public=yes,给公共帐号建⽴⼀个共⽤的账户并公⽰出来。
这样处理,其实权限更清晰⼀些。
使⽤以下命令解决net use * /del /y-----------------------------------------------------------------------------------不允许⼀个⽤户使⽤⼀个以上⽤户名与⼀个服务器或共享资源的多重连接------1 samba 是仿造 ms 共享的2 你是不可能多重连接的。
也就是说你不可能同时有两个⾝份同时访问⼀个资源。
这不是samba或⽹络⽂件共享不完善,⽽是道理上讲不通。
例如你可以卖1架飞机上的两张机票,1个经济舱。
1个vip.但是你不能同时坐在你的经济舱位⼦和你的vip位⼦上。
那么你的问题就成了,我可否迅速切换这两个⾝份?当然可以,有两种⽅法1 你⼿动更换你的⾝份。
跑道vip舱门外去,你再往⾥⾯⾛就要你⾝份认证了。
具体⽅法楼上也跟你说了。
2 舱⾥每分钟剪⼀次票,⾃动踢你出去。
当然对你来说这个数值越⼩越好,对别⼈就不⼀定。
微软飞机默认15分钟剪1次。
3 你也可以选择缓存车票,或⼿动拿出车票。