加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何在smb:// URL的密码字段中转义@符号

发布时间:2020-12-16 01:31:03 所属栏目:安全 来源:网络整理
导读:我正在尝试编写一个bash脚本,通过获取用户名和密码,然后再说$username:$password @ SERVERNAME,我连接到samba服务器. 但是,如果密码在其中有@,则会失败.有没有办法从bash中输出密码? 提前致谢 更新: 我正在设置这个网络打印机 lpadmin -p PRINTER -v smb:
我正在尝试编写一个bash脚本,通过获取用户名和密码,然后再说$username:$password @ SERVERNAME,我连接到samba服务器.

但是,如果密码在其中有@,则会失败.有没有办法从bash中输出密码?

提前致谢

更新:
我正在设置这个网络打印机

lpadmin -p PRINTER -v smb://$username:$password@SERVER -E

除非$密码中有一个@符号,否则它可以工作. $username和$passwords变量是从阅读stdin得到的

啊,不,这实际上并不是引用Bash的问题,而是引用了Samba.你有这个:
lpadmin -p PRINTER -v smb://$username:$password@SERVER -E

哪个Bash完全扩展到

lpadmin -p PRINTER -v smb://alice:passw@rd@SERVER -E

然后Samba客户端库认为密码在第一个@符号结束,并且应该连接到名为rd @ server的服务器,不要忘记您不能将该名称放在DNS中.

lpadmin来自CUPS,而不是Samba(here is its manpage),并且通过这些文档读取,我想您可能可以使用这种替代语法:

lpadmin -p PRINTER -U "${username}%${password}" -v smb://SERVER -E

我很惊讶,因为@不工作,但是.看起来像samba客户端库中的一个bug给我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读