用户管理

  • 用户管理已关闭评论
  • 265 次浏览
  • A+
所属分类:linux技术
摘要

查看当前登录的用户信息查看文件的owner(创造者)查看运行进程的usename/etc/passwd冒号分割为7列字段;(学习7列字段含义)


用户分为root用户(超级管理员)和普通用户

用户管理

创建用户,查询用户,修改用户,删除用户。
把用户放在组里面便于管理。

用户/组基本概念

用户的作用概念:控制所有文件,程序的关键信息。

  • 查看当前登录的用户信息

  • 查看文件的owner(创造者)

  • 查看运行进程的usename

用户/组信息存储的文件

  • 用户基本信息文件/etc/passwd

/etc/passwd冒号分割为7列字段;(学习7列字段含义)

root        :x:0   :0   :root   :/root      :/bin/bash(shell)

用户名   :x:uid:gid:注释  : 宿主目录 :命令环境

root        :用户名(字母组成,不能重名),登录系统的名字;

X            :密码占位符,具体内容不在这里,在/etc/shadow文件里;

UID        :用户的身份证号;、

系统约定:RHEL7 uid:0特权用户 uid:1~499系统用户
初始状态下系统默认的用户有999个 uid:
1000+普通用户

GID        :  group组号(具有相同特征用户的集合)——基本组

注释       :描述

宿主目录:登录系统时所在的目录;

命令环境:登录shell的命令解释器;

/bin/bash:用户可以使用shell登录用户 /sbin/nologin用户不能登录系统,可以运行某程序。把不安全用户设为nologin。

 

SHELL   壳()——控制计算机 功能      命令解释器          定义命令          接受命令          执行命令 版本:ashell,bshell,cshell,tshell;
bash;

 

  • 用户密码信息文件/etc/shadow

/etc/shadow冒号分割为8列字段;

密码(对称密码和非对称密码)

加密的意义:

  1. 私密性
  2. 完整性
  3. 不可否认性
加密算法:$id$salt$encrypted $1:MD5 $5:SHA-256 $6:SHA-512 

  

登录名:密码加密值:最后一次修改时间:最小时间间隔(天数):最大时间间隔(天数):不活动时间:失效时间:

  1. 登录名;与/etc/passwd文件中的登录名相一致的用户账号
  2. 密码加密值;*号代表账号锁定;
  3. 最后一次修改时间;
  4. 最小时间间隔(天数),密码有效期(为多少天数);0代表当天改密码;
  5. 最大时间间隔(天数),密码有效期(为多少天数);99999代表无效期;
  6. 警告时间(时间间隔期一般时提醒);
  7. 不活动时间;表示用户没有登录系统但是账号还能保持有效期的最大天数(超过天数禁用你);可空;
  8. 失效时间;表示到了多少天账号就不能用了;可空;
  9. 保留;
  • 组信息文件/etc/group

 /etc/group冒号分隔为4列;

组名:组密码:组ID:组成员

组名:通常字母组成

组密码:

组ID:纯数字

组成员:默认为空

用户/组管理

用户管理

创建用户(不指定参数):

useradd+创建用户名:创建用户命令;
id+用户名:查询用户命令;
passwd+用户名:修改用户密码;
[root@localhost ~]# useradd 0098                    #创建用户0098  [root@localhost ~]# id 0098 uid=1104(0098) gid=1104(0098) 组=1104(0098)          #查询用户0098是否存在  [root@localhost ~]# passwd 0098                      #修改0098用户的密码 更改用户 0098 的密码 。 新的 密码:000000

怎么样在root目录下进入普通用户目录:  [root@localhost ~]# ls /home                  #查询home下的普通用户 001  0098  [root@localhost ~]# ls /home/001              #查询普通用户001的目录 公共  模板  视频  图片  文档  下载  音乐  桌面

 

创建用户(指定参数)

useradd 创建用户名  -u  指定UID号         :指定参数-u(UID);

useradd  创建用户名  -d  指定目的路径   :指定用户的家目录;

-u指定用户的uid;

[root@localhost ~]# tail -1 /etc/passwd 0098:x:1104:1104::/home/0098:/bin/bash  [root@localhost ~]# useradd 0099 -u 1111         #-u(uid),创建用户0099,指定uid为1111  [root@localhost ~]# tail -2 /etc/passwd 0098:x:1104:1104::/home/0098:/bin/bash 0099:x:1111:1111::/home/0099:/bin/bash   [root@localhost ~]# useradd 9999 -d /9999       #-d(directory),创建用户9999,指定用户的家目录   useradd --heip                                   #命令 --help #就可以查看所有命令参数

 

