第五章 用户身份与能力

  • 内容
  • 评论
  • 相关

linux用户有三类

1.管理员root 只有一个 uid 0

2.系统用户 uid 1-999 Linux系统默认为每个程序创建一个独立的用户,防止黑客提权

3.普通用户 uid 1000-几十万

 

每个用户都有一个单独的UID,root账户之所以是管理员因为他的UID是0.

每个UID不能冲突和Windows的SID一样,普通用户默认从1000开始,不管前面的号码是不是空的。

Linux中还有组,GID,可以多个用户加入同一个组中,指定统一的权限。美国用户创建时,自动创建一个同名的基本用户名,基本用户在只有这一个用户,可以把用户加到其他用户组,叫扩展用户组。一个用户只用一个基本用户组,但是可以有多个扩展组。

useradd命令

可以使用useradd命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会被存放在/home目录中,默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。这些默认设置可以根据表5-1中的useradd命令参数自行修改。

                                       useradd命令中的用户参数以及作用

参数

作用

-d

指定用户的家目录(默认为/home/username)

-e

账户的到期时间,格式为YYYY-MM-DD.

-u

指定该用户的默认UID

-g

指定一个初始的用户基本组(必须已存在)

-G

指定一个或多个扩展用户组

-N

不创建与用户同名的基本用户组

-s

指定该用户的默认Shell解释器

我们创建一个用户指定UID 家目录,bash放在/sbin/nologin中,这个用户不能登陆,因为在nologin中。

groupadd命令

用于创建用户组

为了更好的管理各个用户的权限,几个用户加入同一个组里,然后统一复权。

usermod命令

用于修改用户的属性

用户的信息都保存在/etc/passwd文件中你可以直接修改,也可以使用usermod命令来进行修改

usermod命令中的参数及作用

参数

作用

-c

填写用户账户的备注信息

-d -m

参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去

-e

账户的到期时间,格式为YYYY-MM-DD

-g

变更所属用户组

-G

变更扩展用户组

-L

锁定用户禁止其登录系统

-U

解锁用户,允许其登录系统

-s

变更默认终端

-u

修改用户的UID

我们把用户加入到root用户组中,添加一个扩展组,原来的组不影响

passwd命令

用于修改用户密码,过期时间等

root用户可以修改所有人的密码,并且不需要旧密码。

passwd命令中的参数以及作用

参数

作用

-l

锁定用户,禁止其登录

-u

解除锁定,允许用户登录

–stdin

允许通过标准输入修改用户密码,如echo “NewPassWord” | passwd –stdin Username

-d

使该用户可用空密码登录系统

-e

强制用户在下次登录时修改密码

-S

显示用户的密码是否被锁定,以及密码所采用的加密算法名称

修改自己的密码

修改别人的密码

如果有个管理员出去度假很长时间,我们可以把他账户锁定,回来在开启

userdel命令

删除用户

当用户不在登陆系统时,可以使用userdel删除用户所有信息,删除时,该用户的家目录会被保留,可以使用-r参数将其删除。

userdel命令的参数以及作用

参数

作用

-f

强制删除用户

-r

同时删除用户及用户家目录

我们删除linuxprobe2用户