linux samba服务配置(二)

简介:
接下来配置,用samba服务将linux下的共享目录共享出来
Linux下有samba有四种安全级别,即ShareUserServerDomain,它们的安全级别由低到高,在配置文件中具体由security参数指定。其中,Share级是指用户不需要账户和口令即可登录服务器;User级是Samba服务器默认的安全级别,是指服务器负责检查登陆者的账户和口令;Server级是指账户和口令的检查由另外的SambaWindows服务器负责;Domain级是指由一台Windows NT/2000域服务器负责检查账户和口令。用户在配置Samba服务器时,可以根据所需要的不同安全等级来具体配置
[root@localhost root]# cd /etc/samba/
//切换到/etc/samba目录
[root@localhost samba]# mv smb.conf smb.conf.bak
//smb.conf文件改名为smb.conf.bak
[root@localhost samba]# grep -v "#" smb.conf.bak > ./smb.conf
//显示去掉前面“#”说明,并显示文件的内容重定向导到当前目录的smb.conf文件中。
[root@localhost samba]# vim smb.conf
//打开编辑smb.conf配置文件
[global]             //设置全局参数global
   workgroup = MYGROUP //windows的工作组
   netbios name=Linuxsamba //设置主机名,Linux系统的主机名
   server string = Samba Server //samba服务说明
;   hosts allow = 192.168.1. 192.168.2. 127.
   printcap name = /etc/printcap //设置打印机配置文件路径
   load printers = yes //设置是否允许共享打印
   printing = cups  //设置目录文件的路径
;  guest account = pcguest //
 
   log file = /var/log/samba/%m.log //设置目录文件的路径
   max log size = 0 //对日志文件的文件长度不作限制
   security = share //设置User级的安全等级
;   password server = <NT-Server-Name>
;  password level = 8
;  username level = 8
   encrypt passwords = yes //设置用户采用口令加密
   smb passwd file = /etc/samba/smbpasswd //设置口令文件的路径
;   ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt
   unix password sync = Yes //设置Samba用户和Linux系统账户同步
   passwd program = /usr/bin/passwd %u //设置本地口令程序
   passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
   pam password change = yes //设置用户使用pam更改口令
;  username map = /etc/samba/smbusers
;   include = /etc/samba/smb.conf.%m
  obey pam restrictions = yes //认证用户时,服从pam管理
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 //设置服务器和客户间会话的Socket选项
   dns proxy = no //不为客户做DNS查询
 [homes] //设置用户的主目录共享
   comment = Home Directories //提供用户主目录服务
   browseable = no //其他用户不能浏览该用户主目录
   writable = yes //允许用户进行写操作
   valid users = %S
   create mode = 0664 //创建文件模式制定的权限为当前用户为读写,组用户为读写,其他用户为读
   directory mode = 0775//创建目录模式为当前用户为读写执行权限,组用户为读写执行权限,其他用户为读执行权限
; map to guest = bad user
; [netlogon] //网络登录服务共享名
;   comment = Network Logon Service //网络登录说明
;   path = /usr/local/samba/lib/netlogon //网络登录的共享文件夹路径
;   guest ok = yes //是否允许匿名用户访问
;   writable = no //是否允许匿名用户读操作
;   share modes = no //共享模式默认为否
[Profiles] //共享目录为profile
;    path = /usr/local/samba/profiles //共享目录路径
;    browseable = no //是否可浏览的
;    guest ok = yes //是否允许匿名用户访问
[printers] //设置全部打印机共享
   comment = All Printers //共享说明为所有的打印共享
   path = /var/spool/samba //打印共享目录为/var/spool/samba
   browseable = no //浏览时是否显示
   guest ok = no //是否允许匿名用户访问
   writable = no //是否允许匿名用户写操作
   printable = yes //是否允许打印
 
;[tmp] //设置共享目录名为tmp
;   comment = Temporary file space //共享目录说明
;   path = /tmp //共享目录
;   read only = no //是否为只读操作
;   public = yes //是否是公用的
 
