增加和删除用户组与用户

在使用linux时,经常会出现好多原先加的帐户未删除的情况,给系统运行带来隐患,因此一定要彻底删除。

进入root用户,输入

  cd /etc

在这个目录下输入

  cat passwd

会出现很多用户,绝大部分是系统用户,是不能删的,一般最下面的是用户自己原先添加的帐户。这些帐户已经用

  userdel 用户名

这个命令删过,但是仍存在关联文件。所以要用另一种方法:

进入

  cd /usr
  cd sbin (某些系统版本为bin文件夹)

在这里输入

  ./userdel -r 用户名 (前面的./一定要加上)

就可以彻底删除了。

一、Linux添加/删除用户和用户组

作用:组的作用是管理用户的

1、建用户:
adduser phpq                       //新建phpq用户
passwd phpq                       //给phpq用户设置密码

2、建工作组
groupadd test                      //新建test工作组

3、新建用户同时增加工作组
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] A 这个组不存在

[1] B 这个组里包含用户aming

[1] C 要想删除这个组可以先删除aming用户

[1] D 解决该问题可以把aming用户的属组改为其他

答案:BCD

4、给已有的用户增加工作组
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批量删除用户及添加用户

管理用户(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 文件;

遇到的一些问题:
问题1:adduser 的-e选项设置帐号过期,帐户过期后会自动删除帐号的文件信息么?

问题2:adduser -p 选项是用来设置用户密码的么?那么我用在此设置的密码怎么无法登陆系统?
回答:在linux下 man adduser可以看到帮助,其中-p参数的解释如下:

-p passwd
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

回答:这说明adduser不过是useradd的一个符号链接。创建这个符号连接主要是为了让用户在尝试命令时尽快命中。

问题4:userdel删除帐号后,为什么用户的目录还存在/home/目录下呢?

因为不带参数的话,默认并不删除用户目录信息,加上参数 -r 即可。

注意:
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
[[email protected] root]#vi useradd
adduser stu060101
adduser stu060102
adduser stu060103
…..

注:如果在后面执行脚本时候提示无法执行命令,则应该使用路径为/usr/sbin/adduser win01的形式,或者修改系统环境变量。

第二步:更改文件权限,使其可执行
[[email protected] root]#chmod 700 userdel

第三步:执行脚本,添加用户
[[email protected] root]#./useradd

第四步:设置密码,可以运用方法三中的设置密码的方式进行。

二.如何批量删除用户?

第一步:创建删除帐户文件, 文件名为 userdel

[[email protected] root]#vi userdel
userdel -r stu060101
userdel -r stu060102
userdel -r stu060103

注:-r选项是同时删除用户的文件目录,若不加此选项,只是用户不存在,而该用户以前创建的目录依然存在。

第二步:更改文件权限,使其可执行
[[email protected] root]#chmod 700 userdel

第三步:执行该脚本,删除用户
[[email protected] root]#./userdel

注:以上是在脚本中包含了每个用户添加和删除用户命令来实现的。

方法二、用shell中循环语句实现

A.批量添加

首先,创建帐户列表文件users

[[email protected] root]#vi users
stu01
stu02
stu03
stu04

第二步:创建usersadd这个sh文件
[[email protected] root]#vi usersadd.sh

while read line
do
echo $line #打印出读取的信息
#/usr/sbin/adduser $line
/usr/sbin/adduser $line #创建用户
echo “user $line created!”
done <users #从users文件中读取用户名

第三步:执行usersadd这个sh文件

[[email protected] root]#sh usersadd.sh
可以看到屏幕输出一些信息

第四步:设置密码,可以运用方法三中的设置密码的方式进行。

B.现批量删除

编写shell导入上面的用户文件users来删除

第一步:创建usersadd这个sh文件
[[email protected] root]#vi usersdel.sh

while read $line
do
echo $line #打印出读取的信息
#/usr/sbin/adduser $line
/usr/sbin/userdel -r $2 #删除读取的用户
echo “user $line deleted from system”
done
< users #从users文件中读取用户名

第三步:执行usersdel这个sh文件

[[email protected] root]#sh usersdel.sh

方法三、使用系统自带批处理命令

第一步:创建帐户列表文件
[[email protected] root]#vi students
在Vi编辑器中编辑帐户列表,

stu01::1001:1000:stu:/home/stu01:/bin/bash
stu02::1002:1000:stu:/home/stu02:/bin/bash
stu03::1003:1000:stu:/home/stu03:/bin/bash

注意这个文件必须按照/etc/passwd文件中每一行的格式相对应,用六个冒号隔开成七个字段

第二步:创建帐户对应密码文件
[[email protected] root]#vi passwds.txt

stu01:******
stu02:******
stu03:******

***表示是为该用户设置的密码。

第三步:添加用户
[[email protected] root]#newusers < students
这样就建起了大量用户,可以察看一下,他们已经被写入用户配置文件;
[[email protected] root]#more /etc/passwd | grep stu

第四步:批量把用户密码添加到对应帐户
[[email protected] root]#chpasswd < passwds

第五步:把密码同步到/etc/shadow文件中
[[email protected] root]#pwconv

方法四、使用批量增删用户的软件PDAddUser来实现。

几种方法的比较:

第一种方法是将每条命令的执行放到脚本中封装起来了,因此要在脚本中多次写入添加和删除的命令;

第二种方法中只需添加用户名列表即可,不需重复在用户文件中写入命令,因为它把命令放在sh中通过循环语句来实现。但要确保编写的shell文件正确。

第三种方法只用了系统命令,而不需要编程,但是在编写用户列表文件容易出错;

第四种方法我尚未用过,借助第三方软件应该比较快捷。

时间: 2024-10-12 23:41:29

增加和删除用户组与用户的相关文章

linux命令4 find、三个时间属性、硬链接和软连接、用户名和密码文件、增加和删除用户组、usermod、su、sudo

find搜索命令 其他搜索命令如下: [[email protected] 333]# which ls alias ls='ls --color=auto' /bin/ls [[email protected] 333]# echo $PATH /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/usr/local/jdk1.6.0_23/b

新建用户组、用户、用户密码、删除用户组、用户(适合CentOS、Ubuntu)

这个知识点,模糊了好久.!!! 生产中,习惯如下: useradd,默认会将自身新建用户,添加到同名的用户组中.如,useradd zhouls,执行此命令后,默认就添加到同名的zhouls用户组中. 但是,在生产中,一般都不这么干.通常是,useradd -m -g .否则,出现到时,用户建立出来了,但出现家目录没有哦.慎重!!!(重要的话,说三次) ####################CentOS系统里########################## CentOS系统里,root用户

增加和删除用户组

groupadd 命令 用来创建一个用户组.下面介绍该命令的使用. groupadd命令 groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中. 语法 groupadd (选项) (参数) 选项 -g:指定新建工作组的id: -r:创建系统工作组,系统工作组的组ID小于500: -K:覆盖配置文件"/ect/login.defs": -o:允许添加组ID号不唯一的工作组. 参数 组名:指定新建工作组的组名. 实例 建立一个新组,并设置组ID加入系统: grou

用shell脚本实现增加,删除用户,查询更改UID和GID以及统计用户数

学习linux是从基础的命令开始的,当熟悉命令后,我们就得学习shell脚本的编写.在实际运维中,我们不可能一直盯着服务器看,机器式的维护,而是通过脚本,实现自动化运维,这也是运维的一种趋势.本菜鸟也是刚刚接触shell脚本.今天兴致大发,就写来一个简单的"系统用户管理菜单"脚本 该脚本功能如下: 1.可以实现增加删除用户: 2.判断用户是否已设置密码: 3.并能选择用户进行设置密码: 4.查询和更改uid.gid: 5.统计用户数,系统用户和普通用户数: 该脚本的代码如下: #!/b

2.8-增加和删除用户组

groupadd wyp    增加一个wyp用户组 groupadd -g 567 wyp -g用来手工指定组id  默认从500开始 用户组配置文件/etc/group   1段:用户组名  2段:组密码   3段:组id   4段:组成员 组密码文件/etc/gshadow     1段:用户组名  2段:组密码 一般为!,表示没有密码. 如果组id是手工指定567,下次新建的用户组id会从568开始,以前空的数字会跳过. groupdel wyp    删除用户组wyp   如果组内有其

EasyUI中datagrid实现显示、增加、 删除、 修改、 查询操作(后台代码C#)

2datagrid加载数据.代码如下所示 一.数据的显示 1新建HtmlPage2.html页面,引入相关文件.如下所示 <script src="easyui/js/jquery-1.8.2.min.js"></script>  <script src="easyui/js/jquery.easyui.min.js"></script>  <link href="easyui/css/themes/d

Linux内核分析+子安全系统selinux+Linux的用户组和用户

一.Linux内核分析/etc/grub.conf文件 1.passwd命令 Linux以安全性和稳定性在世界上自居,在Linux发明之初就在安全领域做了很多手段,其中最简单就是提供了密码的登录和密码修改的功能,在Linux系统当中无论什么用户都必须具有密码才能登录Linux操作系统. 命令格式: passwd [用户名] 命令作用:更新或者设置用户登录的密码 2.黑客攻防:Linux单用户模式破解root密码 原因在大部分的人安装Linux的时候,很多人没有设置装载引导的密码,所以就导致黑客可

10月28日下午 数据库的增加、删除、查询(匹配数据库登录)

一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" method="post"><!--表单提交action到chuli界面,提交方式设置为post.--> <div>用户名:<input type="text" name="uid"/></div> &l

Linux添加用户组和删除用户组

1.添加用户组使用groupadd命令添加用户组:groupadd group_name此操作需由系统管理员进行.2.删除用户组使用groupdel命令删除用户组:groupdel group_name此操作需由系统管理员进行.3.定义组管理员使用gpasswd命令指定组管理员:gpasswd-A user group_name此操作需由系统管理员进行.4.设定组密码使用gpasswd命令设定组密码:gpasswd group_name此操作由组管理员进行.5.取消组密码使用gpasswd命令取