Linux账号管理

一、passwd文件结构

clip_image001[9]

  • 账号名称
  • 密码
  • UID
  • GID
  • 用户信息说明列
  • 主文件夹
  • Shell

 

/etc/shadow文件结构

clip_image002[8]

  • 账号名称
  • 密码
  • 最近更改密码的日期
  • 密码不可被更改的天数
  • 密码需要重新更改的天数
  • 密码需要更改期限前的警告天数
  • 密码过期后的账号宽限时间
  • 账号失效日期
  • 保留

 

/etc/group文件结构

clip_image003[17]

  • 用户组名称
  • 用户组密码(很少设置)
  • GID
  • 该用户组支持的账号名称

 

/etc/gshadow文件结构

clip_image004[8]

  • 用户组名
  • 密码列
  • 用户组管理员账号
  • 该用户的所属账号

 

用户组之间的切换(初始用户组和有效用户组)

    • 初始用户组:/etc/passwdGID
    • 有效用户组:
      • 查看自己支持的用户组groups

第一个即是有效用户组

clip_image005[8]

      1. newgrp进行有效用户组切换

clip_image006[8]

 

用户密码忘记了怎么办?

  1. 一般用户  =====è    root用户即可更改,不需要知道原密码
  2. root密码   =====è各种方法进入Linux系统修改、

.    账号管理

  • 新增用户

useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM] [-c 说明栏] [-d 主文件夹绝对路径] [-s shell] 用户账号名

 

-M 不用穿件用户主文件夹

-m 要创建用户主文件夹(默认)

-r 创建一个系统账号

clip_image007[8]

 

指定uid以及存在的用户组

clip_image008[8]

 

创建一个系统账号

clip_image009[8]

 

useradd参考文件/etc/default/useradd /etc/login.defs  /etc/skel/*(使用useradd命令时的默认值)

clip_image010[8]

GROUP=100

centos使用的是私有用户组机制,默认不参考这个值。

INACTIVE=-1

密码不会失效

EXPIRE=

账号失效日期

SKEL=/etc/skel

主文件夹中的内容是这个目录下复制过去的
 

/etc/login.defs

clip_image011[8]

 

 

  • 设置密码

    passwd

passwd [--stdin] [-l] [-u] [-S] [-n 日数] [-x 日数] [-i 日期] 账号

-l 使密码失效

-u unlock的意思

-S 列出账号相关参数

 

passwd不加账号,是修改自己的密码。

chage 显示密码更详细参数

 

使用chage使新增用户登陆后必须更改自己的密码:

clip_image012[8]

 

 

  • 更改用户账号信息

 

usermod [-cdegGlsuLU] username

-d 主文件夹

-g 初始用户组

-l 修改用户名称

-u UID数据

-L 密码冻结

-U 去掉冻结

 

  • 删除用户

 

userdel [-r] username

-r 连通主文件夹一起删除

 

  • 用户功能

finger [-s] username

-s横排输出(部分数据)

 

chfn [-foph] username

-f 完整姓名

-o 办公室房间号

-p 办公室电话号

-h 家里电话号

  

chsh [-ls]

-l 列出可用shell

-s 修改自己的shell

 

id [username]

查看usernameUID GID等相关信息

 

  • 用户组管理

用户组相关的文件/etc/group /etc/gshadow

 

groupadd [-g gid] [-r] 用户组名

-g 指定GID

-r 新建系统用户组

 

groupmod [-g gid] [-n group_name] 用户组名

-g 修改GID

-n 修改组名

 

groupdel [groupname]

删除用户组

 

gpasswd  [-A user1,...] [-M user3,...] goupname

gpasswd [-rR] groupname

-A:将后面的用户设置为组管理员

-M:   将某些账号加入这个用户组

-r:将groupname的密码删除

-R :   groupname密码栏失效

 

 

. 用户权限切换su sudo

  • 用于切换用户的su

su [-lm] [-c 命令] [username]

-  : 使用login-sehll的变量来登录系统

-l : 添加预切换的环境变量

-c  : 指定一次命令

 

注意:

    • 使用- 执行login-shell读取变量
    • 使用root切换用户,不用输入密码

 

  • 不需要知道被切换用户密码的sudo

sudo [-b] [-u 新用户账号]

-b : 让后续命令交给系统自动执行

-u    :   预切换用户

 

clip_image013[8]

 

判断用户是否具有sudo运行的sudo文件    /etc/sudoers

clip_image014[8]

    • 用户账号
    • 任何位置
    • 任何身份
    • 任何命令

 

用户组前面要加%

clip_image015[8]

 

免密码设置:

clip_image016[8]

 

一些其他的限制:限制命令、设置别名等不再赘述。

 

. 其他用户相关的命令

查询用户w,who,last,lastlog

用户对谈write,mesg,wall

 

. 手动创建用户的步骤

  • 新建所需要的用户组    vim /etc/group
  • /etc/group/etc/shadow同步    grpconv
  • 新建账号的各个属性    vim /etc/passwd
  • /etc/passwd/etc/shadow同步    pwconv
  • 新建该账号的密码     passwd accountname
  • 新建用户主文件夹     cp -a /etc/skel /home/accountname
  • 更改用户主文件夹的属性      chown -R accountname.group  /home/accountname
posted @ 2018-01-21 19:48  befmain  阅读(309)  评论(0)    收藏  举报