LinuxSamba指定⽤户访问特定的共享⽂件夹
Samba(SMB是其缩写) 是⼀个⽹络服务器,⽤于Linux和Windows共享⽂件之⽤;Samba 即可以⽤于Windows和Linux之间的共享⽂件,也⼀样⽤于Linux和Linux之间的共享⽂件
例如:指定某个⽤户123访问⼀个特定的共享⽂件夹adc, 其他⽤户不可以访问abc⽬录
1、先创建⼀个⽤户命令useradd 123
root@ubuntu:/home# useradd 123
2、创建⼀个smbpasswd⽤户, 在创建这个⽤户时要先创建⼀个系统⽤户123(上⼀步已完成)
root@ubuntu:/home# smbpasswd -a 123
New SMB password:
Retype new SMB password:
Added user 123.
root@ubuntu:/home#
3、创建⼀个abc⽬录,修改⽬录的⽤户组及权限
root@ubuntu:/home# mkdir abc
root@ubuntu:/home# chown 123 abc/
root@ubuntu:/home# chmod 700 abc/
root@ubuntu:/home# ls -al abc/
drwx------  2 123  root 4096 5⽉  30 12:39 .
4、配置smb服务:
编辑/etc/samba⽬录下的f⽂件
vi /etc/f
第⼀个单元是[global],⽤于⼀些全局设置,对于不熟悉samba的⽤户来说,⼀般不要对此单元进⾏修改。
第⼆个单元是[home],它的作⽤是使linux⽤户可以从其它机器上连接到⾃⼰的home⽬录。
要设置⼀个特定的共享⽬录,建议在f⽂件尾部增加⼀个全程单元。
⼀般包括⼏条语句。下⾯是⼀个例⼦:
[abc]
comment = Shared Folder with username and password
path = /home/abc
public = yes
writable = yes
valid users = 123
write list = 123
read list = 123
create mask = 0777
directory mask = 0777
create mode = 0777
directory mode = 0777
available = yes
browseable = yes
#guest ok = yes
#read only = no
#force user = 123
#force group = 123
[abc] 给共享⽂件的取个别名也可以和原来的⼀样
说明:
comment:提⽰,在windows的⽹络邻居上显⽰为备注。
path:linux上共享⽬录
valid users: 允许访问linux共享⽬录的⽤户,此⽤户需是linux的samba⽤户
public:允许guest访问
writable: 允许⽤户写
printable: 若设为yes,则被认定为打印机
create mask:在共享⽬录上建⽴的⽂件的权限
5、重启smb服务:
/etc/init.d/smb restart
如果SMB服务未启动,请执⾏/etc/init.d/smb start启动。
如果想让系统重启后⾃动启动SMB服务,请在/etc/init.d/boot.local⽂件尾加⼊如下两⾏:
rcnmb start
/etc/init.d/smb start
6、 在Windows中访问Linux共享的⽂件夹:
a. 在“开始 > 运⾏”中输⼊“\\Linux服务器IP地址”即可登录到⽬标服务器:
b. 具体访问某⽬录,如abc,系统会弹出对话框,需要输⼊samba⽤户(123及密码)。
输⼊⽤户名和密码后即可访问Linux系统中的⽂件,此⽤户名和密码即为上述增加的samba⽤户名和密码,输⼊其他⽤户则不可访问
7、 把Linux的共享⽂件夹映射为Windows本地的⼀个磁盘分区:
a. 在“开始 > 运⾏”中输⼊“cmd”启动Windows命令⾏。
b. 执⾏net use Q: \\Linux服务器IP地址\abc  命令完成映射。
c. 打开Windows的“我的电脑”可以看到⼀个挂载盘了。
备注:  \\访问Linux共享的⽂件夹时出现问题:
在访问\\192.168.1.12\abc是windons报错:
不允许⼀个⽤户使⽤⼀个以上⽤户名与服务器或共享资源的多重连接...
问题原因:
简单讲,已经使⽤了⼀个⽤户名连接到服务器或服务器上共享的资源上⾯,并且未退出。如\\192.168.1.12\xxx链接导致现在再使⽤不同的⽤户名连接到服务器或服务器上共享的资源上时,就会有这样的提⽰。
----------------------------------------------------------------------------------
⽤net use 查看当前的远程连接:
C:\Users\Administrator>net use
不记录新的⽹络连接。
状态本地远程⽹络
-------------------------------------------------------------------------------
已断开      Y:        \\192.168.1.2\SN  Microsoft Windows Network
OK          Z:        \\192.168.1.2\install Microsoft Windows Network
OK                    \\192.168.1.19\Code    Microsoft Windows Network
已断开                \\192.168.1.12\xxx  Microsoft Windows Network
命令成功完成。
解决⽅案:
可以先退出原来连接的⽤户或者使⽤原来连接的⽤户名连接,就不会有这样的提⽰了。
也可以注销当前⽤户,重新登陆再打开使⽤。
可在Windons cmd下运⾏net use \\上次的linux连接 /del 也可解决问题;如net use \\192.168.1.12\xxx /del
也可删除所有链接,在Windons cmd下运⾏net use * /del /y来清除系统记录列表,即可解决问题!
-------------------------------------------------------------------------------
linux创建新用户和密码可以⽤net use 删除当前的远程连接:
net use \\192.168.1.12\xxx /del
\\192.168.1.12\xxx 已经删除。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。