===============================================

[global]workgroup = WORKGROUPserver string = Samba Server Version %vnetbios name = MYSERVERinterfaces = lo eth0 192.168.1.0/24hosts allow = 127. 192.168.1.log file = /var/log/samba/log.%mmax log size = 50security = share #匿名访问#只允话任何人读,复制,不允许上传[myshare]comment = Public Stuffpath = /tmp/mysharepublic = yeswritable = yes  #增加可写(此时可实现任何人可上传下载创建文件,但是不能进行任何删除操作)guest ok = yes

-----------------------------------------------

操作:新建目录

#mkdir /tmp/myshare

#chown -R nobody:nobody /tmp/myshare

#chmod 720 /tmp/myshare   //实现任何人具有删除操作:权限配置必须至少是:720 (同组用户有写的权限)

//进入目录要有“读(4)”权限,删除要有“写(2)”权限,创建文件要有“执行(1)”权限

setsebool -P allow_smbd_anon_write on   //重要

===============================================

使用家目录

security = user  //samba服务验证用户

[homes]

        comment = Home Directories

        browseable = no

        writable = yes

        valid users = %S        //可访问的用户

-----------------------------------------------

操作:需开通setsebool家目录

setsebool -P samba_enable_home_dirs on

//添加smb用户

#smbpasswd -a stu1  (已是linux的用户)

密码

===============================================

全局配置中加==>实现不同用户不同组的权限配置

include = /etc/samba/%U.smb.conf 表示使samba服务器加载/etc/samba目录下格式为“用户名.smb.conf”的配置文件。

include = /etc/samba/%G.smb.conf 表示使samba服务器加载/etc/samba目录下格式为“组名.smb.conf”的配置文件。

===============================================

添加用户和组

#groupadd 组名

#useradd 用户名

#useradd -g 组名 用户名  //添加用户到组

包含到配置的共享目录下

valid users = 用户名   //该目录只供该“用户句”访问

valid users = @组名    //该目录只供该“该组员用户”访问

将一个用户添加到用户组中,千万不能直接用: usermod -G groupA  这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。

应该用 加上 -a 选项:

usermod -a -G groupA user

===============================================

linux下登陆samba服务器

//查看samba上的目录

#smbclient  -L //samba_ip地址 -U 用户名

//登陆

#smbclient  //samba_ip地址/目录 -U 用户名

客户端挂载

mount -t cifs -l //samba_ip地址/目录 /mnt/samba/

===============================================

如果你想允许samba 输出NTFS / fusefs卷。

setsebool-P samba_share_fusefs 1

如果你想允许Samba共享任何文件/目录只读。

setsebool-P samba_export_all_ro 1

如果你想允许的virt CIFS文件管理。

setsebool-P virt_use_samba 1

如果你想要让samba创建新的主目录(例如,通过PAM)。

setsebool-P samba_create_home_dirs 1

如果你想允许Samba共享用户的主目录。

setsebool-P samba_enable_home_dirs 1

如果你想允许samba导出NFS卷。

setsebool-P samba_share_nfs 1的

如果你想,让sanlock管理CIFS文件。

setsebool-P sanlock_use_samba 1

如果你想允许samba无限制的运行脚本。

setsebool-P samba_run_unconfined,1

如果你想允许Samba作为域控制器上,添加用户,组和更改密码。

setsebool-P samba_domain_controller 1

如果你想允许Samba共享任何文件/目录的读/写。

setsebool-P samba_export_all_rw 1

如果你想允许samba作为一个端口映射。

setsebool-P samba_portmapper 1

如果你想要,支持SAMBA家目录。

setsebool-P use_samba_home_dirs 1

如果你想要让samba修改用于公共文件传输服务的公开的文件。文件/目录必须public_content_rw_t标签。

chcon -t public_content_rw_t /目录

setsebool-P allow_smbd_anon_write 1

===============================================

samba-swat部分

===============================================

samba的sebool布尔值修改:

===============================================

加入域

centos :setup

可参考:http://rainbird.blog.51cto.com/211214/19750

#net ads join -U administrator //总出错,不想搞了   时提示Using short domain name -- TESTJoined 'CENTOS5' to dns domain 'test.cn'No DNS domain configured for centos5. Unable to perform DNS Update.DNS update failed!#net rpc join -U administrator //这个可以加入域

===============================================

samba实现windows2003域用户认证

域用户登陆后自动创建以域用户为名的samba家目录

[global]    workgroup = DEMO    password server = 172.16.1.1    realm = DEMO.COM    security = ads    idmap uid = 16777216-33554431    idmap gid = 16777216-33554431    winbind separator = /    template homedir = /home/%U    template shell = /sbin/nologin    winbind use default domain = true    winbind offline logon = true    winbind enum groups = yes    winbind enum users = yes    server string = Samba Server Version %v    log file = /var/log/samba/log.%m    max log size = 50    smb passwd file = /etc/samba/smbpasswd    load printers = yes    cups options = raw[homes]    comment = Home Directories    path = /home/%U    browseable = no    writable = yes    valid users = demo.com/%U    root preexec = /root/mkhome.sh %U %G                                                      [samba_share]    comment = Public Stuff    path = /tmp/samba_share    public = yes    writable = yes    guest ok = yes    valid users = @TEST

===============================================

mkhome.sh文件

原地址:

#!/bin/bashuser=$1group=$2home=/share/$1if [ ! -d $home ]then    mkdir -p $home    chown $user $home    chgrp $group $home    chmod 700 $home    edquota -p adminstrator -u $userfi

===============================================