1. 先用vi编辑一个文本用户文件
- 每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下:
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
user003::602:100:user:/home/user003:/bin/bash
user004::603:100:user:/home/user004:/bin/bash
user005::604:100:user:/home/user005:/bin/bash
user006::605:100:user:/home/user006:/bin/bash
2. 以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:
# newusers <user.txt
3. 执行命令 /user/sbin/pwunconv 将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password 功能
pwunconv
4. 编辑每个用户的密码对照文件,范例文件passwd.txt内容如下:
user001:密码
user002:密码
user003:密码
user004:密码
user005:密码
user006:密码
5. 以root身份执行命令 /usr/sbin/chpasswd
创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏
chpasswd <passwd.txt
6. 确定密码经编码写入/etc/passwd的密码栏后
执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow
pwconv
7.这样就完成了批量用户的创建。
用sed命令在行首或行尾添加字符的命令有以下几种:假设处理的文本为test.file
在每行的头添加字符,比如"HEAD",命令如下:
sed 's/^/HEAD&/g' test.file
在每行的行尾添加字符,比如“TAIL”,命令如下:
sed 's/$/&TAIL/g' test.file
运行结果如下图:
几点说明:
1."^"代表行首,"$"代表行尾
2.'s/$/&TAIL/g'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找了
例:
3.如果想导出文件,在命令末尾加">outfile_name";如果想在原文件上更改,添加选项"-i",如
4.也可以把两条命令和在一起,在test.file的每一行的行头和行尾分别添加字符"HEAD"、“TAIL”,命令:sed '/./{s/^/HEAD&/s/$/&TAIL/}' test.file
加注释:光标移到行首,ctrl+v 按上下选择你的行数,shift+i,输入#,按esc就可以了
批量替换:
按esc,输入:%s/abc/123/g
这样替换abc成123,和sed一样的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)