Linux账户管理实践
2021/11/13 7:10:26
本文主要是介绍Linux账户管理实践,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1、环境准备
- 2、新建用户组和用户
- 3、group组操作
- 4、登录
- 5、给新建用户添加sudo权限
- 5.1 添加到sudo组
- 5.2 修改sudoers表
- 5.3 /etc/sudoers的格式
- 6、/etc/passwd详解
- 7、删除用户和组
- 8、其他
1、环境准备
-
ubuntu20.04 LTS
-
所有操作都在root账户下操作
2、新建用户组和用户
#首先新建一个组 sudo groupadd develop #下面是两种创建用户方式,第一种会自动配置好,推荐 adduser shawn #第二种创建用户方式,必须设置密码,否则登录不上;其中-g是否在新建时加入组,若是,则不会单独生成新的组 useradd -m guest [-g develop] passwd guest
查看一下用户组状态,输入cat /etc/group
查看组的信息,默认新建的用户自己的用户名为一组
3、group组操作
#用户操作在/etc/passwd都有记录 #usermod -aG group_name user_name #gpasswd -a user_name group_name #-g是更改用户的主组 #-G是更改用户的附加组 usermod -aG develop shawn #将用户加到新的组里 gpasswd -a guest develop #将用户移出某个组 #gpasswd -d [user_name] [group_name] gpasswd -d guest develop #删除组,这里我已经移动到develop了所以成功删除 groupdel shawn
4、登录
然后进行分别登陆,发现两个终端有点不一样!可以发现第二种方式创建的用户有点问题,只有一个$符号,这是怎么回事?
原因:查看/etc/passwd
文件后发现,新建的用户未指定shell。我们只需将其指定为/bin/bash
即可;也可以进入该文件进行修改;
#切换用户 su shawn su guest #退出当前用户 exit logout #重新设置shell,这里发现用useradd命令会这样,建议用adduser usermod -s /bin/bash guest
5、给新建用户添加sudo权限
5.1 添加到sudo组
#添加shawn到sudo组,需要时输入shawn的密码即可 usermod -G sudo shawn
5.2 修改sudoers表
#首先要切换到root权限 #赋予当前用户写的权限 chmod u+w /etc/sudoers #编辑sudoers文件 vim /etc/sudoers #在User privilege specification或者#includedir /etc/sudoers.d下添加,这个代表当前组的用户都可以进行sudo,需要时输入当前账户密码即可 %develop ALL=(ALL:ALL) ALL #撤销sudoers文件写权限 chmod u-w /etc/sudoers
5.3 /etc/sudoers的格式
user host=(run_as) command
- user:一位或几位用户,在/etc/group中可以用一个%代替它,组对象的名称一定要用百分号%开头。
- host:一个或几个主机名,ALL表示可以在所有的主机上
- run_as:作为哪个用户运行,常见选项是root和ALL
- command:想让用户或组运行的一个或几个根级别命令
举几个例子
#%表示用户组,!表示禁止执行。 #表示默认5分钟后刚才输入的sodo密码过期,下次sudo需要重新输入密码 shawn ALL=(ALL:ALL) ALL #表示允许无时间限制的免输入密码,该组都免输入 %develop ALL=(ALL:ALL) NOPASSWD:ALL #develop组可以从任何主机登陆,并且可以不用输入密码执行任何命令,但是不能执行/usr/sbin下的命令 %develop ALL=(ALL) NOPASSWD:ALL,!/usr/sbin/
6、/etc/passwd详解
对于/etc/passwd
文件,它是用于存放用户名字和用户标识符号的一些信息的。
以root账户为例,各部分之间用:分隔开,可以分成7部分内容
root:x :0 :0 : root : /root : /bin/bash
root
:账户名称x
:密码,由于/etc/passwd这个文件是可以让所有用户读取,故为了安全,这个地方只能看到x,而隐藏了真实的密码0
:用户识别码(UID)0
:组识别码(GID),和/etc/group
文件有关系root
:该用户的信息说明,没有很重要的用途,仅仅是一个说明而已/root
:该用户的家目录,登录时候进入的目录,如果想修改登录时候的家目录所在,就可以在这里进行修改了/bin/bash
:shell,当用户执行命令的时候,是用的/bin/bash(在这个例子中)这个shell来执行命令。
7、删除用户和组
userdel 用户名 # 从配置文件中删除用户,并不删除用户下的文件夹 userdel -r 用户名 # 删除用户及其相关文件 userdel -f 用户名 # 强制删除用户 groupdel 组名 #删除组
8、其他
新建普通用户,可以将服务器资源分发给不同的用户,还可以赋予用户不同的权限;而组就是用来管理用户的,当用户多了的时候,比如需要赋予一批用户超级管理员权限,则只需要将用户添加到超级管理员的组就可以了
这篇关于Linux账户管理实践的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法