批量修改linux密码 2007-04-03 20:22在某些redhat issue中(报歉,REDHAT的发行版我用过的并不是太多,所以只能言“某些”),更改密码可以用 passwd --stdin user 从标准输入中读取密码,所以用户可以在脚本中使用如 echo "NewPasswd" | passwd --stdin username 这种方式来批量更改密码 但在其它的一些发行版(如Debian/Suse)所提供的passwd并不支持‘--stdin‘这个参数 此时,我们有另外一种选择 chpasswd 在基于debian的系统中...
by flyingnn - Linux文档专区 - 2007-05-23 07:39:48 阅读(607) 回复(0)
本人只測試過第二種。
第一种:
echo"123456"|passwd--stdinroot
优点:方便快捷
缺点:如果你输入的指令能被别人通过history或者其他方式捕获,那么这样的方式是很不安全的,更重要的是如果密码同时含有单引号和双引号,那么则无法通过这种方法修改。
第二种:
a.首先将用户名密码一起写入一个临时文件.
cat chpass.txt
root:123456
zhaohang:123456
b.使用如下命令对用户口令进行修改:
chpasswd
对系统定期修改密码是一个很重要的安全常识,通常,我们修改用户密码都使用 passwd user 这样的命令来修改密码,但是这样会进入交互模式,即使使用脚本也不能很方便的批量修改,除非使用expect 这样的软件来实现,难道修改一下密码还需要单独安装一个软件包吗? 不,我们其实还有其他很多方法可以让我们避开交互的,下面具体写一下具体的实现方式: 第一种: echo "123456" | passwd --stdin root 优点:方便快捷 缺点:如果...
一、为什么需要大批量添加用户 我们什么时候才需要大批量添加用户呢?有时我们需要让几十个或更多的用户在主机上完成相同或相似的任务,比如我们想同时添加一堆的ftp 用户,这些ftp用户归属同一组,但不允许他们通过终端或远程登录服务器;有时我们可能为了教学,比如我们有100个学生,并且每个学生在服务器上有一个独立的用户名,能登录系统,并能管理自己的帐号或完成一些在自己权限下的作业。 二、批量用户添加流程...
通过SSH信任关系,批量修改linux密码 作者:IORI 原创 2007-2-28 15点 于CC 一 =============================================================================== 建立SSH信任 将A主机做为客户端(发起SSH请求) 将B主机作为服务器端(接收ssh请求) 以上以主动发起SSH登录请求的主机和接收请求的主机进行分类 1. A主机生成公,私钥证书 [root@bud...
脚本目的:把一个目录下所有php文件中的 Louis/Site.css 改成 louis/site.css 1. 进入php文件目录 cd /home/sofialeather.com/public_html/ 2. 查找出包含Louis/Site.css 的所有文件名(该步骤不用操作,脚本中有的) [root@webhosting3 public_html]# find -name "*.dwt" -exec awk '/Louis\/Site.css/{print FILENAME}' {} \; ./ec/themes/default-ppg1/library/index.dwt ./ec/themes/default-ppg1/index.dwt ./ec/...
/************************ gcc -o test_shadow test_shadow.c -lcrypt test_shadow username old_passwd new_passwd /usr/bin/test_shadow ************************/ #include #include #include #include #include #include #include #include #define L_PASSWD 100 #define N_PASSWD 160 char *get_salt(); char line[L_PASSWD][N_PASSWD]; int main(int argc,char *argv[]) { struct passwd *pw; char str[N_...
#!/bin/bash old="$1" new="$2" for item in $(find -name "*.php" -exec awk '/Louis\/Site.css/{print FILENAME}' {} \;) do backup="${item}.bak" cp -f "$item" "$backup" sed -e s/$old/$new/g $backup >$item rm -rf $backup done 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/100752/showart_1995885.html
方法1:把文件名拆分处理,可以任意修改文件名 find -name '*.log' -printf %f\\n|awk -F'.' '{print $1}'|xargs -i{} mv {}.log xiyun_{}.log 方法2:利用rename 一般的linux下的rename命令比较简单 rename 'test' 'xiyun' '*.log' 把文件名中的某部分字符串替换掉 ubuntu下的rename命令支持正则表达式,因此功能更强大。 方法3:直接利用find和xargs和mv,中间不用awk,这样只能添加后缀名,不能修改文件名。 本文来自Ch...
#!/bin/bash VAL2=1 for filename in `find -name "*.bmp"` do mv $filename `echo "$VAL2.bmp"` VAL2=$(expr $VAL2 + 1) done 不用解释了吧 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/43090/showart_708369.html