mkdir /software;
2、添加用户(因为samba你的用户必须是系统的用户):
useradd mery;
useradd Jack;
passwd mery;
passwd Jack;
3、如果安装了SELinux,这也是系统的一个防火墙,执行命令允许用户可访问系统目录;
#setsebool -P samba_enable_home_dirs on//
(2)如果想让其永久关闭我们可以在配置文件里永久的改变:
/etc/sellinux/config SELINUX-disable //改成配置文件;永久有效
(3) 也可以可以直接把一个目录让SELinux可以访问;
chcon -t samba_share_t /software //
4、vi /etc/samba/smb.conf //修改samba的配置文件;
[software] //共享名,不一定和路径名一样;
path= /software //共享目录 path只能共享一个文件路径;
valid users= Jack mary //指定用户 //如果写错,那么就是所有的用户都能访问,比如users 写成user。如果不写,那就是所有的samba用户都能看见;
writable= yes 权限
5、关闭防火墙:
#iptables -F
或者:
service iptables stop;//如果不关闭,则会出现没有验证过程,不会弹出窗口的错误;
(2)、如果安装了SELinux,我们需要将某个目录设置为可访问:
SELinux #setsebool -P samba_enable_home_dirs on
/etc/sellinux/config SELINUX-disable //永久改变其权限;
6、给定samba用户一个验证密码
smbpasswd -a mery //给一个smbpasswd -a 的密码,这个用户是系统的用户的;现在加入到samba服务器中
smbpasswd -a jack
7、重启服务,有的不需要重启就可以。
/etc/rc.d/init.c/smb restart
或者:
service smb restart
有时候smb和nmb是分别启动的,那么这时候我们就需要分别对其进行启动;
/etc/rc.d/init.c/nmb restart
8、访问:用windows的CMD里输入linux的IP地址验证后访问,可以看见一个宿主文件,自己的,还有一个共享的文件夹;
出现验证对话框:
groupadd softadmin //创建组
gpasswd -a Jack softadmin
gpasswd -a mery softadmin
chgrp softadmin /software //改变目录的所属组;
chmod g+w /software 改变组的权限;
2、测试语法错误:
testparm
然后回车就能看见自己的配置文件;这个很好用,可以用于检查;
ls -ld /software
grep software /etc/grop //看一下这个组;
注:samba配置文件里的文件如果写错,就是等于没写;
#iptables -F
或者:service iptables stop;//检测端口,没有验证窗口的弹出过程;
(2)、不关闭,验证通过了没有访问权限;
SELinux #setsebool -P samba_enable_home_dirs on
如果忘记了策略名称,则查看一下;
getsebool -a |grep samba
(3)永久关闭SELinux的防火墙:修改配置文件
/etc/sellinux/config SELINUX-disable
(4)、我让samba可以使用该共享目录
chcon -t samba_share_t /software
//需要声明一下,可以直接把一个目录让SELinux可以访问;
smbstatus
查看日志:
ls /var/log/samba
[root@localhost etc]# smbclient //192.168.247.128/software -U jack
Password:
session setup failed: NT_STATUS_LOGON_FAILURE
通过分析发现可能是系统或者samba中某一处用用户引起的,正确的应该是samba和系统中同时有该用户!
[root@localhost etc]$ whereis smbpasswd
smbpasswd: /usr/bin/smbpasswd /usr/share/man/man8/smbpasswd.8.gz /usr/share/man/man5/smbpasswd.5.gz
[root@localhost etc]$ /usr/bin/smbpasswd -a jack
创建完samba密码后再连接就OK了!
[root@localhost etc]# smbclient //192.168.247.128/download -U jack
Password:
Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
smb: \>
大公告成!
service iptables stop;
3、否则会出现在验证通过后,进去了没有访问文件夹的权限的错误;
setsebool -P samba_enable_home_dirs on
4、windows如何切换用户:
net use
再次登录:会话断开;
(1) net use * /delete /y 不用问我确认;
(2) net use * /del 最后再确认: y;
rpm -q samba
如果没有安装,则会显示“no samba package”.
rpm -qa | grep samba
2、samba路径 : /etc/rc.d/init.d/smb
/etc/rc.d/init.d/smb start
4、samba的两个守护进程: smbd(监听139TCP端口) 和 nmbd(137和138UDP端口)
rpm -ql samba-common | grep smb.conf :查找smb.conf 配置文件
Samba配置文件应存放在:
/etc/samba/smb.conf
setsebool -P samba_enable_home_dirs on
不知道启动那个可以查找:
getsebool -a | grep samba
(2)、设置用户Samba验证密码
smbpasswd -a 用户名
(3)、启动samba服务
/etc/rc.d/init.d/smb start
(4)、Windows客户端访问samba服务器共享资源:
smbstatus
查看日志:
ls /var/log/samba
7、本地查看远程连接是否
net use
本地关闭远程连接:
net use * /delete /y