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,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
416 3
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
311 11
|
5月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
365 25
|
3月前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
155 0
|
5月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
197 10
|
6月前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
960 21
|
5月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
469 1
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
7月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
207 13
|
6月前
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
142 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务

热门文章

最新文章