Linux主机密码批量修改指南 (linux批量改主机密码)

随着科技的不断发展,Linux系统在服务器和大数据中心中越来越受欢迎。在实际使用中,管理员可能需要更改多个用户的密码,当其遇到这种情况时,修改每个用户的密码变得非常繁琐。然而,有幸的是,在Linux系统中有许多方法可以实现批量更改密码的操作。本文将介绍几种常用的方式,帮助管理员更高效地完成工作。

1. 使用pswchg命令

Pswchg是一种用户口令更改的命令,可以实现批量更改密码。需要将用户账号和密码放在passwd.txt文件中,文件格式为:

用户名1:密码1

用户名2:密码2

用户名3:密码3

接下来,打开终端,输入以下命令:

$cat passwd.txt | while read i; do

user=`echo $i | cut -d “:” -f 1`

pass=`echo $i | cut -d “:” -f 2`

echo “$user:$pass” | chpasswd

done

这条命令会按行读取passwd.txt文件中的内容,将用户名和密码分别保存到user和pass中,然后使用chpasswd命令更改用户密码。这样就能够方便地批量更改密码。

2. 使用expect脚本

Expect是一种脚本语言,可以快速自动化处理交互式任务。在Linux系统中,可以借助Expect命令创建脚本,实现批量更改密码。需要在终端中输入以下命令:

$expect -c “

set timeout 10

spawn passwd 用户名1

expect \”New password:\”

send \”新密码1\r\”

expect \”Retype new password:\”

send \”新密码1\r\”

expect eof

exit

接下来,将expect脚本打包成shell脚本,这样就能够使用循环调用脚本的方式批量处理密码修改。示例代码如下:

#!/bin/bash

passwd_file=’passwd.txt’

while read line

do

username=`echo $line | cut -f1 -d”:”`

password=`echo $line | cut -f2 -d”:”`

/usr/bin/expect

spawn passwd $username

expect “New password:”

send “$password\n”

expect “Retype new password:”

send “$password\n”

expect eof

EOF

done

3. 使用Python脚本

Python是一种高级编程语言,适用于各种操作系统平台。在Linux系统中,可以借助Python的paramiko库实现批量更改密码的功能。需要在终端中输入以下代码安装paramiko库:

$pip install paramiko

接下来,开发Python脚本。示例代码如下:

#!/usr/bin/env python

import paramiko

passwd_file=open(“passwd.txt”)

for passwd in passwd_file.readlines():

username=passwd.split(“:”)[0]

password=passwd.split(“:”)[1].replace(“\n”,””)

ssh=paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostname=’your_ip’,port=22,username=username,password=’your_password’)

cmd=’echo “‘+password+'” | passwd ‘+username+’ –stdin’

ssh.exec_command(cmd)

ssh.close()

这条命令读取passwd.txt文件中的用户名和密码,然后运用paramiko库,创建一个SSH连接,并使用passwd命令更改用户密码。

需要注意的是,paramiko库仅提供SSH协议,必须在每个目标主机上配置SSH服务器,使其能够接收来自Python脚本的连接请求。

以上是Linux系统中批量更改密码的三种方式。使用这些方法,管理员可以避免频繁和繁琐的工作,同时也能提高工作效率。管理员可以根据实际情况选择最适合自己的方式。在实际使用过程中,还需要注意安全性,在避免泄露管理员密码的前提下,保证修改密码的合规性。

相关问题拓展阅读:

linux sendmail怎么批量添加用户 用户怎么修改密码

useradd xx passwdxx

,Outlook Express是目前使用很频繁的客户端邮件系统,由于邮件系统的重要性,邮件的冗余保存也显得尤为重要。

我们公司的邮件服务器是采用租赁空间的方式,且服务器端也不是Exchang系统,客户端采用Outlook Express。由于使用环境的限制,在日常使用过程中不能像以前Lotus Notes 系统那样很好地做到对邮件系统自动冗余备份,因此笔者想到能否通过Windows的命令进行相应设置,对Outlook Express的数据库文件进行冗余备份。

环境介绍:

1.采用域管理模式,由 一台DELL服务器安装Windows 2023 标准版系统,作为域管理控制器。

2.内勤人员客户端主机大致约有50~60台,统一安装Windows XP Pro系统。

首先做好如下准备工作:

1.购置一台PC机(资金限制),作为邮件文件及其他工作文件的备份宿主机,为每个用户开设一个700MB的存储空间。

2.由于邮件目录的默认路径为C:Documents and Settings域用户名local settingsapplication dataIdentitieicrosoftOutlook express,路径名太长,且保存在C盘不利于邮件信息的维护,所以笔者在D盘根目录下建立了Mail目录,并将所有用户的Outlook Express信磨谈息文件指向D:mail。

