建立samba实际上不难!
rpm -qa | grep samba查看samba是否安装上
samba-common-3.5.10-116.el6_2.i686
samba-3.5.10-116.el6_2.i686
samba-winbind-clients-3.5.10-116.el6_2.i686
samba-client-3.5.10-116.el6_2.i686
独立服务器上,samba-winbind 不需要
chkconfig smb on
chkconfig nmb on
cat /etc/samba/smb.conf
#samba config file created by gogo11 #Date 2011.12.31 [global] workgroup = MYGROUP netbios name = FileServer server string = Samba Server Version %v encrypt passwords = yes hosts allow = 192.168.0. 127. config file = /etc/samba/lib/smb.conf.%U security = user # smb passwd file = /etc/samba/smbpasswd passdb backend = tdbsam username map = /etc/samba/smbusers public = yes guest ok = yes guest account = pcguest time server = yes # unix password sync = yes printcap name = /etc/printcap load printers = yes cups options = raw #logs split per machine log file = /var/log/samba/log.%m max log size = 50 #socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #Local master vote local master = yes os level = 64 domain master = yes #[homes] #comment = Home Directories #browseable = no #writable = yes #valid users = %S #create mode = 0644 #directory mode = 0755 [光盘镜像] comment = 可以挂载收集的ISO文件的共享目录 path = /media/Tools/ISO browseable = yes public = yes read only = yes |
需要注意的是,如果 security = user,下边的实际上可以不要!
public = yes guest ok = yes guest account = pcguest |
windows登录时候会使用windows本地登录名登录,这个时候,除非你连samba的时候用了记住用户名和密码!
smb.conf.%U里边%U,指的是登录用户名,必须小写,否则专用配置不起作用,只有smb.conf作用,因为windows链接的时候用户名会被转化为小写。
注意:如果一个用户需要和修改2个以上其他用户的文件,但其他两个用户互相不允许修改彼此文件。这个时候利用samba本身的特性,使用smbusers文件
user = user user01 user02 |
然后单独配置smb.conf.user、smb.conf.user01和smb.conf.user02,windows分别用用户名user、user01和user02登录,写权限在各自的smb.conf中配置,也就解决了多组共存的问题。看起来3个人当一个人用,但samba又把他们分了开来!
使用:
netstat -lnp | grep smb;netstat -lnp nmb |
查看samba服务端口,把它添加到/etc/sysconfig/iptables里边,开放防火墙端口。
[root@FileServer gogo11]# cat /etc/sysconfig/iptables # Firewall configuration written by 天地っ神话 # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT #-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -s 192.168.2.251/32 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -s 192.168.2.253/32 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -s 192.168.2.0/24 -p tcp -m state --state NEW -m tcp --dport 139 -j ACCEPT -A INPUT -s 192.168.2.0/24 -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT -A INPUT -s 192.168.2.0/24 -p udp -m state --state NEW -m udp --dport 137 -j ACCEPT -A INPUT -s 192.168.2.0/24 -p udp -m state --state NEW -m udp --dport 138 -j ACCEPT -A INPUT -s 192.168.2.0/24 -p tcp -m state --state NEW -m tcp --dport 631 -j ACCEPT -A INPUT -s 192.168.2.0/24 -p udp -m state --state NEW -m udp --dport 631 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT |
---------------------------------------------------------------------------------------------------
以下是收集的,后边测试:
密码同步(让SAMBA服务器用户密码与登陆LINUX系统密码同步,就是用户想改SAMBA服务器密码,只须改自己的系统登陆密码),smb.conf里边更改为:unix password sync = yes,passwd program = /usr/bin/passwd %u 。主要加上一行使用 pam_smbpass那一行,注意於 cracklibs那行后边 那行後就可以。 auth required pam_env.so |
selinux的控制:
修改selinux状态,能保证在不关闭selinux的情况下使用samba。 setsebool -P samba_domain_controller on 如果不需再Samba使用默认共享的用户家目录,可不比执行。 setsebool -P samba_enable_home_dirs on 如果在整个Samba所有的共享目录均为只读时运行 setsebool -P samba_export_all_ro on 如果在整个Samba所有的共享目录有可写时运行 setsebool -P samba_export_all_rw on 如果在整个Samba所有共享目录中有允许建立目录时运行 chcon -R -t samba_share_t 欲共享的本地目录名 setsebool -P smbd_disable_trans=1 chcon -R -t samba_share_t /bin/mount chcon -R -t samba_share_t /bin/umount 如果需要共享光驱时使用运行 setsebool -P swat_disable_trans=1 如果需要使用Swat时运行 setsebool -P smbd_disable_trans=1 如果需要使用Pam模块进行访问控制时运行 |
转载于:https://blog.51cto.com/gogo11/1069774