https://wiki.samba.org/index.php/Samba_AD_DC_Port_Usage

安装后开放端口

1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:445
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:139

发现samba可以连接,但没有显示文件列表.

于是google,发现需要设置selinux。

http://danwalsh.livejournal.com/14195.html

setenforce 0 先关闭selinux看是否正常访问,若正常,则是selinux的问题,再开启selinux,设置:

允许home目录共享:

setsebool -P samba_enable_home_dirs 1

特定目录,未测试:

chcon -R -t samba_share_t /var/eng  


Reference:

Confining Samba with SELinux
November 9th, 2007
My next few blogs will be taking different confined domains and writing about the types and booleans related to that domain, I will be updating the man pages for these confined domains.  And then showing how the policy for the domain works.

samba has had a man page available for some time named samba_selinux, here is my rewrite for Fedora 7/8

> man samba_selinux

samba_selinux(8)      Samba Selinux Policy documentation      samba_selinux(8)

NAME
       samba_selinux - Securing Samba with SELinux

DESCRIPTION
      
Security-Enhanced  Linux  secures  the Samba server via flexible
mandatory access control.  SELinux Samba policy defaults to least
privilege access.  Several Booleans and file contexts are available to
customize the way Samba SELinux works.

SHARING FILES
      
SELinux requires files be labeled with an extended attribute to define
the file type.  Policy governs the access daemons have to these files.
When sharing files with Samba you have many options  on  how  to label
the files.  If you want to share files/directories other than home
directories or standard directory.  You should label these
files/directories as samba_share_t.  For example if you created the
directory /var/eng, you can label the directory and its contents with
the chcon tool.

# chcon -R -t samba_share_t /var/eng

This label will not survive a relabel.  A better solution to make the
change permanent, you must tell the SELinux system about the label
customization.  The semanage command can customize the  default  file
contexts on your machine. restorecon will read the file_context and
apply it to the files and directories..

# semanage fcontext -a -t samba_share_t ’/var/eng(/.*)?’
       # restorecon -R -v /var/eng

SHARING HOME DIRECTORIES
      
By  default  SELinux  policy  turns  off  SELinux  sharing  of  home 
directories  If  you  are  setting  up  this  machine  as  a  Samba 
server  and wish to share the home directories, you need to set the 
      samba_enable_home_dirs boolean.

# setsebool -P samba_enable_home_dirs 1

SHARING PUBLIC FILES
      
If you want to share files with multiple domains (Apache, FTP, rsync,
Samba), you can set a file context of public_content_t and
public_content_rw_t.  These context allow any of the above  domains  to 
read
       the content.  If you want a particular domain to write
to the public_content_rw_t domain, you must set the appropriate
boolean.  allow_DOMAIN_anon_write.  So for samba you would execute:

# semanage fcontext -a -t public_content_rw_t ’/var/eng(/.*)?’
       # restorecon -R -v /var/eng
       # setsebool -P allow_smbd_anon_write 1

SHARING FILES SYSTEM FILES
      
Note:  You  should  not  do  the above for standard directories or home
directories!  For example directories owned by an RPM.  If you wanted
to share /usr via Samba, changing its context and all of the sub
directories  to samba_share_t would be a bad idea.  Other confined
domains would no longer be able to read /usr and this would cause havoc
on the machine.  There are two booleans that you can set  to  allow the
sharing of standard directories.  If you want to share any standard
directory read/only you can set the boolean samba_export_all_ro.

# setsebool -P samba_export_all_ro 1

This boolean will allow Samba to read every file on the
system.Similarly if you want to share all files and directories via
Samba, you set the samba_export_all_rw

# setsebool -P samba_export_all_rw 1

This boolean would allow Samba to read and write every file on your
system.  So a compromised Samba server would be very dangerous.

SHARING PUBLIC NFS FILES
      
SELinux prevents the Samba daemons from reading/writing nfs shares by
default.  If you are using samba to share NFS file systems you need to
turn on the samba_share_nfs boolean

# setsebool -P samba_share_nfs 1

USING CIFS/SAMBA HOME DIRECTORIES
      
Samba  SELinux  policy will not allow any confined applications to
access remote samba shares mounted on your machine.  If you want to use a
remote Samba server for the home directories on this machine, you must
set the use_samba_home_dirs boolean.

# setsebool -P use_samba_home_dirs 1

SAMBA Scripts
      
Samba can be setup to run user defined scripts, by default if you
install these scripts /var/lib/samba/scripts they will be labeled
samba_unconfined_script_exec_t.  Since these scripts  can  do  just 
about  anything on the system you can run them as unconfined.  But you
need to turn on the samba_run_unconfined boolean

# setsebool -P samba_run_unconfined 1

If  you  are  willing  to  write  policy  an  interface  exists  in 
samba.if  called  samba_helper_template(APP).   This  interface  will 
create  a file context of samba_APP_script_exec_t, and a domain of
samba_APP_script_t. Samba will transition scripts labeled
samba_app_script_exec_t to samba_APP_script_t, you can then user
audit2allow to write policy to confine your script.

USING SAMBA AS A DOMAIN CONTROLLER
      
If you want to run samba as a domain controller, IE Add machines to the
passwd file on a Linux box, you need to turn on the
samba_domain_controller boolean.  This allows the Samba daemon to run
and  transition to the passwd, useradd, and groupadd utilities.  These
tools can manipulate the passwd database.

GUI system-config-selinux
       system-config-selinux is a GUI tool available to customize all of the SELinux booleans and file context described above.

AUTHOR
       This manual page was written by Dan Walsh <dwalsh@redhat.com>.

SEE ALSO
       selinux(8), semanage(8), samba(7), chcon(1), setsebool(8), restorecon(8),

dwalsh@redhat.com                 9 Nov 2007                  samba_selinux(8)

Samba配置的更多相关文章

  1. debian下samba配置

    debian下samba配置  http://blog.chinaunix.net/uid-2282111-id-2113216.html 服务器端配置过程:1. apt-get install sa ...

  2. samba配置中常见错误收集.txt

    在命令行输入命令: ~$ smbclient -L \\127.0.0.1按要求输入密码后,提示出错:session setup failed: NT_STATUS_LOGON_FAILURE 这是因 ...

  3. centos samba/squid 配置 samba配置 smbclient mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squid配置 3128 DNSPOD 第二十七节课

    centos  samba/squid 配置  samba配置 smbclient  mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squ ...

  4. 通过视频展示如何通过Samba配置PDC

    通过视频展示如何通过Samba配置PDC(Linux企业应用案例精解补充视频内容) 本文通过视频,真实地再现了在Linux平台下如何通过配置smb.conf文件而实现Samba Server模拟win ...

  5. Centos7 samba配置

    目录 免密码只读 加密码可读写 Samba配置了很多次,总是忘,现在写在博客里. 免密码只读 最主要的是免密配置,主要用到了两个配置,要写在[global]里: map to guest = Bad ...

  6. samba 配置参数详解

    samba 配置参数详解: 一.全局配置参数  workgroup = WORKGROUP说明:设定 Samba Server 所要加入的工作组或者域. server string = Samba S ...

  7. 新建samba配置步骤

    Linux系统默认已经安装了Samba,但是没有安装Samba服务: 1,先查看安装情况:rpm -qa|grep samba 根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包. 我的安装情况 ...

  8. (转)Ubuntu samba配置服务文件包

    转:http://os.51cto.com/art/201001/176366.htm Ubuntu samba服务配置是很不错的文件应用很有学习价值,这里我主要讲解Ubuntu samba服务配置的 ...

  9. Linux samba配置

    更详细的配置地址:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html 1 安装  yum -y install samba 2 ...

  10. samba配置只读共享

    编辑smb.conf 1.在[global]中 找到 security = 将其改为 security = share 2. 在文件中加入自定义的共享目录 [attachment] path=/dat ...

随机推荐

  1. HDU4307 Matrix(最小割)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4307 Description Let A be a 1*N matrix, and each ...

  2. Android -- 自定义ImageView(圆形头像)

    1.  原图

  3. CSS中id与class命名规则及编码最佳习惯

    一.用class_name方式写类名. 以前喜欢用class-name写,不过好像两样也没什么差别.但我比较反对用className写类名,因为始终对浏览器大小写敏感的问题抱有怀疑态度.但是id我会写 ...

  4. 【android】新手容易遇到的[error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'.]Theme出错的问题

    一.概述 近期刚接手了一个项目,开发工具为eclipse,由于版本较低,且考虑到如果转android studio项目的话,会其他人的维护带来困难,所以想着还是维护项目原来的开发环境吧. 但是导入项目 ...

  5. WordPattern

    Given a pattern and a string str, find if str follows the same pattern. Examples: pattern = "ab ...

  6. html使用心得

    (1)<textarea style= "word-break:break-all" rows="5" cols="20"> 在 ...

  7. c#面向对象基础 静态成员、构造函数、命名空间与类库

    静态成员 属性.方法和字段等成员是对象实例所特有的,即改变一个对象实例的这些成员不影响其他的实例中的这些成员.除此之外,还有一种静态成员(也称为共享成员),例如静态方法.静态属性或静态字段.静态成员可 ...

  8. 求最大连续bit数

    描述 功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1    输入: 一个byte型的数字    输出: 无     返回: 对应的二进制数 ...

  9. SQL Server如何添加登录名

    1.电脑上如果安装有SQL Server,我们在开始里面打开SQL Server Management Studio,或者以桌面的快捷方式等打开SQL Server. 2.首先以Windows身份验证 ...

  10. window svn backup.bat

    help command /? call /? %cd% 可以用在批处理文件中,也可以用在命令行中:展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面, %0代指批处理文件自身 ...