删除用户:

userdel  -r  用户名:删除用户;

-r一并删除用户目录

[root@localhost 001]# useradd 0098  [root@localhost 001]# userdel -r 0098  [root@localhost 001]# id 0098 id: 0098: no such user

修改密码:

passwd  用户名;

[root@localhost 001]# whoami          #在哪个宿主目录下 root                                  #在root用户密码下 [root@localhost 001]# passwd 001      更改用户 001 的密码 。 新的 密码:

组成员管理:

操作:

修改用户属性:

usermod 

-u指定用户的uid;

-g制定用户的基本组;

-G制定用户的附加组;

usermod  用户名   -g    基本组名

/etc/passwd可以查看的是用户的基本组;

/etc/group可以查看用户的附加组。id命令也可以看。

[root@localhost 001]# usermod -s /sbin/nologin 001 [root@localhost 001]# usermod -s /bin/bash 001  SHELL命令语法结构 usermod    -s      /bin/bash      001 命令        选项    什么shell      用户参数  #/bin/bash:用户可以使用shell登录用户 #/sbin/nologin用户不能登录系统,可以运行某程序。把不安全用户设为nologin。

 

[root@localhost 001]# useradd user01 [root@localhost 001]# ls /home 001  user01 [root@localhost 001]# grep user01 /etc/group user01:x:1104: [root@localhost 001]# grep user02 /etc/passwd [root@localhost 001]# grep user01 /etc/passwd user01:x:1104:1104::/home/user01:/bin/bash [root@localhost 001]# useradd user02 [root@localhost 001]# grep user02 /etc/group user02:x:1105: [root@localhost 001]# grep user02 /etc/passwd user02:x:1105:1105::/home/user02:/bin/bash [root@localhost 001]# groupadd 0098 [root@localhost 001]# grep 0098 /etc/group 0098:x:1106: [root@localhost 001]# grep user01 /etc/passwd user01:x:1104:1104::/home/user01:/bin/bash [root@localhost 001]# usermod user01 -g user02#user01.user02都在1105组,1105还是user01,user02的基本组 [root@localhost 001]# grep user01 /etc/passwd user01:x:1104:1105::/home/user01:/bin/bash

 

 

 

用户组管理:

(把不同的权限赋予不同的组,把用户放进组里。用户可以直接使用组权限。比如会员:充值进vip组,拥有会员组权限;到期进非会员组,无会员组权限。用户可以同时进不同的组,拥有不同组的全部权限。)

创建组

groupadd+创建组名:创建组命令;

(用户和组不能用纯数字,uid和gid是纯数字。)

基本组和附加组

查询组

grep  ‘组名’   /etc/group:查询组命令;
[root@localhost 001]# groupadd hr                #创建组hr  [root@localhost 001]# tail -1 /etc/group         #查找/etc/group里的最后一行 hr:x:1104:
[root@localhost
001]# grep hr /etc/group #在/etc/group查找组名hr chrony:x:989: hr:x:1104: [root@localhost 001]# grep hr /etc/passwd #在/etc/passwd里查询组hr(没有)#/etc/passwd里是用户user文件 [root@localhost 001]# grep hr /etc/shadow #在/etc/shadow里查询组hr(没有)#/etc/shadow里是用户user文件 # /etc/group里是组group文件

删除组

groupdel  组名:删除组
[root@localhost 001]# groupdel hr                #删除组hr [root@localhost 001]# grep hr /etc/group         #在/etc/group中查询组hr是否存在;(不存在) chrony:x:989:

分类:

 组的类型

一个用户可属于多个组。

基本组:随用户而创建的组,组名同用户名。/etc/group;

usermod  用户名    -g   组名(把用户的基本组改为组名;)

 附加组:用户加入的其它组;

usermod   用户名   -G     组名(把用户放进组名,组名就成为了用户的附加组)

(当成员1被创建,就会出现一个组名为1的组被创建,这个组名为1的小组就叫基本组。

   当成员2被创建,就会出现一个组名为2的组被创建,这个组名为1的小组就叫基本组。

   然后成员1加入组2,这个组2就叫做成员1的附加组。)

(如果组hr被创建,它既不是基本组,也不是附加组。因为基本组和附件组是相对于用户来说的。)

(每一个成员的基本组只能有一个,而附加组会有多个。)

一个用户只能有一个组,一个组可以为多个用户的基本组。

成员1和组1是什么关系?

组1对于成员1是基本组;(-g)

组2对于成员1是附加组;(-G)

组1对于成员2:一点关系没有;