在使用linux时,经常会出现好多原先加的帐户未删除的情况,给系统运行带来隐患,因此一定要彻底删除。
进入root用户,输入
cd /etc
在这个目录下输入
cat passwd
会出现很多用户,绝大部分是系统用户,是不能删的,一般最下面的是用户自己原先添加的帐户。这些帐户已经用
userdel 用户名
这个命令删过,但是仍存在关联文件。所以要用另一种方法:
进入
cd /usr
cd sbin (某些系统版本为bin文件夹)
cd sbin (某些系统版本为bin文件夹)
在这里输入
./userdel -r 用户名 (前面的./一定要加上)
就可以彻底删除了。
一、Linux添加/删除用户和用户组
一、Linux添加/删除用户和用户组
作用:组的作用是管理用户的
1、建用户:
adduser phpq //新建phpq用户
passwd phpq //给phpq用户设置密码
adduser phpq //新建phpq用户
passwd phpq //给phpq用户设置密码
2、建工作组
groupadd test //新建test工作组
groupadd test //新建test工作组
3、新建用户同时增加工作组
useradd -g test phpq //新建phpq用户并增加到test工作组
useradd -g test phpq //新建phpq用户并增加到test工作组
注1::-g 所属组 -d 家目录 -s 所用的SHELL
注2:tail /etc/group
Grptest1:x:502 三个字段分别代表组名、组密码、组id , 不加“-g”选项按照系统默认的gid创建组,跟用户一样,gid是从500开始的。
***例题:如果删除一个组时报错: “cannot remove the primary group of user 'aming'” 这是什么意思?
[1] http://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAA1JREFUCJljYGBgYAAAAAUAAYehTtQAAAAASUVORK5CYII=C 要想删除这个组可以先删除aming用户
[1] http://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAA1JREFUCJljYGBgYAAAAAUAAYehTtQAAAAASUVORK5CYII=D 解决该问题可以把aming用户的属组改为其他
答案:BCD
4、给已有的用户增加工作组
usermod -G groupname username
usermod -G groupname username
或者:gpasswd -a user group
5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。
或者使用如下命令关闭用户账号:
passwd peter –l
重新释放:
passwd peter –u
6、永久性删除用户账号
userdel peter
groupdel peter
usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录)
7、从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A 或者用命令 gpasswd -d A GROUP
8、显示用户信息
id user
cat /etc/passwd
linux批量删除用户及添加用户
cat /etc/passwd
linux批量删除用户及添加用户
管理用户(user)的工具或命令:
useradd 注:添加用户;
adduser 注:添加用户;
passwd 注:为用户设置密码;
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwconv 注:使用影子密码口令系统,将/etc/passwd加密,同步用户信息 到/etc/shadow文件。
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:换为传统口令系统,是pwconv的立逆操作,从/etc/shadow和 /etc/passwd 创建/etc/passwd ,会删除 /etc/shadow 文件;
adduser 注:添加用户;
passwd 注:为用户设置密码;
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwconv 注:使用影子密码口令系统,将/etc/passwd加密,同步用户信息 到/etc/shadow文件。
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:换为传统口令系统,是pwconv的立逆操作,从/etc/shadow和 /etc/passwd 创建/etc/passwd ,会删除 /etc/shadow 文件;
遇到的一些问题:
问题1:adduser 的-e选项设置帐号过期,帐户过期后会自动删除帐号的文件信息么?
问题1:adduser 的-e选项设置帐号过期,帐户过期后会自动删除帐号的文件信息么?
问题2:adduser -p 选项是用来设置用户密码的么?那么我用在此设置的密码怎么无法登陆系统?
回答:在linux下 man adduser可以看到帮助,其中-p参数的解释如下:
回答:在linux下 man adduser可以看到帮助,其中-p参数的解释如下:
-p passwd
The encrypted password, as returned by crypt(3). The default is
to disable the account.
The encrypted password, as returned by crypt(3). The default is
to disable the account.
它的意思是通过crypt命令将你输入的密码通过crypt命令加密处理,默认是禁用该帐户。
问题3:adduser和useradd两者一样吗?功能似乎差不多,为什么要整出这两个命令来?
adduser存在/usr/sbin/目录下,使用命令ll /usr/sbin/adduser可以发现:
lrwxrwxrwx 1 root 1 root 7 Aut 6 20:46 /usr/sbin/adduser ->useradd
lrwxrwxrwx 1 root 1 root 7 Aut 6 20:46 /usr/sbin/adduser ->useradd
回答:这说明adduser不过是useradd的一个符号链接。创建这个符号连接主要是为了让用户在尝试命令时尽快命中。
问题4:userdel删除帐号后,为什么用户的目录还存在/home/目录下呢?
因为不带参数的话,默认并不删除用户目录信息,加上参数 -r 即可。
注意:
1.在pwunconv的情况下,无法用passwd去更改用户密码使得用户生效,使用chpasswd去批量更改是可以的,或者执行pwconv后即可用passwd去更改。
1.在pwunconv的情况下,无法用passwd去更改用户密码使得用户生效,使用chpasswd去批量更改是可以的,或者执行pwconv后即可用passwd去更改。
2.用adduser创建用户时通过-p设置的密码(在pwunconv的情况下将变为明码,但是)帐户仍然不可用,无法登陆,必须在pwconv后使用passwd再设置后方可,然后再pwuncov将不再是明码显示了。
3.groupdel删除组,必须在组所有用户皆被删除后才可执行。
***例题
删除用户如何连带它的家目录一并删除?
A userdel -r username
B userdel -d username
C userdel -a username
D deluser -a username 正确答案: A
注:userdel 命 令 修 改 系 统 帐 号 档删 除 所 有 login 会 参 考 的 部 份。使 用 者 名 称 必 须是 存 在 的 。
-r 使 用 者 目 录 下 的 档 案 一 并 移 除 。 在 其 他 位 置 上的
档案 也 将 一 一 找 出 并 删 除 。
批量增删用户的方法:
方法一、编写脚本实现批处理
方法一、编写脚本实现批处理
一、如何添加用户?
第一步:创建帐户列表文件useradd
[root@denven root]#vi useradd
adduser stu060101
adduser stu060102
adduser stu060103
…..
[root@denven root]#vi useradd
adduser stu060101
adduser stu060102
adduser stu060103
…..
注:如果在后面执行脚本时候提示无法执行命令,则应该使用路径为/usr/sbin/adduser win01的形式,或者修改系统环境变量。
第二步:更改文件权限,使其可执行
[root@denven root]#chmod 700 userdel
[root@denven root]#chmod 700 userdel
第三步:执行脚本,添加用户
[root@denven root]#./useradd
[root@denven root]#./useradd
第四步:设置密码,可以运用方法三中的设置密码的方式进行。
二.如何批量删除用户?
第一步:创建删除帐户文件, 文件名为 userdel
[root@denven root]#vi userdel
userdel -r stu060101
userdel -r stu060102
userdel -r stu060103
…
userdel -r stu060101
userdel -r stu060102
userdel -r stu060103
…
注:-r选项是同时删除用户的文件目录,若不加此选项,只是用户不存在,而该用户以前创建的目录依然存在。
第二步:更改文件权限,使其可执行
[root@denven root]#chmod 700 userdel
[root@denven root]#chmod 700 userdel
第三步:执行该脚本,删除用户
[root@denven root]#./userdel
[root@denven root]#./userdel
注:以上是在脚本中包含了每个用户添加和删除用户命令来实现的。
方法二、用shell中循环语句实现
A.批量添加
首先,创建帐户列表文件users
[root@denven root]#vi users
stu01
stu02
stu03
stu04
…
stu01
stu02
stu03
stu04
…
第二步:创建usersadd这个sh文件
[root@denven root]#vi usersadd.sh
while read line
do
echo $line #打印出读取的信息
#/usr/sbin/adduser $line
/usr/sbin/adduser $line #创建用户
echo “user $line created!”
done
do
echo $line #打印出读取的信息
#/usr/sbin/adduser $line
/usr/sbin/adduser $line #创建用户
echo “user $line created!”
done
编辑回复