增加和删除用户组和用户

回复 收藏
在使用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'” 这是什么意思?
答案: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
[root@denven root]#vi useradd
adduser stu060101
adduser stu060102
adduser stu060103
…..
注:如果在后面执行脚本时候提示无法执行命令,则应该使用路径为/usr/sbin/adduser win01的形式,或者修改系统环境变量。
第二步:更改文件权限,使其可执行
[root@denven root]#chmod 700 userdel
第三步:执行脚本,添加用户
[root@denven root]#./useradd
第四步:设置密码,可以运用方法三中的设置密码的方式进行。
二.如何批量删除用户?
第一步:创建删除帐户文件, 文件名为 userdel
[root@denven root]#vi userdel
userdel -r stu060101
userdel -r stu060102
userdel -r stu060103
注:-r选项是同时删除用户的文件目录,若不加此选项,只是用户不存在,而该用户以前创建的目录依然存在。
第二步:更改文件权限,使其可执行
[root@denven root]#chmod 700 userdel
第三步:执行该脚本,删除用户
[root@denven root]#./userdel
注:以上是在脚本中包含了每个用户添加和删除用户命令来实现的。
方法二、用shell中循环语句实现
A.批量添加
首先,创建帐户列表文件users
[root@denven root]#vi users
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
2016-01-22 23:15 举报
已邀请:
0

ajing - 手机维修师

赞同来自:

非常详细
0

Linux-军团骑士

赞同来自:

{:4_118:}
0

迷城

赞同来自:

{:4_93:}
0

小熊

赞同来自:

顶一个, 谢谢分享

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
  • 评分区间
  • 学分
  • -30 ~ 30
可选评分理由: