目录

1.用户账号

(1)Linux用户三种角色

(2)下图是用户和组的关系

(3)配置文件

2.用户管理

(1)创建用户

1)添加登录用户

2)指定用户UID(-u参数)

3)指定用户主目录(-d参数)

4)指定用户的主组(-g参数)

5)指定用户的附属组(-G参数)

6)创建用户的另外一个命令

(2)删除用户

(3)密码文件

1)为用户添加密码

2)修改密码信息

(4)修改用户的信息

(5)解决模板文件被删之后显示不正常的问题


用户一般来说是指使用计算机的人,计算机对针使用其的每一个人给了一个特定的名称,用户就可以使用这些名称来登录使用计算机,除了人之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,

root在计算机中用拥有至高特权,所以一般只作管理用,非特权用户可以通过SU或SUDO程序来临时获得特权

GNU/Linux 通过用户和用户组实现访问控制----包括对文件访问、设备使用的控

个人可以拥有很多账户,只不是彼此名称不同,比如root名称已经占用就不能再用了,此外,任意用户可能从属某个用户组,此用户可以加入某些已经存在的组来获得该组的特权

GNU/Linux 系统中的每一个文件都有属一个用户(属主)和一个用户组(属组)

另外,还有三种类型的访问权限:

  • 读(read)、
  • 写(write)、
  • 运行(execute)。

我们可以针对文件的属主、属组、而设置相应的访问权限。再次,我们可以通过 ls | stat命令查询文件属主、属组和权限

 

Linux用户和组管理

1.用户账号

(1)Linux用户三种角色

  • 超级用户: root  拥有对系统的最高的管理权限  ID=0
  • 普通用户:系统用户:UID:1-999(centos7版本)   1-499(centos6版本)
  •                   本地用户:UID:1000+          500+
  •                   UID:即每个用户的身份标示,类似于每个人的身份证号码.
  • 虚拟用户:伪用户  一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache

(2)下图是用户和组的关系

  • 一对一:一个用户可以存在一个组中;
  • 一对多:一个用户可以存在多个组中
  • 多对一:多个用户可以存在一个组中;
  • 多对多:多个用户可以存在多个组中

(3)配置文件

名 称

帐号信息

说 明

用户配置文件

/etc/passwd

记录了每个用户的一些基本属性,并且对所有用户可读,每一行记录对应一个用户,每行记录通过冒号进行分隔

用户组文件

/etc/group

用户组的所有信息存放地儿,并且组名不能重复

用户对应的密码信息

/etc/shadow

因为passwd文件对所有用户是可读的,为安全起见把密码从passwd中分离出来放入这个单独的文件,该文件只有root用户拥有读权限,从而保证密码安全性

 

 

 

 

 

 

2.用户管理

(1)创建用户

命令:useradd

useradd -d -u “UID” -g "初始组" -G "附加组" -s "登陆的shell” 用户

  • -d:  -d 用户主目录路径, 可以指定用户家目录
  • -M:   不创建用户的主目录
  • -g:设置用户初始组的名称或数字ID;该组必须是存在的;如果没有设置该选项,useradd会根据/etc/login.defs文件中的USERGROUPS_ENAB环境变量进行设置。默认USERGROUPS_ENAB yes 会用和用户名相同的名字创建群组,GID 等于 UID.
  • -G:用户要加入的附加组列表;使用逗号分隔多个组,不要添加空格;如果不设置,用户仅仅加入初始组。(一个用户只允许有一个主组,可以有多个附属组)
  •   -s:用户默认登录shell的路径;启动过程结束后,默认启动的登录shell在此处设定;请确保使用的shell已经安装,默认       是 Bash。有时候需要禁止某些用户执行登录动作,例如用来执行系统服务的用户。将shell设置成 /sbin/nologin 就可以禁止用户登录。

1)添加登录用户

Linux用户和组管理

说明:此命令会自动创建harry组,并成为harry用户的默认主组,同时默认的登录shell是bash

用户帐户的全部信息被保存在/etc/passwd文件。这个文件以如下格式保存了每一个系统帐户的所有信息 (字段以“:”分割)

Linux用户和组管理

  • harry:用户名
  • x:密码占位符
  • 1001:用户的UID,它都是用数字来表示的
  • 1001:用户所属组的GID,它都是用数字来表示的
  • 用户描述信息:对用户的功能或其它来进行一个简要的描述
  • /home/harry:用户主目录(shell提示符中“~”代表的那个)
  • /bin/bash:用户登录系统后使用的shell
  • 查看系统中支持哪些shell
  • Linux用户和组管理

2)指定用户UID(-u参数)

Linux用户和组管理

查看创建的用户的宿主目录下的文件,有一些隐藏的文件

Linux用户和组管理

3)指定用户主目录(-d参数)

Linux用户和组管理

4)指定用户的主组(-g参数)

Linux用户和组管理

id 用户名:查看用户的uid,gid,组

  • uid:用户id
  • gid:主组id
  • 组:用户所属的组,上述示例只属于一个组,所以gid和此项相同,但这里也可能有多个组,而主组只有一个

5)指定用户的附属组(-G参数)

我们也可以把这个附属组称为补充组,用户可以有0个或多个附加组的成员

Linux用户和组管理

如果一个组有多个成员,我们是可以在/etc/group文件中最后一个字段看到的

Linux用户和组管理

......

Linux用户和组管理

6)创建用户的另外一个命令

adduser是useradd的软链接

Linux用户和组管理

(2)删除用户

命令: userdel  (选项)用户名

选项:-r 删除的时候,会同时删除用户的家目录和/var/mail下的目录,如果不加-r不会删除家目录

Linux用户和组管理

Linux用户和组管理

可以发现home目录下已经没有了boboyu2和boboyu3

(3)密码文件

在/etc/shadow文件下

Linux用户和组管理

Linux用户和组管理

格式如下:

name

登录名称,这个必须是系统中的有效账户名

password

已加密密码,分为三个部分,第一部分是表示使用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希

哈希算法:$1表示MD5 ; $6 表示SHA-512 ;  $5 SHA-256

查看帮助说明:

man 5 passwd

man 5 shadow

man 5 group

man 3 crypt

lastchange

最近一次更改密码的日期,以距离1970/1/1的天数表示

min-age

不能更改密码的最少天数,最近更改过后几天才可以更改;如果为0表示“最短期限要求”

maxage

密码过期时间,必须更改密码前的最多天数

warning

密码即将到期的警告期,以天数表示,0表示“不提供警告”

inactive

宽限天数,密码到期后

expire

账号过期时间,以距离1970/1/1的天数计算 (千年虫)

blank

预留字段

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)为用户添加密码

Linux用户和组管理

下述方式也可以:

Linux用户和组管理

思考:

1.两个用户的密码一样? 那么shadow中加密的hash值一样吗?  

不一样,因为它们的salt不一样

Linux用户和组管理

2.如果把两段加密的内容互换,还可以登录吗?

可以的

3.salt什么时候指定的?

salt是算法中就指定好的,在执行passwd的时候会自动生成一个随机值

2)修改密码信息

可以在/etc/login.defs目录下修改

Linux用户和组管理

通过如下方式只查看该文件中不是以#开头或空行的行:

Linux用户和组管理

命令:chage

-m:密码可更改的最小天数。为0时代表任何时候都可以更改密码

-M:密码保持有效的最大天数

-W:用户密码到期前,提前收到警告信息的天数

-E:帐号到期的日期。过了这天,此帐号将不可用

-d:上一次更改的日期,为0表示强制在下次登录时更新密码

(4)修改用户的信息

语法:usermod 【参数】用户名

常用参数:

  • -u UID
  • -d 宿主目录
  • -g 起始组 #只能有一个
  • -G 附加组 #可以有多个
  • -s 登录shell

1)修改uid

Linux用户和组管理

2)修改shell

Linux用户和组管理

3)更改用户主目录

-m  会自动创建新目录并且移到内容到新目录里面,即当要创建的目录不存在时可以自动创建,对于不存在的目录不加-m,就不会更改家目录成功Linux用户和组管理

4)添加说明信息

Linux用户和组管理

总结:如果你记不住命令, 那么直接改vim /etc/passwd 一样的。

Linux命令说明:

命令  参数中间可以加可选参数,而可选参数,有的又会有参数,这时可选参数就要紧跟它自己的参数,整个有嵌套的意味

(5)解决模板文件被删之后显示不正常的问题

Linux用户和组管理

相关文章:

猜你喜欢
  • 2021-10-08
  • 2021-05-07
  • 2021-12-25
  • 2021-07-07
  • 2021-07-28
相关资源
相似解决方案