【Linux 命令】添加用户

$ useradd -r -m -s /bin/bash ldy
$ passwd ldy
New passwd:
Retype new passwd:
passwd: password updated successfully


批量添加用户

1, 参照 /etc/passwd 格式编写 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

字段解释:
注册名:密码(缺省或者用x代替):用户标识号(500-65535):组标识号(500-65535):描述(或用户名):用户主目录:登陆shell

2, 利用python 脚本实现上述 user.txt 文件的编写

name_list = ['user001', 'user002', 'user003', 'user004', 'user005', 'user006']
uid = 1100
with open('user.txt',mode='w') as f:
	for name in name_list:
		f.write(f"{name}::{uid}:997:user:/home/{name}:/bin/bash\n")
		uid += 1

3, 编写 passwd.txt 文件,内容是用户名与密码的对照

user001:密码
user002:密码
user003:密码
user004:密码
user005:密码
user006:密码

4, 利用python 脚本实现上述 passwd.txt 文件的编写

name_list = ['user001', 'user002', 'user003', 'user004', 'user005', 'user006']
with open('passwd.txt',mode='w') as f:
	for name in name_list:
		f.write(f"{name}:66666 \n")

5, 以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户
newusers < user.txt

newusers: line 12: invalid line
newusers: error detected, changes ignored
出现上述错误时,把 user.txt 文件最后一行的换行符去掉

6, 执行命令 /user/sbin/pwunconv 将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉
pwunconv

7, 以root身份执行命令 /usr/sbin/chpasswd 创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏
chpasswd < passwd.txt

注意把 passwd.txt 文件最后一行不要有换行符

8, 确定密码经编码写入/etc/passwd的密码栏后执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow
pwconv

reference
CSDN: Linux中批量创建用户的方法
/etc/passwd 字段信息


为用户赋予部分 sudo 权限

  • 用户:ldy
  • 命令权限:sudo mount

1, 用which 查看mount 命令的路径
$ which mount
/bin/mount
2, 用 sudoedit 编辑 /etc/sudoers
$ sudoedit /etc/sudoers
3, 打开 /etc/sudoers 文件后,添加如下内容
ldy ALL=(ALL) NOPASSWD:/bin/mount

NOPASSWD是为让用户在使用sudo时不需要输入密码

  • 脚本权限:/etc/init.d/nagios restart

1, 用which 查看mount 命令的路径
$ which mount
/bin/mount
2, 用 sudoedit 编辑 /etc/sudoers
$ sudoedit /etc/sudoers
3, 打开 /etc/sudoers 文件后,添加如下内容
lin ALL=NOPASSWD:/etc/init.d/nagios restart

为用户赋予全部 sudo 权限

  • 用户:ldy
  • 权限:sudo su

1, 用 sudoedit 编辑 /etc/sudoers
$ sudoedit /etc/sudoers
2, 打开 /etc/sudoers 文件后,添加如下内容
ldy ALL=(ALL) ALL


reference: https://blog.csdn.net/hgq522/article/details/121347540

posted @ 2022-06-27 21:45  林東雨  阅读(1090)  评论(0编辑  收藏  举报