AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-20648

Matthew Rankin's questions

Martin Hope
Matthew Rankin
Asked: 2010-03-17 05:53:50 +0800 CST

通过 Python 脚本/非交互方​​式更改用户密码的安全方法

  • 7

问题

  1. 是否有更安全/更好的方式通过 Python 脚本以非交互方式设置用户密码?我当前的解决方案使用chpasswdFabric脚本。另一种选择是在Fabric脚本中使用Pexpect 。
  2. 我当前设置密码的方法是否存在安全问题?我看到的潜在安全问题是密码在我的本地终端上显示为明文,如下所示
    [xxx.xx.xx.xxx] run: echo "johnsmith:supersecretpassw0rd" | chpasswd:
    由于我只在笔记本电脑上运行Fabric脚本,我认为这不是安全问题,但我对其他人的输入感兴趣。

背景

我使用Fabric创建了一个 Python 脚本来配置一个新构建的Slicehost Ubuntu 切片。如果您不熟悉 Fabric,它使用Python SSH2 客户端Paramiko来提供“用于应用程序部署或系统管理任务”的远程访问。

我让Fabric脚本做的第一件事就是创建一个新的管理员用户并设置他们的密码。与Pexpect不同,Fabric 无法处理远程系统上的交互命令,因此我需要以非交互方式设置用户密码。目前,我正在使用chpasswd命令,它将用户名和密码读取为明文。

当前代码

# Fabric imports and host configuration excluded for brevity
root_password = getpass.getpass("Root's password given by SliceManager: ")
admin_username = prompt("Enter a username for the admin user to create: ")
admin_password = getpass.getpass("Enter a password for the admin user: ")
env.user = 'root'
env.password = root_password
# Create the admin group and add it to the sudoers file
admin_group = 'admin'
run('addgroup {group}'.format(group=admin_group))
run('echo "%{group} ALL=(ALL) ALL" >> /etc/sudoers'.format(
    group=admin_group)
)
# Create the new admin user (default group=username); add to admin group
run('adduser {username} --disabled-password --gecos ""'.format(
    username=admin_username)
)
run('adduser {username} {group}'.format(
    username=admin_username,
    group=admin_group)
)
# Set the password for the new admin user
run('echo "{username}:{password}" | chpasswd'.format(
    username=admin_username,
    password=admin_password)
)

本地系统终端 I/O

$ fab config_rebuilt_slice
Root's password given by SliceManager: 
Enter a username for the admin user to create: johnsmith
Enter a password for the admin user: 
[xxx.xx.xx.xxx] run: addgroup admin
[xxx.xx.xx.xxx] out: Adding group `admin' (GID 1000) ...
[xxx.xx.xx.xxx] out: Done.
[xxx.xx.xx.xxx] run: echo "%admin ALL=(ALL) ALL" >> /etc/sudoers
[xxx.xx.xx.xxx] run: adduser johnsmith --disabled-password --gecos ""
[xxx.xx.xx.xxx] out: Adding user `johnsmith' ...
[xxx.xx.xx.xxx] out: Adding new group `johnsmith' (1001) ...
[xxx.xx.xx.xxx] out: Adding new user `johnsmith' (1000) with group `johnsmith' ...
[xxx.xx.xx.xxx] out: Creating home directory `/home/johnsmith' ...
[xxx.xx.xx.xxx] out: Copying files from `/etc/skel' ...
[xxx.xx.xx.xxx] run: adduser johnsmith admin
[xxx.xx.xx.xxx] out: Adding user `johnsmith' to group `admin' ...
[xxx.xx.xx.xxx] out: Adding user johnsmith to group admin
[xxx.xx.xx.xxx] out: Done.
[xxx.xx.xx.xxx] run: echo "johnsmith:supersecretpassw0rd" | chpasswd
[xxx.xx.xx.xxx] run: passwd --lock root
[xxx.xx.xx.xxx] out: passwd: password expiry information changed.

Done.
Disconnecting from [email protected]... done.
scripting python automation fabric
  • 5 个回答
  • 15541 Views
Martin Hope
Matthew Rankin
Asked: 2010-03-02 15:10:23 +0800 CST

为什么 Cyber​​duck 不能通过 SFTP 连接?

  • 3

尝试通过 Cyber​​duck SFTP 连接到我能够成功通过 ssh 进入的 Ubuntu 9.10 服务器时,我收到以下错误:

[main] ERROR ch.cyberduck.core.sftp.SFTPSession - Connection attempt canceled

我有其他 Ubuntu 服务器,我能够成功地通过 SSH 进入,Cyber​​duck 能够通过 SFTP 进入。我已经审查过/etc/ssh/sshd_config,现在不知道还有什么要检查的。

ubuntu sftp
  • 1 个回答
  • 3346 Views
Martin Hope
Matthew Rankin
Asked: 2010-03-02 05:40:01 +0800 CST

确定 PostgreSQL 的端口

  • 26

我知道默认情况下 PostgreSQL 侦听端口 5432,但实际确定 PostgreSQL 端口的命令是什么?

配置: Ubuntu 9.10 和 PostgreSQL 8.4

ubuntu port postgresql ubuntu-9.10
  • 6 个回答
  • 71222 Views
Martin Hope
Matthew Rankin
Asked: 2009-10-01 08:38:16 +0800 CST

使用 IBM 的 BladeCenter,为什么会收到错误“无法读取刀片服务器的 VPD”?

  • 1

我最近购买了一台二手 BladeCenter E 机箱和三台 HS20 刀片服务器。尝试初始配置系统时,系统状态页面上的 BladeCenter 管理模块 Web 界面在刀片服务器状态中显示“无法读取 VPD”。我尝试更新刀片服务器固件,但收到 RS485 失败错误。

根据 IBM BladeCenter 部署指南 v3.1:

如果 RS485(远程)闪存发生故障

  1. 在一个机箱中,一次只能有一个刀片处于内核模式。
  2. 如果闪存失败,管理模块存在已知问题。最简单的恢复方法是

    1. 从机箱中拉出故障刀片
    2. 重置MM
    3. 重新插入故障刀片
    4. 发现所有刀片后,重试故障刀片上的闪存。

即使尝试了这个,我还是收到了 RS485 flash failed 错误,VPD 仍然无法读取。

配置

  • BladeCenter E 机箱 --- MTM 8677-2XX
  • 刀片服务器 HS20 --- MTM 8843-25U
  • BladeCenter 管理模块(不是高级管理模块)--- FRU P/N 73P9326
configuration
  • 1 个回答
  • 4996 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve