安装
启动:/etc/init.d/smb start
停止:/etc/init.d/smb stop
重启:/etc/init.d/smb restart
1. 设置共享
2. linux 通过 sambus 访问 windows
1. 查看 windows 上的共享目录
# smbclient -L //192.168.0.141 -U administrator *** 接下来要求输入密码. 没有的话得创建一个. |
注: 1) 192.168.0.141:windows 上的IP 2) administrator: windows 上的用户名 访问成功后显示: |
2. 访问windows上的某共享目录
# mount -t cifs -o username=administrator //192.168.0.141/E$ /mnt/winshare *** 接下来被要求输入密码 |
注: 1) E$: 要访问的目录 2) winshare: 如果没有那得mkdir 一个 3) administrator: 用户名 |
windows通过 sambus 访问 linux
直接在地址栏输入,比如: \\192.168.1.105
为samba用户增加密码
例如,你要发布一个game目录,只允许用户user1访问,
1.编辑/etc/samba/smb.conf文件,增加这样一节:
[game]
comment = this is game directory
path = /home/game/
valid users = user1
public = no
writable = yes
printable = no
create mask = 0700 这是权限设置 write, read, 一般不添
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
2.运行smbpasswd命令为该用户设置密码:
smbpasswd -a user1 注意:这个用户必须是系统用户!参见下面: 设置系统用户
密码会写入/etc/samba/smbpasswd文件中。这是由smb.conf中的以下配置所决定的:
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
3.重新启动smb使配置生效:
service smb restart
或者:
#/etc/init.d/samba restart
或者:
#/etc/init.d/smbd restart
设置系统用户:
useradd user1 // 添加用户名
passwd user1 // 设置密码, 可以和smbpasswd 密码相同
如何为各用户设置权限?
这里有一完整的Ubuntu samba添加用户
以root根用户进行操作,如果您不是,请在每条命令前加上sudo ==============简单步骤========== #sudo adduser blue #smbpasswd -a blue #vim /etc/samb/smb.conf [blue] comment = blue path = /home/blue public = yes guest ok = no writable = yes #/etc/init.d/samba restart ==================================== 步骤1:安装samba #apt-get install samba #apt-get install smbfs 步骤2:添加linux用户 #useradd user1//添加用户名user1 #passwd user1 //给用户名user1添加密码 #mkdir /home/user1 //建立user1的home目录,如果不用这个用户名来登陆linux,此步骤不是必需 #chown -R user1:user1 /home/user1//给user1的home目录设置好权限 步骤3:给samba服务器添加用户 说明:登陆samba的用户必须已经是linux中的用户 #smbpasswd -a user1 //添加并给user1设置samba密码 步骤4:smb.conf设置 #cd /etc/samb //进入设置目录 #mv smb.confsmb.conf.bak //做好备份,直接将系统默认配置文件改名 #vim smb.conf //建立和配置smb.conf文件 [global] workgroup=x1 //X1为你局域网中的工作组名 server string=x2 //x2为你linux主机描述性文字,比如:samba server。 security=user //samba的安全等级,user代表需要输入用户名和密码,改成share则不需要输入用户名和密码 [x3] //方框号中的x3这个名字可以随便取,只是在win的网上邻居中显示的共享文件夹名 path=/home/x4 //x4为你要共享的文件夹名,在共享前还要建立这个文件夹,并设好权限以便访问,下面会说明。 valid users=user1 //这个x4共享目录只允许user1这个用户进入 public=no //no表示除了user1这个用户,其它用户在进入samba服务器后看不见x4这个目录,如果为yes,虽然能看见x4这个目录,但除了user1这个用户能进入这个目录,其它人进不了。 writable=yes //允许user1在x4目录中进行读和写操作,反之no //存盘退出 #testparm //检查一下语法错误,比如拼错 步骤5:建立共享目录 #mkdir /home/x4 #chown -R user1:user1 /home/x4 //因为是root建立的目录,其它用户只有读的权限,所还得把权限改一下。当然也可以简单的用#chmod 777 /home/x4。还有个问题就是共享里目录的文件如果有些能访问有些不能访问,那肯定也是权限的问题,进入/home/x4,直接#chmod 777 *来解决。 步骤6:重启samba服务 #/etc/init.d/samba restart 设置samba服务要注意以下两点(即两个两次): 1.添加两次用户:一次添加系统用户#useradd user1;再一次是添加samba用户#smbpasswd -a user1; 2.设置两次权限:一次是在smb.conf中设置共享文件夹的权限:再一次是在系统中设置共享文件夹的权限#chmod 777 文件夹名。 按照楼主的做法设置, 用WINDOWS登陆到samba的时候报错, 显示如\\10.x.x.x 无法访问, 你可能没有权限使用网络资源.... 这样的错误. 请问这是怎么回师? 如果设置passdb backend = tdbsam 则可以访问 passdb backend = tdbsam 用tdbsam的时候,密码文件是放在 /var/lib/samba/passdb.tdb 而没有这句,当然也就找不到SMB用户和密码,即提示没用权限了。 | |
# smbpasswd oracle
New SMB password:
Retype new SMB password:
Failed to find entry for user oracle.
Failed to modify password entry for user oracle
可能是太久没有使用它了,有些命令都不记得了,看来要man一下。
解决方法,加参数'-a':
# smbpasswd -a oracle
好记性不如烂笔头,好多东东不用就忘记了。