Linux用户管理

简介

Linux是多用户,多任务的系统

用户类别

管理员 root 拥有最高的管理权限

普通用户

  • 登录用户 拥有指定目录的部分或者所有权限。
    -系统用户 满足系统进程对文件属主的需求,不可用作登录。

用户标识

  • UID(user Id)是16bit的二进制数字,范围是0~65535
  • UID=0 该用户就是管理员,不只root可以是管理员,可以自己指定。
  • 系统用户 (1-65535)
    • 系统用户 一般的发行版为1499 centos为1999
    • 登录用户 一般发行版为500 centos为 1000

组类别

三种划分方式

  • 和用户划分类似

    • 管理员组
    • 普通用户组(系统用户和登录用户)
  • 第二种

    • 用户的基本组 :用户有且只能有一个基本组
    • 用户的附加组 可以没有或者有多个附加组
  • 第三种

    • 私有组 每次新建用户 如果不指定-g参数,都会自定创建一个和用户同名的组,组内只包含用户自己
    • 公共组
      组内可包含多个用户
      组标识 GID 划分用UID类似

关于用户的相关文件

  • /etc/passowrd 存储用户账户信息
    格式为
name:password:UID:GID:comment:directory:shell

格式说明:

name password UID GID comment directory shell
用户登录名 用户口令,用占位符x表示 用户ID,用户登录时,系统根据UID,而非用户名来识别用户 用户所属的主组ID 用户的注释信息 用户目录的绝对路径 用户默认的 shell
  • /etc/shadow 存储用户密码信息
    • 字段1:name用户登录名;
    • 字段2:加密的密码,$为分隔符,首先是使用的加密算法,其次是salt(随机数),最后才是加密了的密码本身;
    • 字段3:从1970年1月1日算起,密码被修改的天数(最近一次更改密码);
    • 字段4:密码最小期限,即密码最近更改日期到下次允许更改日期之间的天数(比如设置为10,则表示更改密码后10天内不允许再次更改;0表示无限制,可在任何时间修改);
    • 字段5:密码最大期限,密码最近更改日期到系统强制用户更改密码日期之间的天数(比如设置为100,则表示更改密码后100天,系统将强制要求再次更改密码;1表示永不修改);
    • 字段6:密码警告时间段,密码过期前,用户被警告的天数(比如,上个例子设置密码最大期限为100,密码警告时间段设为5,则表示更改密码后第96-100这5天,用户将被警告“密码即将过期”;-1表示没有警告);
    • 字段7:密码禁用期,密码过期后,到系统自动禁用账户的天数(-1表示永远不会禁用);
    • 字段8:账户过期日期(-1表示该账户被启用);
    • 字段9:保留条目,目前没用。
  • /etc/group 存储用户组信息
    格式
    group_name:password:GID:user_list
    格式说明
    • group_name:组名;
      password:用户组的口令,用占位符x表示,一般Linux用户组都没有口令;
    • GID:组ID;
    • user_list:用户列表,注意,这里列出的是以该组为附加组的用户列表,以此组为主组的用户没有列在此处。

管理命令

组管理 : groupadd, groupmod, groupdel
用户管理: useradd, usermod, userdel
密码管理 passwd, gpasswd
其他相关命令 newgroup chage chsh id su

组管理

(1)groupadd

语法

groupadd (选项) (参数)

选项

g:指定新建工作组的id
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs
-o:允许添加组ID号不唯一的工作组

参数

指定新建工作组的组名

示例

  groupadd -g 344 newgroup  # 新建一个组加入系统

(2)groupmod

语法

groupmod (选项) (参数)

选项

-g<群组识别码>:设置欲使用的群组识别码;
-o:重复使用群组识别码;
-n<新群组名称>:设置欲使用的群组名称。

参数
指定要修改的工作的组名


(3)groupdel

格式

groupdel (参数)

参数
要删除的组名


用户管理

(1)useradd

格式

useradd(选项)(参数)

选项

-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s:指定用户登入后所使用的shell;
-u:指定用户id

参数
要创建的用户名


(2)usermod

格式

usermod(选项)(参数)

选项

-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s:修改用户登入后所使用的shell;
-u:修改用户ID;

-U:解除密码锁定。

参数
登录名:指定要修改信息的用户登录名。


(3)userdel

格式

userdel(选项)(参数)

选项

-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。

参数
用户名:要删除的用户名。


密码管理

(1)passwd

格式

passwd(选项)(参数)

选项

-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。

参数
用户名:需要设置密码的用户名。


(2)gpasswd

格式

gpasswd(选项)(参数)

选项

-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

参数
组:指定要管理的工作组。

相关文件
/etc/group /etc/gpassword

其他

chsh:修改shell
finger:查看信息
chfn:修改finger信息
whoami:我是谁呵呵
pwck:检查用户信息是否有异常
grpck:检查组信息是否有异常

你可能感兴趣的:(Linux用户管理)