Samba服务器安装及配置
Samba最早诞生在unix操作系统上面,samba是基于SMB(Server Message Block)协议,是一种客户端服务器协议
一、安装samba
# yum -y install samba
启动/etc/rc.d/init.d/smb start
开机自启动
chkconfig --level 35 smb on
查看端口
netstat -tlunp | grep smb
在/etc/sysconfig/iptables 开放以下端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 138 -j ACCEPT
二、配置
使用用户登录方式登录samba
# vim /etc/samba/smb.conf
security = user
samba有自己的密码管理机制,所以samba在要添加系统用户的samba
security = share谁都可以访问哦
security = server由另外一台做用户认证
密码方式tdbsam、sabpasswd映射系统用户;ldapsam基于ldap方式
密码:
# smbpasswd –a root
输入密码
另外一种方法tdbsam
密码:
# pdbedit -a smbuser1
输入密码
添加共享目录:
# vim /etc/samba/smb.conf
[代码] 访问目录的名字如//192.168.1.164/代码
path = /code 192.168.1.164的实际路径
public = yes
writable = yes
create mode = 0666
directory mode = 755
valid users = lisi,fanjinbao,@mysql 允许的用户和用户组
配置完成后可以用
# /etc/rc.d/init.d/smb reload 重新加载配置文件
# testparm /etc/samba/smb.conf 检查配置文件
Windows直接在地址栏输入\\ip地址即可
Linux下访问samba共享目录的方法
# smbclient //192.168.1.164/code
Linux下用密码访问的方式
# smbclient -Usmbuser1 //192.168.1.201/fansik
Linux挂载samba目录需要安装cifs-utils包
yum -y install cifs-utils
mount -t cifs //192.168.1.164/fanjinbao /mnt/smbdir
mount -t cifs //192.168.1.164/fanjinbao /mnt/smbdir –o user=fanjinbao,passwd=fanjinbao
实例操作
1、 创建组operation
2、 共享目录/share/work
3、 组中成员只能更改自己的文件
4、 同组中的其他用户可以查看同组员文件
5、 除了本组以外的用户不可以查看operation中的任何文件
创建组合用户以及共享目录
# groupadd operation
# useradd -g operation user1
# useradd -g operation user2
# mkdir -p /share/work
添加samba的登录密码
# smbpasswd -a user1
# smbpasswd -a user2
设置work目录权限
chmod 1770 /share/work
chown :operation work
编辑samba的配置文件:# vim /etc/samba/smb.conf
[work]
path = /share/work
public = yes
writable = yes
create mode = 0644
directory mode = 755
valid users = @operation
如果windows连接samba是报错:不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接
解决办法:
1、 用net use命令可以查看你当前与网络资源的连接,例如驱动器映射、IPC连接。
2、 用net use * /del /y命令中断开所有连接
温馨小提示:
Samba中的用户只是用来访问共享出来的文件的,所以在创建用户的时候应该限制该用户登录到系统中去,进行文件更改等误操作,具体做法可以在创建用户的时候制定其登录的shell为nologin。也可以在创建完成后进行更改。
具体做法
1、 创建用户时:useradd -s /sbin/nologin xiaowang -g operation
2、 修改用户的shell:usermod –s /sbin/nologin xiaowang
3、 当然也可以创建用户不给其密码。