CentOS7学习笔记(三) 用户和用户组管理
用户管理
Linux中root用户是权限最大的用户,一般情况下只有服务器管理员拥有root用户的使用权,而我们会使用其他用户来连接Linux
创建用户的命令
创建用户的命令是useradd name,例如创建用户zhang:
创建用户名为zhang的用户
[root@localhost ~]# useradd zhang
用户创建成功,查看home目录下,多了一个zhang的文件夹
[root@localhost ~]# cd /home
[root@localhost home]# ll
总用量 0
drwx------. 3 zhang zhang 78 12月 9 15:41 zhang
新用户默认是没有密码,需要设置密码才可以登录,需要注意的是Linux在输入密码时没有任何显示,凭直觉输入即可
[root@localhost home]# passwd zhang
更改用户 zhang 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
创建用户时可选择使用的参数如下所示:
-d 设置新用户的登陆目录
-e 设置新用户的停止日期,日期格式为MM/DD/YY
-f 帐户过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1
-g 使新用户加入群组
-G 使新用户加入一个新组。每个群组使用逗号“,”隔开,不可以夹杂空白字
-s 指定新用户的登陆Shell
-u 设定新用户的ID值
到此创建一个用户最基本的命令就结束了,可以登录一下试试:

删除用户的命令
删除用户的命令与添加用户命令类似,使用userdel name就可以删除这个用户,例如:

上面删除用户的命令没有任何问题,可是并没有将用户删除,这是因为刚刚创建用户后测试登录的控制台并没有退出登录,只要关闭zhang的控制台就可以了

删除用户没有很多的参数,只需要记住一个 -r 就可以了,为了安全起见删除用户默认是不会删除home下的文件的,想要在删除用户的同时删除改用户在homne下的文件只需要携带 -r 参数就可以了
用户密码的修改
设置用户登录密码
修改用户密码可以使用 passwd 命令进行修改,在没有指定用户的情况下默认修改当前登录用户的密码:
[root@localhost ~]# passwd
更改用户 root 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
也可以在后面跟上用户登录名,修改指定用户的密码:
[root@localhost ~]# passwd zhang
更改用户 root 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
设置简单密码
设置密码时有复杂性校验,可如果偏要设置简单密码的话可以使用下面这种方法,需要注意使用这种方式设置密码时 密码在控制台上是显示的:
[root@localhost ~]# passwd --stdin root
更改用户 root 的密码 。
zhang
passwd:所有的身份验证令牌已经成功更新。
或者如果不喜欢这种方法的话,可以继续使用passwd命令,可以无视他的警告继续设置也可以设置成功
[root@localhost ~]# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
用户信息的查询
查看当前登录的用户使用who am i命令,可以去掉中间的空格,显示的内容会变得精炼
[root@localhost home]# who am i
root pts/0 2021-12-09 16:10 (192.168.95.1)
[root@localhost home]# whoami
root
查看用户信息使用id命令,例如
默认查看当前登录用户的信息
[root@localhost ~]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
查询指定用户的信息
[root@localhost ~]# id root
uid=0(root) gid=0(root) 组=0(root)
[root@localhost ~]# id zhang
uid=1000(zhang) gid=1000(zhang) 组=1000(zhang)
切换当前登录用户
系统中创建了test1和test2两个用户,假设说当前登录用户为test1,我想要查看test2下的某个文件:
[test1@localhost ~]$ cd ../test2
-bash: cd: ../test2: 权限不够
他会提示我权限不足,这时就可以切换到test2用户,切换用户的命令为su -,使用方法如下所示:
切换到test2用户,输入密码后就可以切换成功了
[test1@localhost ~]$ su - test2
密码:
[test2@localhost ~]$ cd /home/test2
输入exit命令后退出test2用户,回到了test1用户
[test2@localhost ~]$ exit
登出
[test1@localhost ~]$
用户组和用户
什么是用户组
将用户组带入到RBAC权限管理中来看,用户组就相当于一个角色,当某些用户具有同样的操作权限时可以将他们放在同一个用户组中进行管理
用户组的创建和删除
用户组的管理,这里简单介绍一下用户组的创建和删除就够了,至于权限相关的后面在学
开发组的创建
[root@localhost ~]# groupadd kaifa
测试组的创建和删除
[root@localhost ~]# groupadd ceshi
[root@localhost ~]# groupdel ceshi
用户组和用户的操作
创建zhang用户,将它放在kaifa组中
# 创建zhanag用户将他放进开发组中
[root@localhost ~]# useradd -g kaifa zhang
# 查看该用户的信息
[root@localhost ~]# id zhang
uid=1002(zhang) gid=1002(kaifa) 组=1002(kaifa)
每个用户在创建后都会属于一个组,如果没有指定组的话,默认会属于一个同名的用户组中,例如之前创建的test1
查看test1的用户组
可以看到test1用户属于同名的test1的组
[root@localhost ~]# id test1
uid=1000(test1) gid=1000(test1) 组=1000(test1)
现在test1的组是默认同名的用户组,现在希望将他移动到开发组中,命令如下所示
使用usermod命令修改用户组
[root@localhost ~]# usermod -g kaifa test1
[root@localhost ~]# id test1
uid=1000(test1) gid=1002(kaifa) 组=1002(kaifa)
用户和组的配置文件
针对用户和用户组的管理,在/etc目录下有配置文件详细记录着
用户的配置文件:/etc/passwd
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell

