Linux用户管理和组管理

Linux用户管理和组管理

用户和组的概念

用户组是具有相同特征用户的逻辑组合,需要让多个用户具有相同的权限时,如查看、修改某一个文件的权限,一种方法是分别对多个用户进行访问授权,若有是个用户就授权十次, 此方法效率不高;而另一种方法就是建立一个组,让这个组具有查看、修改文件的权限,然后将所有需要访问此文件的用户统一放到一个组内,那么组内的所有用户就拥有了和组一样的权限,这就是组。用户和组的关系属于多对多的关系

  • 用户user
    1. 管理员:root,0
    2. 系统用户:1-499(centos6),1-999(centos7)对守护进程   获 取资源进行权限的分配
    3. 登陆用户:500+,1000+(centos7) 交互式登陆
  • 组group
    1. 管理员组:root,0
    2. 系统组:1-499,1-999
    3. 普通组:500+,1000+

Linux组的类别

用户的主要组:用户必须属于一个且只有一个主组,组名同用户名,且仅包含一个用户,私有组

用户的附加组:一个用户可以属于零个或多个辅助组。

用户和组的配置文

/etc/passwd:用户及其属性信息(名称,UID,主组ID等)

account:password:UID:GID:GECOS:directory:shell

  1. 登录用名(wang)
  2. 密码 (x)
  3. 用户身份编号 (1000)
  4. 登录默认所在组编号 (1000)
  5. 用户全名或注释
  6. 用户主目录 (/home/wang)
  7. 用户默认使用shell (/bin/bash)

/etc/shadow:用户密码及其相关属性

  1. 登录用名
  2. 用户密码:一般用sha512加密
  3. 从1970年1月1日起到密码最近一次被更改的时间 u
  4. 密码再过几天可以被变更(0表示随时可被变更) u
  5. 密码再过几天必须被变更(99999表示永不过期) u
  6. 密码过期前几天系统提醒用户(默认为一周) u
  7. 密码过期几天后帐号会被锁定
  8. 从1970年1月1日算起,多少天后帐号失效

 

/etc/group:组及其属性信息

  1. 群组名称:就是群组名称
  2. 群组密码:通常不需要设定,密码是被记录在 /etc/gshadow uGID:就是群组的 ID
  3. 以当前组为附加组的用户列表(分隔符为逗号)

 

  • /etc/gshadow:组密码及其相关属性
  1. 群组名称:就是群组名称
  2. 群组密码:
  3. 组管理员列表:组管理员的列表,更改组密码和成员 u以当前组为附加组的用户列表:(分隔符为逗号)

 

用户和组管理命令

  • 创建用户useradd

 

-u:指定用户id(可指定数台电脑主机id一致)

-r:创建系统用户

-s :shell指明用户的默认shell程序,可用列表在/etc/shells

-d:HOME以指定的路径(不存在)为家目录

-c:”comment” 用户的注释信息

-g:GID指明用户所属基本组,可为组名,也可以GID

-G:GROUP1,[GROUP2,…]为用户指明9644加组,组必须事先存在

-m:

useradd -s /sbin/nologin -r -d /data/mysql -m -u 1234

  • 修改用户属性usermod

语法:usermod [option] login

-u:新UID

-s:新的默认shell

-d:新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

-c:新的注释信息

-G:新附加组,原来组会被覆盖,若要保留原有,需要同时使用-a选项。

-l:新的名字,例:usermod -l qqqqqq mysql

  • 删除用户userdel

语法:userdel [option]… login

-r:删除用户家目录

  • 创建组groupadd

语法:groupadd [option]… groupadd_name

-g GID: 指明GID号;[GID_MIN, GID_MAX]

-r: 创建系统组

entOS 6: ID<500

CentOS 7: ID<1000

  • 修改组groupmod

语法:groupmod [option]… group

-n:新名字

-g:新组id

  • 删除组groupdel

语法:groupdel group

  • 设置密码

修改指定用户的密码:passwd [ OPTIONS] UserName

常用选项:

-d:删除指定用户密码

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登录修改密码

-f: 强制操作

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限

–stdin:从标准输入接收用户密码

echo “PASSWORD” | passwd –stdin USERNAME

  • 修改组密码

语法:gpasswd [OPTION] GROUP

-a user 将user添加至指定组中

-d user 从指定组中移除用户user

-A user1,user2,… 设置有管理权限的用户列表

  • 更改和查看组成员

groupmems [options] [action]

options:

-g, –group groupname   更改为指定组 (只有root)

Actions:

-a, –add username     指定用户加入组

-d, –delete username   从组中删除用户

-p, –purge               从组中清除所有成员

-l, –list                 显示组成员列表

groups [OPTION].[USERNAME]… 查看用户所属组列

  • 新建用户的相关文件和命令
    • /etc/default/useradd
    • /etc/skel/*
    • /etc/login.defs
    • newusers passwd格式文件,批量创建用户

语法:newusers [options][file]

  • chpasswd:批量修改用户口令

工作原理:从系统的标准输入读入用户的名称和口令,并利用这些信息来更新系统上以存在的用户的指令

例:使用passwd..txt里面的用户名密码批量修改相应用户的密码

1.首先建立passwd.txt文件,格式为[username:userpassword]

user:123456

user2:12345

2.将passwd.txt文件的内容传输到chpasswd指令来修改相应用户的密码

cppasswd < passwd.txt

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95566

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班