;[public] //公用目录共享名
;   comment = Public Stuff //共享说明
;   path = /home/samba //共享目录的路径
;   public = yes //是否公开目录
;   writable = yes //是否有写的权限
;   printable = no //是否允许打印
;   write list = @staff //staff组有写的权限
 
;[fredsprn]
;   comment = Fred's Printer //共享目录说明
;   valid users = fred //说明访问fredsprn的用户是fred
;   path = /home/fred //共享路径
;   printer = freds_printer //打印机类型
;   public = no //是否允许匿名用户访问
;   writable = no //目录是否可写
;   printable = yes //是否可以打印
 
;[pchome]
;  comment = PC Directories
;  path = /usr/local/pc/%m
;  public = no
;  writable = yes
;[myshare] //共享目录名
;   comment = Mary's and Fred's stuff //共享目录说明
;   path = /usr/somewhere/shared //共享目录路径
;   valid users = mary fred //允许mary fred用户访问
;   public = no //是否允许匿名用户访问
;   writable = yes //是否有写的权限
;   printable = no //是否允许打印
;   create mask = 0765 //创建文件的默认的权限,当前用户有读写执行,组有读写权限,读执行权限
现在来试一下share安装级别,找到security=user,将其改为security=share,如果很多显示文件,可以通过下列方式寻找,在命令模式中输入/security 然后回车就行跳到安全级别security单词位置先查了一遍smb.conf文件所有的单词都标上另特定的颜色,最后跳到第一个security单词位置,按i进入编辑模式。按左右光标进行向左向右移动,按上下光标进行上下移动。
编辑好后,将光标移到末尾[myshare]共享目录这行,按Esc键转为命令模式。要将[myshare]共享目录名以后的样本前的分号去掉,将光标定在[myshare]
在命令模式,输入”:””.”点代表“当前行”,”,”逗号“到”,“$”最后一行,”s”替换“/^”行首的“;”,”\”转意符合,“//”删除
如果到这部会发现[myshare]的分号没有被删除,可以手动删除
然后保存退出
[root@localhost samba]# mkdir -p /usr/somewhere/else/public
// 创建目录 public 目录,如果前面的目录不存在,就同时创建。
[root@localhost samba]# mkdir -p /usr/somewhere/shared
// 创建目录与共享目录名下的 path 对应,如果没有 shared 前面的目录不存在,先创建,如果存在不会提示
[root@localhost samba]# service smb restart
// 重启 smb 服务 , 让配置生效
开始 运行或( win+R )在打开输入 linux IP 地址: \\172.19.22.85, 然后按确定
可以看到 myshare public 共享目录及打印机和传真共享
在目录中创建 word 文件不允许创建
[root@localhost samba]# ls -ld /usr/somewhere/else/public/
// 因为 window 访问属于其它用户,从显示的详细的文件信息中看出,其它用户只有执行的权限,其它用户对目录没有读写的权限
drwxr-xr-x    2 root     root         4096  4  12 22:19 /usr/somewhere/else/public/
[root@localhost samba]# chmod o+rw /usr/smewhere/else/public/
// 设置其它用户的权限,其它用户可以读写
// 关掉窗口在重新打开,可以对目录进行读写操作了
如果访问 myshare 是不允许访问的,安全级别不是 share 不能访问。
[root@localhost samba]# useradd mary
// 创建 mary 用户
[root@localhost samba]# useradd fred
// 创建 fred 用户
[root@localhost samba]# smbpasswd -a mary
// 设置 smb 用户 mary 的密码,可以用 smbpasswd + 用户,进行修改密码,加选项参数 -d: 删除用户权限,无法访问。 -x: 删除用户。 -e :使用户重新恢复权限。 -m :加成信任主机账户
New SMB password:
Retype new SMB password:
unable to open passdb database.
Added user mary.
[root@localhost samba]# smbpasswd -a fred
// 设置 smb 用户 fred 的密码
New SMB password:
Retype new SMB password:
Added user fred.
[root@localhost samba]#
[root@localhost samba]# grep mary /etc/passwd
// 查看 mary 用户密码 , 如果将 :x: 中的 x 去掉,该用户就不要用密码,就可以登录了。
mary:x:501:501::/home/mary:/bin/bash
[root@localhost samba]# grep fred /etc/passwd
fred:x:502:502::/home/fred:/bin/bash
[root@localhost samba]# more /etc/samba/smbpasswd
//smb 用户的密码被加密保存在 /etc/samba/smbpasswd 文件中
Security=share 的级别修改为 security = user ,然后重启 smb 服务
在访问就会弹出一个连接到172.19.22.85的对话框,要求输入用户及密码
访问一次后, mary 的用户和密码被系统记住了,如果在访问会直接跳到下面的界面。要想让目录可以读写,要同时满足两条件,一个是 smb.conf 配置权限设置,一个是目录权限设置
[root@localhost samba]# ls -ld /usr/somewhere/shared/
// 查看权限,其他用户是不可读写的
[root@localhost samba]# chmod o+rw /usr/somewhere/shared/
// 设置其它用户的权限为读写
[root@localhost samba]# ls -ld /usr/somewhere/shared/
// 查看修改的权限,其它用户是可读可写可执行
drwxr-xrwx    2 root     root         4096  4  12 22:19 /usr/somewhere/shared/
// fred 用户登录的,如果以前做的是服务器记住访问用户,当重启 Linux 系统后就用 fred 用户登录
// 可读可写可了
练习security=user 安全级别。 设一个简单的共享。
编辑 samba 主配置文件 /etc/samba/smb.conf
[root@localhost root]# cd /etc/samba
// 切换到 /etc/samba 目录
[root@localhost samba]# mv smb.conf smb.conf.bak
// smb.conf 改名为 smb.conf.bak ,进行备份
[root@localhost samba]# grep -v "#" smb.conf.bak > ./smb.conf
// 去掉 smb.conf.bak 文件以“ # ”开头的说明信息,显现剩下的内容重定向导到当前目录的 smb.conf 文件中
[root@localhost samba]# vim smb.conf
// 打开编辑 smb.conf 文件
[redhat] // 共享目录名为 redhat
comment=redhat is share directory // 说明 redhat 是一个共享目录
path=/mnt/share // 共享目录的路径
valid users = redhat @root // 只用 redhat 用户及 root 超级用户可以访问
wirte list = redhat // 只有 redhat 用户有写的权限
writable = yes // 说明目录是可写的
public = no // 是否是公用的
printable = yes // 是否可以打印
create mode = 0664 // 创建文件后,文件的权限
directory mode = 0775 // 创建目录后,目录的权限
 
然后保存退出。
[root@localhost samba]# useradd redhat
// 创建一个 redhat 用户
[root@localhost samba]# smbpasswd -a redhat
// redhat 添加 smb 密码,与 passwd redhat 没有关系呀,这个是登陆本机用户密码。
[root@localhost samba]#smbpasswd -a root
// root 用户添加 smb 密码。
[root@localhost samba]# mkdir -p /mnt/share
// 创建路径目录,如果 /mnt 不存在,同时创建。
[root@localhost samba]#chmod 0777 /mnt/share
// 给用户添加,当前用户,组,及其他用户,对目录 /mnt/share 有读写执行的权限。
[root@localhost samba]# service smb restart
// 重启 smb 服务,让配置文件重新加载
最好在 win7 进行访问 ,win+R (开始 -- 运行): \\IP linux 下的 IP 地址)回车。
用户输入 :redhat
密码 :*** (你设置的 redhat smb 密码)
 
打完收工!!!









本文转自 chen138 51CTO博客,原文链接:http://blog.51cto.com/chenboqiang/297091,如需转载请自行联系原作者
目录
相关文章
|
16天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
39 5
linux系统服务二!
|
16天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
37 3
linux系统服务!!!
|
9天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
30 9
|
11天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
28 5
|
2月前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
149 64
|
21天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
90 3
|
21天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
66 3
|
25天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
39 2
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
280 3
|
1月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器