首页
关于
README
Search
1
如何配置终端现代化Neovim
629 阅读
2
mdk3工具使用
463 阅读
3
关于C语言
463 阅读
4
Windows11pro 下载体验
445 阅读
5
关于Docker容器--0×01
375 阅读
默认分类
网络技术
渗透测试
编程语言
C语言
Python
Linux
搞机技巧
Termux
golang
数学
Search
标签搜索
printf
mach
sin cos tan
Toanle
累计撰写
40
篇文章
累计收到
1
条评论
首页
栏目
默认分类
网络技术
渗透测试
编程语言
C语言
Python
Linux
搞机技巧
Termux
golang
数学
页面
关于
README
搜索到
6
篇与
搞机技巧
的结果
2023-02-03
在Linux系统下批量压缩图片
第一步:安装支持处理文件类型:JPG、JPEGsudo apt install jpegoptim支持处理文件类型:PNG, BMP, GIF, PNM or TIFF,这个优化效率太低了,速度奇慢无比sudo apt install optipng其中2款工具的具体使用参数如下JPEGOPTIM 名称 jpegoptim - 用于优化/压缩JPEG/JFIF文件。 概要 jpegoptim [ options ] [ filenames ] 描述 pegoptim用于优化/压缩jpeg文件。项目支持无损优化,这是基于对Huffman表的优化。所谓的“有损”优化除了优化之外。可以指定图像质量的上限。 选项 选项可以是传统的POSIX一个字母选项,也可以是。GNU风格长选项。 POSIX风格选项以一个“-”开头,而GNU的长选项以''--'开头。 jpegoptim提供的选项如下: -d<path>, --dest=<path> //设置备选目标目录,以便保存优化。文件(默认是覆盖原始文件)。 //请注意,不变的文件不会被添加到目标目录。 //这意味着如果源文件不能被压缩,就不会有文件。在目标路径中创建。 -f, --force //强制优化,即使结果大于。原始文件。 -h, --help //显示简短的使用信息并退出。 -m<quality>, --max=<quality> //设置最大图像质量因子(禁用无损优化)。mization模式是默认启用的。 //设置这个选项会降低使用更高版本保存的源文件的质量。而那些已经有较低质量的文件。设置将使用无损优化进行压缩。 -n, --noaction //不要真的优化文件,只需打印结果。 -S<size>, --size=<size> //尝试优化文件大小(禁用了无损优化mizaiont模式)。目标尺寸指定KB(1 N)或百分比(1% - 99%)的原始文件的大小。 -T<treshold>, --threshold=<treshold> //如果压缩增益低于阈值(%),则保持文件不变。传输安全有效值为:0 - 100 -o, --overwrite //覆盖目标文件,即使它存在(使用D选项)。 -p, --preserve //保存文件修改时间。 -q, --quiet //安静模式。 -t, --totals //处理完所有文件后打印总计。 -v, --verbose //启用详细模式(积极聊天). --all-normal //强制所有输出文件为非逐行扫描。可以用来转换所有输入文件的渐进式JPEG当使用--force选项。 --all-progressive //强制所有输出文件都是渐进的。可以将所有输入文件正常(非连续)当使用--force选项的JPEG文件。 --strip-all //去除所有(Comment & Exif)从输出文件删除标记。(注!默认情况下只有Comment & Exif标记保存,其他一切都是丢弃) --strip-com //从输出文件中删除Comment(COM)标记。 --strip-exif //从输出文件中删除标记。 --strip-iptc //从输出文件中删除IPTC标记。 --strip-icc //将ICC配置文件从输出文件中删除。 Bugs: 当使用size选项时,结果文件并不总是精确的请求大小。解决方法是重新运行jpegoptim在同一文件又往往会导致文件大小接近目标。OPTIPNG命令手册 NAME OptiPNG−优化便携式网络图形文件 SYNOPSIS optipng [−? | −h | −help] optipng [options...] files... DESCRIPTION OptiPNG程序将尝试优化PNG文件,即将其大小减小到最小值。失去语义信息。此外,该程序还应执行一套辅助功能。完整性检查、元数据恢复和pixmapto - png转换。 优化尝试不能保证成功。有效的PNG文件不能被这个程序优化,通常是原封不动的,它们的大小不会增长。用户可以请求重写此默认行为。 FILES 输入文件是用PNG格式(本机格式)或外部格式编码的光栅图像文件。当前支持的外部格式是GIF、BMP、PNM和TIFF。 OptiPNG处理命令行中给出的每个图像文件如下: −如果是PNG格式的图像: 试图优化给定文件的位置。如果优化是成功的,或者选择−力被激活,其优化的版本替换原来的文件。原始文件备份,如果选择−保持启用。 −如果图像是一个外部格式: 创建给定文件的优化PNG版本。输出文件名由原始文件名和PNG扩展名组成。 现有的文件不会被覆盖,除非该选项启用−clobber OPTIONS 通用选项 −?, −h, −help //显示选项的完整摘要。 −backup, −keep //对修改后的文件进行备份。 −clobber //覆盖现有的输出和备份文件。在这个选项,如果选择−backup 未启用,覆盖旧的备份文件的删除。 −dir directory //将输出文件写入目录。 −fix //启用错误恢复。此选项对有效的输入文件没有影响。 //程序将花费大量的精力在不增加输出文件大小的情况下尽可能地恢复尽可能多的数据,但不能保证成功。该程序可能会增加文件的大小,例如,重建丢失的关键数据。在此选项下,完整性应优先于文件大小。 //当此选项未被使用时,无效的输入文件将被未处理。 −force //强制编写新的输出文件。 //此选项覆盖程序的决定不写这样的文件,例如当PNG输入数字签名(使用dsig),或当PNG输出变得大于PNG输入。 −log file //将消息记录到文件。出于安全原因,文件必须有扩展名。此选项已被废弃,最终将被删除。使用shell重定向。 −out file //将输出文件写入文件。命令行必须只包含一个输入文件。 −preserve //保存(文件属性的文件访问时间邮票,在人权等)适用。 −quiet, −silent // 在安静的运行模式。 −simulate //运行模拟模式:执行测试,但不创建输出文件。 −v //启用该选项 −verbose and −version. −verbose //在详细模式运行。 −version //显示版权,版本和建立信息。 −− //选择开关停止解析。 PNG编码和优化选项。 −o level //选择优化级别 //优化level0enables一组优化操作,需要最少的努力。将不会有任何变化的图像的属性一样,比特深度或颜色的类型,并没有再压缩现有IDAT数据流。 //优化level1enables单IDAT压缩试验。试验选择的是什么,OptiPNG认为这可能是最有效的。 //优化level2和更高的使多个IDAT压缩试验;此选项的行为和默认值可能会在不同的程序版本中发生更改。使用选项−H看到有关您的特定版本。 −f filters //选择PNG增量过滤器。 //过滤器的参数被指定为一个rangeset(例如−F0−5),和默认的过滤器值取决于设置的选项−O.优化水平过滤器的值0, 1, 2,3和4显示静态滤波,和对应的标准PNG过滤代码(无,左,上,平均和Paeth,分别)。滤波值5表明自适应滤波,其作用是通过libpng的定义(3)用optipng。 −full //制作一份关于IDAT的完整报告。这种选择可能会减缓试验的速度。 −i type //选择交错类型(0−1)。 //如果交错式0被选择,输出图像应非隔行扫描(即progressivescanned)。如果交错式1被选择,输出图像应交错使用adam7方法。默认情况下,输出应具有相同的类型作为输入接口。 −nb //不要应用位深度还原。 −nc //不要使用颜色类型还原。 −np //不应用调色板还原。 −nx //不适用任何无损图像还原:启用选项−nb,-nc控和−−np。 −nz //不记录IDAT数据流 −zc levels //选择IDAT压缩中使用的zlib压缩级别。 −zm levels //选择IDAT压缩中使用的zlib内存级别。 −zs strategies //选择在IDAT压缩中使用的zlib压缩策略。 −zw size //选择zlib窗口大小(32 k,16 k、8 k、4 k,2 k,1 k,512256)中使用IDAT压缩。 Editing options −snip //从多图像、动画或视频文件中删除一个图像。 −strip objects //从PNG文件中删除元数据对象。首先我们把手机连接电脑上,找到图片目录,进行操作。# 查询大于2M的图片文件 # 查询总数量 :215535个文件 find -type f -size +2M -regex ".*\.\(jpg\|JPG\|jpeg\|JPEG\|png\|PNG\)" | wc -l # 文件大小统计,这个统计 find -type f -size +2M -regex ".*\.\(jpg\|JPG\|jpeg\|JPEG\|png\|PNG\)" | xargs du -ach # 上面文件大小统计的命令不太准确,后面因统计不太准确,所以找到了以下的命令,可以直接计算出文件的大小、文件的数量 # 查询大于2M 的所有图片数量与文件大小 # 总数量:339586个 # 总大小:1068.79G # 平均大小:3.2M find . -size +2048 -regex ".*\.\(jpg\|JPG\|jpeg\|JPEG\|png\|PNG\)" -exec ls -l {} \; |awk 'BEGIN{count=0;size=0;} \ {count = count + 1; size = size + $5/1024/1024;} \ END{print "Total count " count; \ print "Total Size " size/1024 " GB" ; \ print "Avg Size " size / count "MB"; \ print "—"}'压缩1、首先对jpg、jpeg格式的图片进行压缩测试# 对2M以上文件进行压缩,压缩品质为60,-p为保留原文件修改时间,-t为压缩完成后统计输出压缩率 find . -size +2048 -regex ".*\.\(jpg\|JPG\|jpeg\|JPEG\)" | xargs jpegoptim -m60 -p -t 以上操作会在原文件基础上进行压缩覆盖,并且保留原文件修改时间,不会覆盖为新的时间,如果有需要是要将压缩后的文件放到新的文件夹中,原文件保留的话可以使用以下命令# 文件压缩后会输出到new 文件夹,注意需要手动先新建文件夹 find . -size +2048 -regex ".*\.\(jpg\|JPG\|jpeg\|JPEG\)" | xargs jpegoptim -m60 -p -t -d new 经压缩测试总空间为59G的文件夹(包含不符合压缩条件的文件共计),压缩时间约2小时左右,共释放内存29G,压缩率为74% 左右,其中以1022G为基准进行压缩,具体压缩品质与压缩率对照如下。2、对png格式进行压缩默认压缩如下,其他参数如上述参数描述,可以视情况进行增加find -name '*.png' | xargs optipng经测试,这个压缩速度极慢无比,不知道是不是我使用方法不当,而且压缩率很低,一个10861KB的png图片,压缩之后为10858KB。有人说是因为optipng会对比各种优化方案,选择最优的方案所以比较慢。鉴于此,且系统中的png图片占相对比较小相对于jpg的1个T左右,总共9个G,故此次不对png图片进行压缩。3、如果有需要,压缩png图片的话,可以使用ImageMagick 使用这个包,然后使用以下命令进行压缩,压缩率较高,可以压缩任意格式的图片,但是速度相对于jpegoptim有点慢# ImageMagick sudo install ImageMagick # png格式的图片压缩使用optimpng 压缩效率太低了 ,使用ImageMagick测试可行,但是效率一般,150M大小10个文件左右需要35秒左右,不过可以压缩大文件,且不区分文件类型都可以压缩, 如100M以上的jpg、png都可以文件 find ./ -regex '.*\(png\|PNG\)' -size +2M -exec convert -quality 60 {} {} \;注意测试过程中发现有几点问题需要注意的,此处做一个汇总1、尽量使用root账号进行压缩,否则原拥有者为root,使用其他账号压缩之后会变更为登录账号,且压缩过程中输出详情信息会提示错误,就是因为无法变更拥有者为root,不过文件可以正常压缩。2、压缩之前尽量先对文件进行备份,避免出现意向不到的问题3、测试过程中,曾经对一个119M的jpg文件进行压缩,但是却报错了,开始以为是jpegoptim对于太大的文件压缩不支持,后续使用参数-v, --verbose //启用详细模式(积极聊天)发现错误信息为,提示:Not a JPEG file: starts with 0x89 0x50,由此可以发现,这个jpg文件为假的jpg,有可能是该文件上传之前为png或者其他格式,经过手动修改变成了jpg格式,所以造成无法处理,针对此类文件只能进行单独处理了,比如使用上述的ImageMagick进行压缩,可以将119M的文件压缩至7M左右。总结因为本身对于Linux系统不太熟悉,所以在实际过程中还是走了不少的弯路的,还在最终提供了完整的解决方案,记录学习。后续实际操作过程中发现,使用jpegoptim 后台执行,中间不知道为中断了,而且可能是系统之前对上传的图片进行了重命名,所以造成了大量图片无法进行压缩,报错信息为:Not a JPEG file: starts with 0x89 0x50,综合考虑,切换方案,使用ImageMagick后台执行,为避免报错还要加上这个>/dev/null 2>/dev/null,否则会报nohup: ignoring input and appending output to ‘nohup.out’nohup find ./ -regex '.*\(jpg\|jpeg\|JPG\|JPEG\)' -size +2M -exec convert -quality 60 {} {} \; >/dev/null 2>/dev/null &最终压缩内存800G左右,耗时18小时左右,之前压缩测试时这个ImageMagick速度不快,没想到实操过程中速度可观,且压缩品质也不错。如何使用 FFmpeg 减少视频大小视频压缩sudo ffmpeg -i 3.mp4 -vcodec libx265 -crf 25 33.mp4没有通用的方法来减小视频文件的大小,因为各种文件类型的创建并不相同。在本教程中,我们将使用 x265 编解码器。x265 编解码器,它是一个免费的库,用于视频编码为 H.254/MPEG-H HEVC 的压缩格式。CRF使用 0 到 51 之间的数字。恒定速率因子(CRF)是 x264 和 x265 编码的默认质量设置。值越高,压缩率越高,值越高这可能会导致质量损失。————————————————版权声明:本文为CSDN博主「ao123056」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/ao123056/article/details/123479736
2023年02月03日
297 阅读
0 评论
0 点赞
2022-05-14
如何配置终端现代化Neovim
Neovim起因 巴西程序员 Thiago de Arruda Padilha(aka tarruda)向 Vim开源编辑器项目递交了两大补丁,对Vim的架构进行了大幅调整,结果遭到了Vim作者Bram Moolenaar的拒绝,因为对于Vim这样一个成熟的项目进行如此大的改变风险太高。于是tarruda发起了Vim fork项目Neovim,集资1万美元打造出21世纪的编辑器,提供更好的脚本、插件支持,整合现代的图形界面,Neovim是一款完全开源的项目。 GITHUB地址 , 官网地址 。该项目在今天2022年5月14日,依然拥有高达53.5k星,3.9k的fork。由此可见Neovim深受广大程序猿的喜爱。Neovim的优势NeoVim 目前在 Mac 和 Linux 上运作的很好,而且从项目的Commit上来看,项目发起人(PM)是个非常有经验的人,管理有条不紊, 不过项目迭代也是相当快,几天一个版本。Ubuntu 有现成的PPA源方便及时更新。目前来说, NeoVim 已经实现 Vim 大部分功能,兼容Vim 90%+以上的配置。 小部分没有实现和兼容.1.NeoVim 和 Vim 的差异2.NeoVim 只有终端版本. 没有 GUI 版本,但是Vim 有 GUI版本 (Gvim).3.NeoVim 目前的剪贴板功能(寄存器) 和 原生Vim实现不一 .4.NeoVim 配置文件入口和 Vim 不同, 可以通过 : version 查看.5.NeoVim 目前对外部语言的支持并不友好,目前他只对python支持比较完善,要支持Lua和其他外围语言相当麻烦, Vim则支持比较全面6.NeoVim 添加了异步函数,当然, Vim 暂时没有,Vim 8.0 也会补上这个功能7.NeoVim 解决了 Vim 在终端(Terminal ,Xterm等)下 alt 按键映射不响应的 bug,当然,Vim也有插件的解决方案。使用方法1.安装在debian类 ubuntu操作系统下,我们可以通过apt命令方便安装:sudo apt install neovim如果你是WINDOWS操作系统下,我们可以通过官方提供的安装方式安装: 官方安装方法 安装完后我们可以通过nvim 命令验证是否安装成功!(windoes系统用户可能还需额外配置环境)2.如何使用//进入nvim nevim //按ESC键进入命令模式。 :help config3.关于配置文件使用The Nvim config file is named "init.vim", located at: Unix ~/.config/nvim/init.vim Windows ~/AppData/Local/nvim/init.vim
2022年05月14日
629 阅读
0 评论
0 点赞
2021-08-08
如何在自己linux服务器上搭建邮件系统
在生活中邮件为我们提供了便捷的生活方式,我们常见的邮件服务商有 qq@.com腾讯邮件, @foxmail腾讯企业邮件, gmail@.comGoogle邮件 ,136@.com移动邮件 ;等一些列;我们可以免费凭借手机号或者qq号就可以注册一个邮件账号,凭借经验我们可以根据@后面的网址快速判断你的朋友使用的什么邮件系统和你沟通;非常方便;但是我们我们企业工作中为了企业文化宣传,和数据隐私问题,我们又无法经常使用到其他邮件系统咋办啦:? 现在跟着我一起学习如何搭建一个自己的专属邮件系统吧 准备材料:已经备案了域名:.com .cn .ltd .edu .ciud 等一台linux服务器(debain,ubuntu.Redhat,Cenos);小白一个我们在把域名解析出来一个简单的邮件系统由:用户名@邮件主机名.邮件域名.域名后缀 例如:root@mail.toanle.ltd 解析记录类型必须是MX类型否着无法收到邮件;中间的记录值就填写你服务器的IP地址: 然后 ssh 连接我们的服务器,下载邮件系统程序:POSTFIXPostfix 是一种电子邮件服务器,它是由任职于IBM沃森研究中心的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是一个开放源代码的软件这里我通过(ubuntu)apt命令下载安装:sudo apt install postfix在安装过程中它会安装: postfix ssl-cert两个程序修改 我们的postfix配置文件:cat /etc/postfix/main.cf myhostname = mail.toanle.ltd修改myhostname改为你解析的域名地址:{dotted startColor="#9f1414" endColor="#1989fa"/}好的,到了现在我们的服务器已经安装完毕;可以使用:sendmail 3143246477@qq.com来测试我们的邮件系统是否成功
2021年08月08日
192 阅读
0 评论
2 点赞
2021-06-17
Windows11pro 下载体验
目前网络上已经流出Windows 11的系统界面截图及视频,这些信息都来自一个泄露的Windows 11 Build 21996.1 Dev版ISO镜像,也就是预载版,下面来看看Win11系统界面有哪些变动吧。 任务栏位置变动 首先是桌面,变化最大的是任务栏,不知什么原因,微软将默认的“开始菜单”按钮以及任务栏上的软件快捷方式移到了任务单栏中间,导致无法快速地将鼠标移动到左下角来开启开始菜单。不过不用过于担心,微软“非常贴心”地让你可以通过鼠标点击“开始”按钮并将其自由拖放,或者通过右键点击任务栏并选择“任务栏设置”,它将带您到“设置”>“个性化”>“任务栏”窗口,您可以更改“任务栏对齐”设置来固定任务栏的位置。 简单的窗口管理 也许是受到Win10X的启发,Win11的窗口智能调整有了很大的改进。你可以将鼠标移到窗口的最大化图标处,会出现一个窗口菜单选项,选择其中一种灰色方块布局,即可为窗口选择屏幕布局和位置。对于具体体验如何大家自行体验吧!!!镜像系统下载链接:https://pan.baidu.com/s/1f0UBkEBe0L-DA1RuT3sCPQ 提取码:ToanWindows11壁纸下载链接链接: https://pan.baidu.com/s/1-Ne5W3Id-iCJkyBFLkM4VQ 密码: tuu4另外我还提供了一个windows激活工具: HEU_KMS 具体激活原理自行百度吧。链接: https://pan.baidu.com/s/1eQCZ0QdyQhATfr0V164M0w 密码: ns62大家请勿用于商业用途。。。
2021年06月17日
445 阅读
0 评论
0 点赞
2021-05-24
Samba配置
0*001 使用前了解:关于samba服务我这里引用百度知道的解释说明:Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。Samba的主配置文件为/etc/samba/smb.conf主配置文件由两部分构成Global Settings (55-245行) 该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。Share Definitions (246-尾行) 该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。全局参数:==================Global Settings ===================[global]config file = /usr/local/samba/lib/smb.conf.%m说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效。这个参数很有用,可以使得samba配置更灵活,可以让一台 samba服务器模拟多台不同配置的服务器。比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下为PC1配置一个名为smb.conf.pc1的文件,然后在 smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。这样,对于PC1来说,它所使用的Samba服务就是由 smb.conf.pc1定义的,而其他机器访问Samba Server则还是应用smb.conf。workgroup = WORKGROUP说明:设定 Samba Server 所要加入的工作组或者域。server string = Samba Server Version %v说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。netbios name = smbserver说明:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24说明:设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。hosts allow = 127. 192.168.1. 192.168.10.1说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。例如:hosts allow=172.17.2.EXCEPT172.17.2.50表示容许来自172.17.2.*的主机连接,但排除172.17.2.50hosts allow=172.17.2.0/255.255.0.0表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接hosts allow=M1,M2表示容许来自M1和M2两台计算机连接hosts allow=@pega表示容许来自pega网域的所有计算机连接max connections = 0说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。deadtime = 0说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。time server = yes/no说明:time server用来设置让nmdb成为windows客户端的时间服务器。log file = /var/log/samba/log.%m说明:设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。max log size = 50说明:设置Samba Server日志文件的最大容量,单位为kB,0代表不限制。security = user说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。domain:域安全级别,使用主域控制器(PDC)来完成认证。passdb backend = tdbsam说明:passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。2.tdbsam: 该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库 可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的 参数很多,我们列出几个主要的。 pdbedit –a username:新建Samba账户。 pdbedit –x username:删除Samba账户。 pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。 pdbedit –Lv:列出Samba用户列表的详细信息。 pdbedit –c “[D]” –u username:暂停该Samba用户的账号。 pdbedit –c “[]” –u username:恢复该Samba用户的账号。3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”encrypt passwords = yes/no说明:是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。smb passwd file = /etc/samba/smbpasswd说明:用来定义samba用户的密码文件。smbpasswd文件如果没有那就要手工新建。username map = /etc/samba/smbusers说明:用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。guest account = nobody说明:用来设置guest用户名。socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192说明:用来设置服务器和客户端之间会话的Socket选项,可以优化传输速度。domain master = yes/no说明:设置Samba服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。local master = yes/no说明:local master用来指定Samba Server是否试图成为本地网域主浏览器。如果设为no,则永远不会成为本地网域主浏览器。但是即使设置为yes,也不等于该Samba Server就能成为主浏览器,还需要参加选举。preferred master = yes/no说明:设置Samba Server一开机就强迫进行主浏览器选举,可以提高Samba Server成为本地网域主浏览器的机会。如果该参数指定为yes时,最好把domain master也指定为yes。使用该参数时要注意:如果在本Samba Server所在的子网有其他的机器(不论是windows NT还是其他Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。如果同一个区域内有多台Samba Server,将上面三个参数设定在一台即可。os level = 200说明:设置samba服务器的os level。该参数决定Samba Server是否有机会成为本地网域的主浏览器。os level从0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果设置为0,则意味着Samba Server将失去浏览选择。如果想让Samba Server成为PDC,那么将它的os level值设大些。domain logons = yes/no说明:设置Samba Server是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。logon script = %u.bat说明:当使用者用windows客户端登陆,那么Samba将提供一个登陆档。如果设置成%u.bat,那么就要为每个用户提供一个登陆档。如果人比较多, 那就比较麻烦。可以设置成一个具体的文件名,比如start.bat,那么用户登陆后都会去执行start.bat,而不用为每个用户设定一个登陆档了。 这个文件要放置在[netlogon]的path设置的目录路径下。wins support = yes/no说明:设置samba服务器是否提供wins服务。wins server = wins服务器IP地址说明:设置Samba Server是否使用别的wins服务器提供wins服务。wins proxy = yes/no说明:设置Samba Server是否开启wins代理服务。dns proxy = yes/no说明:设置Samba Server是否开启dns代理服务。load printers = yes/no说明:设置是否在启动Samba时就共享打印机。printcap name = cups说明:设置共享打印机的配置文件。printing = cups说明:设置Samba共享打印机的类型。现在支持的打印系统有:bsd, sysv, plp, lprng, aix, hpux, qnx共享参数:================== Share Definitions ==================[共享名]comment = 任意字符串说明:comment是对该共享的描述,可以是任意字符串。path = 共享目录路径说 明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目 录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用 户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以 这样写:path = /home/share/%m 。browseable = yes/no说明:browseable用来指定该共享是否可以浏览。writable = yes/no说明:writable用来指定该共享路径是否可写。available = yes/no说明:available用来指定该共享资源是否可用。admin users = 该共享的管理者说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。例如:admin users =david,sandy(多个用户中间用逗号隔开)。valid users = 允许访问该共享的用户说明:valid users用来指定允许访问该共享资源的用户。例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)invalid users = 禁止访问该共享的用户说明:invalid users用来指定不允许访问该共享资源的用户。例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)write list = 允许写入该共享的用户说明:write list用来指定可以在该共享下写入文件的用户。例如:write list = david,@davepublic = yes/no说明:public用来指定该共享是否允许guest账户访问。guest ok = yes/no说明:意义同“public”。几个特殊共享:[homes]comment = Home Directoriesbrowseable = nowritable = yesvalid users = %S; valid users = MYDOMAIN%S[printers]comment = All Printerspath = /var/spool/sambabrowseable = noguest ok = nowritable = noprintable = yes[netlogon]comment = Network Logon Servicepath = /var/lib/samba/netlogonguest ok = yeswritable = noshare modes = no[Profiles]path = /var/lib/samba/profilesbrowseable = noguest ok = yesSamba安装好后,使用testparm命令可以测试smb.conf配置是否正确。使用testparm –v命令可以详细的列出smb.conf支持的配置参数
2021年05月24日
135 阅读
8 评论
0 点赞
1
2