3.由于空间有限,所以必须找一个RAR.exe的命令处理文件对备份内容进行压缩,放置在Autocopy目录下。

开始进行操作

1.建立脚本文件Mailcopy.cmd

@echo off

net use z: \192.168.2.250database%username%

按用户登录名自动建立与备份服务器的映射

awake.vbs

提示用户备份邮件,需要关闭outlook express

md z:mail

建立映射盘目录

rar a -ag z:mailmail.rar d:mail*.*

利用rar 对备份的邮件数据库文件打包,并按照日期生成打包文件

ok.vbs

提示用户备份完成

exit

2.建立VBS脚本文件Awake.vbs

Msgbox “Now is backup your mail,only need several minutes,please close outlook express first and click ok.”

由于邮件数据库的备份必须在,Outlook Express关闭的情况下才能正常处理,故设置此提示文件,使用户在备份前暂时关闭邮件系统。

3.建立VBS脚本文件OK.vbs,在橘运备份完成后提示用户备份成功。

Msgbox “Mail backup is ok.Thank you.”

4.将以上三个文件与RAR.exe文件同时放在一个目录下面,如D:Autocopy。

5.建立一个用于执行备份脚本的域用户,如domainmailbackup,密码Password,赋予用户相应权限。

6.分别建立脚本文件Schedule*.cmd,圆游梁*为1-5。

schdule1.cmd 内容如下:

schtasks /create /u domainmailbackup /p password /sc weekly /d mon /st 12:00 /tn mailbackup /tr d:autocopymailcopy.cmd

schdule2.cmd 内容如下:

schtasks /create /u domainmailbackup /p password /sc weekly /d tue /st 12:00 /tn mailbackup /tr d:autocopymailcopy.cmd

schdule3.cmd 内容如下:

schtasks /create /u domainmailbackup /p password /sc weekly /d wed /st 12:00 /tn mailbackup /tr d:autocopymailcopy.cmd

schdule4.cmd 内容如下:

schtasks /create /u domainmailbackup /p password /sc weekly /d thu /st 12:00 /tn mailbackup /tr d:autocopymailcopy.cmd

schdule5.cmd 内容如下:

schtasks /create /u domainmailbackup /p password /sc weekly /d fri /st 12:00 /tn mailbackup /tr d:autocopymailcopy.cmd

由于我们公司有五个部门,所以建立了不同的五个计划表,使得每周中的一天自动分配给一个部门执行任务。此内容需根据不同用户做不同修改,时间暂设定为中午12:00。

7.将Schdule文件连同Autocopy目录一同打包发给每个用户,并且让用户将Autocopy目录设置为D盘根目录下 D:autocopy。

8.最后让每个用户执行相应的Schedule*.cmd即可。

执行后计划任务重新生成每周执行一次邮件备份,计划名为Mailbackup。

此方法也可用于备份其他文件或邮件系统。

另外,站长团上有产品团购,便宜有保证

用shell吧 写个小脚本运行下就OK了

添加用户用:chpasswd

修改密码有两种祥猛方式:1、passwd user 2、孙旦echo “password”|passwd –stdin user 第二种方法很适合写shell脚本,因为它不是互动的!

Kali Linux系统重新更正主机名以及修改用用户密码教程:

修改Hostname属性迅盯:

修改Hosts属性亩好和:

重新加载配置文件:

网络无法连接:

修改Bash脚本:

修改配置文件:

#!/bin/bash

cp -n /etc/hosts{,.old}

idomainname=$(domainname -i)

fdomainname=$(domainname -f)

newhn=$(cat /dev/urandom | tr -dc ‘A-Z’ | head -c8)

echo $newhn > /etc/hostname

mv /etc/hosts /etc/hosts.old

echo “127.0.0.1 localhost” > /etc/hosts

echo “$idomainname  $fdomainname    $newhn” >> /etc/hosts

echo “# The following lines are desirable for IPv6 capable hosts” >> /etc/hosts

echo “::1    localhost ip6-localhost ip6-loopback” >> /etc/hosts

echo “ff02::1 ip6-allnodes” >袜亮> /etc/hosts

echo “ff02::2 ip6-allrouters” >> /etc/hosts

service hostname.sh stop

sleep 1

service hostname.sh start

service networking stop

sleep 1

service networking start

service network-manager stop

sleep 1

service network-manager start

xhost +$newhn

exit

移动Bash脚本到/usr/bin/ folder:

赋予权限:

修改主机动态域名:

修改用户密码:

关于linux批量改主机密码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux主机密码批量修改指南 (linux批量改主机密码)