1、在线安装samba服务
# yum install samba samba-client samba-swat
2、备份samba 主配置文件,文件目录 /etc/samba/samba.conf
# cp smb.conf smb.conf.backup
3、修改samba.conf配置文件
修改之后如下:其他没有显示的代码全部关掉 [global] netbios name = MDITIP_SERVER \\网络显示服务器名称 server string = Samba Server Version %v \\服务器一些描述信息 security = SHARE \\安全级别 log file = /var/log/samba/log.%m \\日志信息 idmap config * : backend = tdb hosts allow = 127., 192.168.17., 192.168.1. \\允许访问的IP段 [public] comment = Gene pictures \\对共享目录的说明文件,自己可以定义说明信息 path = /work/mditip/pictures \\共享路径 read only = No \\是否只读 guest ok = Yes \\所有人可查看,等效于public = yes 安全级别说明: 1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。 2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。 账号和密码要在本Samba Server中建立。 3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。 此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上, 使用 Windows NT进行Samba认证远程服务器可以自动认证全部用户和口令, 如果认证失败,Samba将使用用户级安全模式作为替代的方式。 4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
4、修改共享文件的权限 /work/mditip/pictures
chmod 777 -R /work/mditip/pictures
5、重新启动smb服务
service smb restart
service nmb restart
6、如果遇见windows客户端无法写入的情况(提示没有权限)可能是SELinux开启有关
解决办法
运行:setenforce [0|1]
参数说明:
0 :转成 permissive 宽容模式; 1 :转成 Enforcing 强制模式
7、之后就可以访问了
SELinux说明
1、SELinux的启动、关闭与查看
并非所有的 Linux distributions 都支持 SELinux 的 目前 SELinux 支持三种模式,分别如下: 1)、enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了; 2)、permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。 这种模式可以运来作为 SELinux 的 debug 之用; 3)、disabled:关闭,SELinux 并没有实际运作。
2、查看SELinux的模式
# getenforce Enforcing <==就显示出目前的模式为 Enforcing
3、查看 SELinux 的政策 (Policy)
# sestatus SELinux status: enabled <==是否启动 SELinux SELinuxfs mount: /selinux <==SELinux 的相关文件资料挂载点 Current mode: enforcing <==目前的模式 Mode from config file: enforcing <==设定档指定的模式 Policy version: 21 Policy from config file: targeted <==目前的政策为何?
4、通过配置文件调整SELinux的参数
# vi /etc/selinux/config SELINUX=enforcing <==调整 enforcing|disabled|permissive SELINUXTYPE=targeted <==目前仅有 targeted 与 strict
5、SELinux 的启动与关闭
【重要常识】 上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机; 如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,那也必须要重新开机。 这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的! 同时,由 SELinux 关闭 (disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述文件修改成为 enforcing 吧! 【重点】如果要启动SELinux必须满足以下两个点: 所以,如果你要启动 SELinux 的话,请将上述的 SELINUX=enforcing 设定妥当, 并且指定 SELINUXTYPE=targeted 这一个设定, 并且到 /boot/grub/menu.lst 这个文件去,看看核心有无关闭 SELinux 了呢? [[email protected] ~]# vi /boot/grub/menu.lst default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-92.el5) root (hd0,0) kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet selinux=0 initrd /initrd-2.6.18-92.el5.img # 如果要启动 SELinux ,则不可以出现 selinux=0 的字样在 kernel 后面! 【问题】如果将启动着的SELinux改为禁用,需要重启电脑,我们不想重启电脑又不想开启SELinux该怎么办呢? 【答案】将强制模式改为宽松模! [[email protected] ~]# setenforce [0|1] 选项与参数: 0 :转成 permissive 宽容模式; 1 :转成 Enforcing 强制模式 范例一:将 SELinux 在 Enforcing 与 permissive 之间切换与查看 [[email protected] ~]# setenforce 0 [[email protected] ~]# getenforce Permissive [[email protected] ~]# setenforce 1 [[email protected] ~]# getenforce Enforcing
6,查看已启动程序的type设定
[[email protected] oracle]# ps aux -Z LABEL USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND system_u:system_r:init_t root 1 0.0 0.4 2060 520 ? Ss May07 0:02 init [5 system_u:system_r:kernel_t root 2 0.0 0.0 0 0 ? S< May07 0:00 [migra] system_u:system_r:kernel_t root 11 0.0 0.0 0 0 ? S< May07 0:00 [kacpi] system_u:system_r:auditd_t root 4022 0.0 0.4 12128 560 ? S<sl May07 0:01 auditd system_u:system_r:auditd_t root 4024 0.0 0.4 13072 628 ? S<sl May07 0:00 /sbin/a system_u:system_r:restorecond_t root 4040 0.0 4.4 10284 5556 ? Ss May07 0:00 /usr/sb 说明:其实这些东西我们都不用管,都是SELinux内置的。只要学会在强制和宽松模式间转换就行了!
时间: 2024-10-25 11:00:15