Linux添加删除用户和用户组

Linux添加删除用户和用户组,第1张

方法步骤:

1、创建用户

adduser phpq //新建phpq用户

passwd phpq //给phpq用户设置密码

2、建工作组

groupadd tes //新建test工作组

3、新建用户同时增加工作组

useradd -g test phpq //新增phpq用户并增加到test工作组

注:-g所属组 -d家目录 -s所用的shell

4、给已有的用户增加工作组

usermod -G groupname username或者gpasswd -a user group

5、临时关闭

在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了,想恢复该用户,去掉*即可,或者使用如下命令关闭用户账号:passwd

peter -I

重新释放: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中删除一个用户 userdel。

-r:连同家目录和邮箱一起删除。

当 useradd 新建一个用户的时候,系统会在几个路径下新建几个用户同名的文件或目录,以便记录用户专属资料。这几个地方分别是:

/etc/passwd:记录了用户的账号信息;

/etc/shadow:记录了用户对应的密码信息;

/etc/group:记录了组用户的信息;

/etc/gshadow:记录了组用户的密码信息;

/home/username:用户的家目录;

/var/spool/mail/username:用户的邮箱目录;

1、首先创建一个用户,查看相关目录下是否生成对应的文件 或 目录。

创建 test01 用户,/etc/passwd 生成了 test01 的账户信息。

/etc/shadow 生成了 test01 的密码信息。

/etc/group 生成了 test01 的组用户的信息。

/etc/gshadow 生成了 test01 的组用户的密码信息。

/home/ 目录生成 test01 的家目录。/var/spool/mail/ 目录生成了 test01 的邮箱文件。

综合上述,创建一个用户会在相关路径下生成对应的文件 和 目录用以作信息记录。

2、用 userdel -r userneme 删除一个用户,查看相关目录下是否删除对应的文件 或 目录。

/etc/passwd 删除了 test01 的账户信息。

/etc/shadow 删除了 test01 的密码信息。

/etc/group 删除了 test01 的组用户的信息。

/etc/gshadow:删除了组用户的密码信息。

/home/ 目录删除 test01 的家目录。/var/spool/mail/ 目录删除了 test01 的邮箱文件。

综合上述,userdel -r 删除一个用户会把相关路径下对应的文件 和 目录都删除掉。

tips:如果 userdel 删除一个用户并没有加 -r 选项。用户的 /home/ username 目录 和 /var/spool/mail/usename 文件不会删除。并且,想创建同名的用户也不能创建。

创建 test02 用户进行测试。同样的,创建完 test02 用户后,相应的路径都会产生对应的文件 和目录。

userdel test02 删除 test02 用户(没有加上 -r 选项)。

/etc/passwd 删除了 test02 的账户信息。

/etc/shadow 删除了 test02 的密码信息。

/etc/group 删除了 test02 的组用户的信息。

/etc/gshadow:删除了 test02 的组用户的密码信息。

/home/ 目录还存在 test02 的家目录。/var/spool/mail/ 目录还存在 test02 的邮箱文件。

综合上述,userdel 删除一个用户。不会删除该用户的家目录 和 邮箱文件。

在这个情况下,再次创建同名的用户(test02)将会提示失败。这里提供了两个重要信息:

useradd: warning: the home directory already exists:home 目录已经存在。

Creating mailbox file: File exists:邮件文件已经存在。

通过系统提示已知是/home/ 和 /var/spool/mail/ 存在旧的 test02 文件和目录而导致创建新的test02 用户失败。因此我们要把旧的 test02 就的文件 和 目录删除。

红色下划线:find / -name test02,从根目录开始搜索名为 test02 的文件和目录。得出具体的存放路径。

黄色框:删除路径下的文件 和 目录。

蓝色下划线:重新创建 test02 用户成功。

#1、彻底删除UID>=500的用户的主目录及其子文件;

#2、彻底删除UID>=500的用户;

#3、彻底删除Shell脚本自己!

#!/bin/bash

uid=`awk -F ':' '{print $3}' /etc/passwd` ##获取所有用户的uid

user=`awk -F ':' '{print $1}' /etc/passwd` ##获取所有用户名

array=($user) ##把所有用户名放到数组里面去

j=0 ##数组的下标,初始化为0

for i in $uiddo

if [ $i -ge 500 ]then

userdel -r "${array[$j]}" ##循环删除uid>=500用户的主目录及其子文件和用户

fi##-r 使用者目录下的档案一并移除。在其他位置上的档案 也将一一找出并删除。

let j=j+1

done

rm `pwd`/$0 ##删除Shell脚本自己


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8666024.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存