用户的另一个配置文件:/etc/shadow
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

用户组的配置文件:/etc/group
每行含义:组名:口令:组标识号:组内用户列表

CentOS7学习笔记(三) 用户和用户组管理的更多相关文章
- Liunx学习总结(三)--用户和用户组管理
用户和组的基本概念 用户和组是操作系统中一种身份认证资源. 每个用户都有用户名.用户的唯一编号 uid(user id).所属组及其默认的 shell,可能还有密码.家目录.附属组.注释信息等. 每个 ...
- CentOS7学习笔记(六) 用户权限管理
用户.用户组与文件的关系 在了解权限管理之前先创建一些用户和用户组便于后续学习,在root用户下操作: # 创建两个用户组 [root@localhost data]# groupadd kaifa ...
- Linux学习笔记:用户与用户组
基本概念 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户 也就是说任何需要使用操作系统的用户,都 ...
- iOS音频学习笔记三:音频会话管理
使用Audio Session API ,可以指定App需要的音频行为,比如,当播放音频时,使得其他应用App静音或者混和在一起,也可以指定当App的音频被中断(例如被电话)时的行为,还 ...
- linux笔记:用户和用户组管理-用户管理命令
useradd(添加用户.在使用useradd添加一个用户后,必须使用passwd给该用户设置密码,该用户才能登陆): passwd(设置或修改用户密码): usermod(修改用户信息): chag ...
- linux笔记:用户和用户组管理-用户配置文件
用户信息文件(/etc/passwd): 影子文件(/etc/shadow) 组信息文件(/etc/group)和组密码文件(/etc/gshadow):
- Linux 学习笔记04丨Linux的用户和用户组管理
Chapter 3. 用户和用户组管理 由于Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号身份进入系统. 3.0 用户与 ...
- Linux基础学习(7)--用户和用户组管理
第七章——用户和用户组管理 一.用户配置文件 1.用户信息文件/etc/passwd: (1)用户管理简介:所以越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范. ...
- Linux 笔记 - 第五章 Linux 用户与用户组管理
博客地址:http://www.moonxy.com Linux 是一个多用户的操作系统,在日常的使用中,从安全角度考虑,应该尽量避免直接使用 root 用户登录,而使用普通用户. 1. 关于用户 u ...
- 2019/12/11学习内容摘要(Linux系统用户与用户组管理①)
一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd | head ( ...
随机推荐
- 阿里云日志服务SLS,打造云原生时代智能运维
2021年10月21日,阿里云针对企业运维难题,在云栖大会为大家带来了一场<智能运维论坛>的主题演讲.在会上,阿里云资深技术专家.日志服务技术负责人简志提出"云原生时代,企业业 ...
- [GPT] nodejs 有哪些类似 jquery 语法的 html 解析库
在Node.js中,有一些类似jQuery语法的HTML解析库可供选择. 以下是其中几个常用的库: 1. Cheerio: Cheerio是一个快速.灵活且易于使用的HTML解析库,它提供了类似于 ...
- [FAQ] 部署二进制运行时 go-ego/gse 如何正确加载分词字典
运行Golang编译后二进制运行时,此时运行二进制时所在目录就是Golang源码程序认为的根目录了. 所以只需要把字典文件拷贝到与二进制所在同一目录内,然后使用 seg.LoadDict('dicti ...
- 还在用Jenkins?快来试试这款比Jenkins简而轻的自动部署软件!
大家好,我是 Java陈序员. 在工作中,你是否遇到过团队中没有专业的运维,开发还要做运维的活,需要自己手动构建.部署项目? 不同的项目还有不同的部署命令,需要使用 SSH 工具连接远程服务器和使用 ...
- 51k+ Star!动画图解、一键运行的数据结构与算法教程!
大家好,我是 Java陈序员. 我们都知道,<数据结构与算法> -- 是程序员的必修课. 无论是使用什么编程语音,亦或者是前后端开发,都需要修好<数据结构与算法>这门课! 在各 ...
- 通过劫持线程arena实现任意地址分配 n1ctf2018_null
通过劫持线程arena,当堆开了一个线程之后,如果没有做好保护随之的危险也悄然而至 BUU上的n1ctf2018_null很好的说明了这个问题 题目链接:BUUCTF在线评测 (buuoj.cn) 看 ...
- goland dlv在远程linux里运行代码开发,并debug调适
一.配置好ssh自动同步代码 参考下面连接: https://www.cnblogs.com/haima/p/13257524.html 二.配置devbug监听运行 GO Remote 填写配置 l ...
- Sublime-Text配置Less插件以及Sublime常用插件
在上一篇文章(node.js环境在Window和Mac中配置,以及安装cnpm和配置Less环境)中提到在Node.js中配置Less环境,今天介绍如何在Sublime中运用Less.默认已经下好了s ...
- 使用sshfs-win将linux服务器目录挂载到windows下
可以直接将服务器上的目录挂载到 Windows 的资源管理器,相当于多了一个磁盘,这样子就可以直接将数据下载到服务器上了,挺方便的. 原理说明 一般情况下,我们可以通过 samba 协议挂载远程服务器 ...
- postgresql数据库清理
大量update或者delete后 磁盘空间会猛增.原理是postgresql并没有真正的删除 只是将删除数据的状态置为已删除,该空间不能记录被从新使用.若是删除的记录位于表的末端,其所占用的空间将会 ...