Linux用户管理详解

一、用户与用户组的概念

在计算机里面创建的用户必须属于一个组,一个组中可以有多个用户,一个用户可以分别属于多个组,但是要注意:一个用户只能有一个初始组,可以有多个附属组。

初始组(主组):给用户一开始分配的或加入的组,一个用户只能有一个初始组。

附加组(附属组):后面给用户分配的组,附属组可以有多个。

二、用户与用户组的配置文件

在linux 里面,通过使用配置文件来记录用户与用户组信息的。有4个配置文件:

  • 用户组的配置文件:/etc/group
  • 用户组的密码文件:/etc/gshadow
  • 用户的配置文件:/etc/passwd
  • 用户密码的配置文件:/etc/shadow

1. /etc/group 用户组的配置文件

每一行是表示一个组,用冒号分成了4列。

第一列:表示组名。

第二列:表示组密码,此处是x,x不是真正的密码,真正的密码是存储到/etc/gshadow配置文件里面的。

第三列:组的id(GID) 0表示是管理员组 1-499是系统组,系统默认创建的组。500-65535之间是我们自己创建的组。

第四列:隶属于该附属组的用户。

2. /etc/gshadow 用户组的密码文件

每一行是表示一个组,用冒号分成了4列,每一行和/etc/group配置文件里面的行一一对应。

第一列:组的名称。

第二列:组的密码,如果为! 或空则表示没有密码。

第三列:组的管理员。

第四列:隶属于该附属组的用户。

3. /etc/passwd 用户的配置文件

每一行表示一个用户,通过使用冒号分成7列。

第一列:用户的名称。

第二列:用户的密码,此处的x不是真正的密码,真正的密码是保存在/etc/shadow文件中的,

第三列:用户的id,如果是0,则是超级管理员,1-499是系统创建的用户(伪用户)的id,500-65535是我们自己创建的用户的id,如果把一个普通用户的id改成0,则该用户变成了超级管理员了。注意:伪用户不能登录,不能删除。

第四列:用户的主组的组id,在创建一个用户时,如果没有指定该用户的主组,则会自动生成一个和用户名同名的组,该组就该用户的主组。

第五列:用户的备注信息。

第六列:用户的家目录。

第七列:shell类型,执行的命令集类型。

4. /etc/shadow 用户密码的配置文件

每一行表示一个用户, 每一行和/etc/passwd配置文件里面的行一一对应。

第一列:用户的名称。

第二列:用户的密码,该密码是加密后的密码,如果有!或*则是没有密码。

三、用户组管理命令

1. 添加用户组

groupadd [选项] 组名
-g 添加用户组时指定组ID

案例:创建zu1组和id为888的zu2

2. 修改用户组信息

groupmod [选项] 组名
-n 修改组名
-g 修改组ID

案例1:把zu1改名为zu3

语法:groupmod -n 新组名 旧组名

案例2:把zu2组的组id改为999

语法:groupmod -g 999 组名

3. 删除用户组

groupdel 组名

注意:如果一个组下有用户,是不能删除这个组的

案例:比如把前面创建的zu2组给删除掉

四、用户管理

1. 添加用户

useradd [选项] 用户名
-g group_name 添加用户指定所属主组
-d home 添加用户时指定自己的家目录

案例1:添加一个刘备的用户。

注意:在创建一个用户时,如果没有指定该用户的主组,则会自动生成一个和用户名同名的组,该组就该用户的主组。

案例2:添加一个sanguo组,在该组里面添加一个guanyu的用户。

案例3:添加一个zhangfei的用户,主组为sanguo,家目录为“/xiaofei”。

2. 修改用户

usermod [选项] 用户名
-c comment 修改备注信息
-l login_name 修改用户名
-d home_dir 修改用户家目录
-g group_name 修改用户所属组

案例:把guanyu改名为guangong并且把家目录改为/home/xiaoguan

3. 删除用户

userdel [选项] 用户名
-r 删除用户的家目录

案例:删除guangong这个用户

五、密码管理

新建的用户,如果没有设置密码则是无法登陆的。

passwd [选项] 用户
-S 查看用户密码状态
-l 锁定用户的密码(禁止登录)
-u 解除用户密码锁定
-d 删除用户密码

案例1:给liebei设置密码

加密之后的密码:

案例2:锁定liubei用户

锁定liubei用户后,密码的状态:

也可以直接修改/etc/shadow文件里面用户的密码,也能够完成用户的锁定,注意,在修改密码时,一般在该密码前面添加一个特殊的符号,比如使用!,当解除锁定时,直接把密码前面的特殊符号给去掉即可。

案例3:删除liubei用户的密码。

删除用户密码的用户,只能在本地登陆,不能进行远程登录。

案例4:查看liubei用户的密码状态。

六、禁止账号登陆

1. 禁止某个账号登陆

方式一:通过 passwd –l 用户名 命令执行。

方式二:通过修改 /etc/shadow 配置文件中,用户对应的密码内容,一般前面添加特殊字符。

2. 禁止所有普通账号登陆

想要禁止所有的用户登录,则需要在/etc目录下面新建一个 nologin 的文件。

建立一个新文件的命令是 touch /etc/nologin 命令。

注意:无法禁用root用户。

七、添加删除组成员

gpasswd [选项] 组名
-a user_name 添加组成员
-d user_name 删除组成员

案例:把liubei用户添加到sanguo附属组。

八、赋予普通用户特殊权限

普通用户的权限受限,比如通过普通用户执行添加用户的操作,会出现如下的提示:

/etc/sudoers 在这个文件中,记录了哪些用户可以执行哪些命令。

visudo 或 vi /etc/sudoers 这两个命令都可以用来管理 /etc/sudoers 文件。

案例:比如给liubei用户授予添加用户的权限。

使用 visudo 命令:

切换到liubei登录用户,使用 sudo –l 查看当前用户可以执行哪些指令

使用“sudo 某些命令” 来执行特权命令。

sudo useradd 添加的用户

whereis 命令,查看该命令的全路径。

posted @ 2016-09-27 09:34  chenjiacheng  阅读(515)  评论(0)    收藏  举报