RHEL7用户管理
来源:互联网 发布:古代军官知乎 编辑:程序博客网 时间:2024/05/16 04:51
本文介绍Linux的用户管理
用户管理
Linux 是一个可以实现多用户登陆的操作系统,不同用户可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。
但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于用户管理和权限机制,不同用户不可以轻易地查看、修改彼此的文件。
与windows相比LINUX中的用户和账号的作用是一样的。
都是基于用户对访问的资源做控制,只不过在表示的细节上有差异。
用户帐号
伪用户一般和系统或者程序服务相关
bin、daemon、shutdown 、halt等
linux默认都有这些伪用户
伪用户通常不需要或无法登陆系统,可以没有宿主目录
源码安装nginx,运行nginx web服务器默认使用nobody用户
用户分类
根据帐号的位置:可分为本地帐号、远程(域)帐号
根据帐号的功能:
1000+为本地用户
RHEL中本地用户UID从500开始
UID即每个用户的身份标示,类似于每个人的身份证号码
用户组分类
根据帐号的位置:可分为本地用户组、远程(域)用户组
根据帐号的功能:
1000+为本地用户组
配置文件
关于用户和组的相关配置文件存放在以下目录中:
用户账户信息文件说明
用户的账户信息保存在/etc/passwd文件中
这个文件以如下格式保存了每系统帐户的所有信息:
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:GID:用户描述:宿主目录:登录的shell
用户密码信息文件说明
用户的密码信息保存在/etc/shadow文件中
这个文件以如下格式保存了系统帐户的密码信息:
root:$1$LTbeEPHI$AuZ6b2iHVNdekNHu2WvSP/::0:99999:7:::
用户名:加密后的密码:最近更改密码的日期:密码不能修改的天数:密码过期时间:密码需要更改期限到来的前7天发出警告:密码过期了几天后还能修改密码:帐号过期时间:保留
用户组信息文件说明
用户组信息保存在/etc/shadow文件中
这个文件以如下格式保存了系统用户组的所有信息:
root:x:0:tangbb
组名:组密码占位符:GID:组成员列表
用户组密码信息文件说明
用户组密码信息保存在/etc/gshadow文件中
这个文件以如下格式保存了系统用户组的密码信息:
root:x:0:
组名:组密码:组管理者列表:组用户列表
/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。
比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码。
解决模板文件被删之后用户名显示不正常的问题
当添加新的用户帐户时,默认会执行下列操作:
它的主目录就会被创建(一般是”/home/用户名”,除非你特别设置)
一些隐藏文件 如.bash_logout, .bash_profile 以及 .bashrc 会被复制到用户的主目录
会创建一个和用户名同样的组(除非你给新创建的用户指定了组)
- 删除用户的规则文件
[root@VM_200_13_centos ~]# useradd test[root@VM_200_13_centos ~]# echo 123456 | passwd --stdin testChanging password for user test.passwd: all authentication tokens updated successfully.[root@VM_200_13_centos ~]# ls -a /home/test. .. .bash_logout .bash_profile .bashrc[root@VM_200_13_centos ~]# rm -rf /home/test/.bash*[root@VM_200_13_centos ~]# su - testPassword:bash-4.2$ su - test
从上面最后一行看出用户名显示为bash-4.2
- 恢复用户的规则文件
bash-4.2$ su - testPassword:Last login: Sun Aug 14 01:38:21 CST 2016 on pts/0-bash-4.2$ suPassword:[root@VM_200_13_centos test]# cp /etc/skel/.bash* /home/test/[root@VM_200_13_centos test]# chown test:test /home/test/.bash*[root@VM_200_13_centos test]# su - testLast login: Sun Aug 14 01:40:15 CST 2016 on pts/0[test@VM_200_13_centos ~]$
从上面最后一行看出用户名已经正常显示
用户操作
介绍用户的添加删除等操作
添加用户
命令:useradd
作用:添加用户
语法:useradd [选项] 用户名
不使用该选项时会默认会以用户名在/home目录下创建宿主目录 -g 创建用户时指定起始组(起始组只能有一个) -G 创建用户时指定附加组(可以有多个附加组) -s 创建用户时指定登录的shell -M 创建用户时不创建宿主目录
创建用户tangpeng
[root@VM_200_13_centos ~]# ls /home[root@VM_200_13_centos ~]# useradd tangpeng[root@VM_200_13_centos ~]# ls /hometangpeng
指定UID创建用户tangdd
[root@VM_200_13_centos ~]# useradd -u 9527 tangdd [root@VM_200_13_centos ~]# ls /hometangdd tangpeng
创建用户tangjj指定宿主目录为/home/zhazha
[root@VM_200_13_centos ~]# useradd tangjj -d /home/zhazha[root@VM_200_13_centos ~]# ls /hometangdd tangpeng zhazha
创建用户tangmm指定起始组为tangdd
[root@VM_200_13_centos ~]# useradd -g tangdd tangmm[root@VM_200_13_centos ~]# id tangmmuid=9529(tangmm) gid=9528(tangdd) groups=9528(tangdd)
创建用户指定附加组为root
[root@VM_200_13_centos ~]# id tangbbuid=9530(tangbb) gid=9530(tangbb) groups=9530(tangbb),0(root)
指定用户登录的shell且不创建宿主目录
[root@VM_200_13_centos ~]# chsh -l/bin/sh/bin/bash/sbin/nologin/usr/bin/sh/usr/bin/bash/usr/sbin/nologin/bin/tcsh/bin/csh[root@VM_200_13_centos ~]# useradd -M -s /usr/sbin/nologin nginx[root@VM_200_13_centos ~]# ls /hometangbb tangdd tangmm tangpeng zhazha
删除用户
命令:userdel
作用:删除用户
语法:userdel [选项] 用户名
删除用户tangpeng同时删除宿主目录和邮件
[root@VM_200_13_centos ~]# userdel -r tangpeng[root@VM_200_13_centos ~]# ls /hometangbb tangdd tangmm zhazha
修改用户
命令:usermod
作用:修改用户
语法:usermod [选项] 用户名
切换用户
命令:su
作用:切换用户
语法:su [选项] [-] 用户名
说明:加上-会在切换用户时把环境变量一起进行切换
[root@VM_200_13_centos ~]# su - tangdd
查看用户
命令:id
作用:打印指定用户的用户和用户组信息
语法:id [选项] 用户
命令:w
作用:显示登录到系统的用户
语法:w [选项]
命令:who
作用:显示当前登录的用户信息
语法:who [选项]… [FILE|ARG1 ARG2]
说明:如果没有指定文件则使用 /var/run/utmp、/var/log/wtmp作为记录文件;ARG1 ARG2可以为am i或者mom likes等同于who -m
命令:finger
作用:显示系统用户信息
语法:finger [选项] [用户] [用户@主机]
用户组操作
介绍用户组的添加删除等操作
添加用户组
命令:groupadd
作用:添加用户组
语法:groupadd [选项] 组名
GID即用户组的ID
删除用户组
命令:groupdel
作用:删除用户组
语法:groupdel [选项] 组名
该命令比较简单,出去-h选项外的另一个-R选项都是不常用的
[root@VM_200_13_centos ~]# groupdel tangdd
修改用户组
命令:groupmod
作用:修改用户组
语法:groupmod [选项] 组名
密码修改
命令:passwd
作用:修改用户密码
语法:passwd [选项] <用户名>
说明:不加用户名则修改当前用户
选项都比较简单,最后一个可能比较难懂
[root@VM_200_13_centos ~]# echo cnmlgb | passwd --stdin testChanging password for user test.passwd: all authentication tokens updated successfully.
附录
RHEL7恢复ROOT密码
- RHEL7用户管理
- RHEL7用户和组管理
- linux之RHEL7用户管理
- RHEL7(124) 用户和组的管理
- RHEL7--UNIT5--用户与组管理
- RHEL7系统用户及组管理
- RHEL7文件权限管理
- RHEL7软件包管理
- RHEL7磁盘管理
- RHEL7文件管理
- RHEL7软件包管理
- RHEL7进程管理
- RHEL7--UNIT7--进程管理
- RHEL7--UNIT11--网络管理
- RHEL7--UNIT15-虚拟机管理
- rhel7 多路径管理
- RHEL7(124) 管理RHEL7系统网络
- RHEL7 (134) 管理进程优先级
- RHEL7文件查找
- 堆的相关概念与实现
- 第一次测试
- RHEL7文件管理
- 题目1047:素数判定(不用除法和求余)
- RHEL7用户管理
- 微服务之Spring Boot 简单搭建
- RHEL7管道与重定向
- android自定义Button样式(清晰简单)
- RHEL7软件包管理
- 2016.8.27
- APP启动过程
- RHEL7进程管理
- Spring注解解释(@Primary、@Qualifier)