Linux基础之(九)用户及用户组管理

新建用户

如果希望成为一个合格的系统管理员,用户管理是必须掌握的一项技能。本节内容主要讲解如何创建、删除用户,以及修改用户信息。
用户登录Linux操作系统时,需要提供用户名和密码两项内容,这两项也是创建用户时必须的内容,创建用户采用的是“useradd”命令。useradd命令常用选项如下所示。

-u:指定新创建用户的UID值,该值为一串数字;
-g:指定新创建用户所属的用户组,该用户组GID会被添加到用户passwd文件第4字段;
-G:指定新创建用户可以加入的用户组,该用户名会添加到指定的用户组group文件第4字段;
-M:不创建用户主目录;
-m:创建用户主目录;
-c:用户信息说明,该信息会添加到passwd文件中第5字段;
-d:指定新创建用户的用户主文件夹,而不是使用默认位置,需要使用绝对路径;
-r:创建系统账户;
-s:指定新创建用户的默认shell,不指定则默认为/bin/bash;
-e:指定账户过期日期,该字段填写到shadow文件第8字段。

#创建名为tedu_os的用户
os@tedu:~$ sudo useradd tedu_os
[sudo] os 的密码:  #输入当前用户的密码

#查看tedu_os用户是否创建成功
os@tedu:~$ sudo grep tedu_os /etc/passwd  /etc/shadow /etc/group
/etc/passwd:tedu_os:x:1001:1001::/home/tedu_os:/bin/sh
/etc/shadow:tedu_os:!:17756:0:99999:7:::
/etc/group:tedu_os:x:1001:

以上示例可以看出采用useradd命令默认配置创建的用户有以下几个特点:

  • 在passwd文件中添加一项与账号信息相关的数据,UID为1001,GID也为1001。因为普通用户的ID是从1000开始,而本机安装时创建的os用户UID为1000,所以tedu_os的UID会自行加1,用户组同理;
  • 在shadow文件中添加一项与账号密码相关的数据,此时密码为“!”,即账号未启用。在sudo命令讲解时,提到了通过更改密码来启用root账户,在此处启用tedu_os账户的方法一样;
  • 在group文件中添加了一行新的与tedu_os账户同名的用户组信息,GID为1001。
    使用默认选项会创建和新账户同名的用户组,其实很多时候这是没有必要的,可以使用-g选项指定新建用户所属的用户组。
添加用户并将该用户添加到某个用户组
os@tedu:~$ sudo useradd -g tedu_os tedu_1
[sudo] os 的密码: 
os@tedu:~$ sudo grep tedu /etc/passwd  /etc/shadow /etc/group
/etc/passwd:tedu_os:x:1001:1001::/home/tedu_os:/bin/sh
/etc/passwd:tedu_1:x:1002:1001::/home/tedu_1:/bin/sh
/etc/shadow:tedu_os:!:17756:0:99999:7:::
/etc/shadow:tedu_1:!:17756:0:99999:7:::
/etc/group:tedu_os:x:1001:

通过上面的示例,可以看出,新创建的tedu_1用户UID在tedu_os用户的基础上加1,而GID则和tedu_os的GID是相同的,说明tedu_1和tedu_os两个用户在一个用户组内。需要注意的是,指定用户组创建用户时,该用户组必须是存在的,否则将会导致用户创建失败。
使用默认选项创建的用户,并没有创建用户主目录,可以使用-m选项在创建新用户时,同时创建该用户的主目录。

#添加用户
os@tedu:~$ sudo useradd -m -g tedu_os tedu_2
[sudo] os 的密码: 
#查看tedu_2用户默认主目录位置
os@tedu:~$ grep tedu_2 /etc/passwd
tedu_2:x:1003:1001::/home/tedu_2:/bin/sh
#查看tedu_2用户主目录
os@tedu:~$ ls /home
os  tedu_2  tedu_os
#查看tedu_2用户主目录中默认的内容
os@tedu:~$ ls -lR /home/tedu_2
/home/tedu_2:
总用量 4
drwxr-xr-x 2 tedu_2 tedu_os 4096 721 15:00 模板

/home/tedu_2/模板:
总用量 88
-rw-r--r-- 1 tedu_2 tedu_os     0 721 15:00 'DOCX 文档.docx'
-rw-r--r-- 1 tedu_2 tedu_os  9216 721 15:00 'DOC 文档.doc'
-rw-r--r-- 1 tedu_2 tedu_os 28966 721 15:00 'PPTX 演示文稿.pptx'
-rw-r--r-- 1 tedu_2 tedu_os 20992 721 15:00 'PPT 演示文稿.ppt'
-rw-r--r-- 1 tedu_2 tedu_os 10417 721 15:00 'XLSX 工作表.xlsx'
-rw-r--r-- 1 tedu_2 tedu_os  6656 721 15:00 'XLS 工作表.xls'

每个使用-m选项创建的用户主目录都以“/etc/skel”这个目录作为模板进行创建,创建主目录时将该目录复制到用户主目录(一般为/home)目录下,并改为目标用户的名称,修改相应的权限及所属用户和用户组,所以如果在创建用户时,并没有创建用户主目录,也可以手动进行创建。这部分内容在后面讲解linux文件权限时再进行演示。

管理用户及用户组的相关命令

1、管理用户的工具或命令

useradd    注:添加用户 
adduser    注:添加用户
#两个用户创建命令之间的区别
#adduser:会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。(一般使用 adduser)
#useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。需要单独设置用户密码、指定家目录、指定shell等
 
usermod    注:修改已经存在用户的信息 
userdel    注:删除用户
passwd     注:为用户设置密码
chage      注:更改用户密码过期信息 
chfn       注:改变用户备注信息 
chsh       注:更改登录shell
usermod    注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等。即更改passwd和shadow文件中用户的相关属性 
pwcov      注:同步用户从/etc/passwd 到/etc/shadow 
pwck       注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv   注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger     注:查看用户信息工具
id         注:查看用户的UID、GID及所归属的用户组
chfn       注:更改用户信息工具
su         注:用户切换工具(su 和 su - 这两个切换用户是有区别的。)
#su 命令 和 su - 命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;
#而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后。
#pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。
#用echo $PATH命令看一下su 和su - 以后的环境变量有何不同。
#要从当前用户切换到其它用户,推荐使用su - 命令,这样连shell环境也切换了。
sudo       注:sudo 是通过另一个用户来执行命令(execute a command as another user)。
#su 是用来切换用户,然后通过切换到的用户来完成相应的任务,
#但是 sudo 能后面直接执行命令,比如 sudo 不需要root 密码就可以执行只有root用户才能执行的命令;
#但是的通过visudo 来编辑/etc/sudoers来实现;
visudo     注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit   注:和sudo 功能差不多;

2、管理用户组的工具或命令

groupadd     注:添加用户组;
groupdel     注:删除用户组;
groupmod     注:修改用户组信息 
newgrp       注:切换到一个新组 
gpasswd      注:管理组和组密码的命令。man gpasswd
groups       注:显示用户所属的用户组
grpck
grpconv      注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow
 ,如果/etc/gshadow 不存在则创建;
grpunconv    注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,
然后删除gshadow文件;

具体操作参照

https://blog.csdn.net/freeking101/article/details/78201539

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值