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

(0)
浮夸浮夸
上一篇 2018-04-09
下一篇 2018-04-09

相关推荐

  • 正则表达式

      文本处理三剑客 grep:文本过滤 grep,egrep(支持扩展正则表达式),fgrep(不支持正则表达式) grep  需要查找的字符串 查找的目标文件 -v #取反 -i #忽略大小写 -n #显示目标字符串的行号 -c #显示匹配到的次数 -p #静默模式 -o #仅显示匹配到的字符串 -A# #显示包含关键字的后续几行 -B# #显示…

    2018-04-06
  • linux 学习6

    1、简述osi七层模型和TCP/IP五层模型 1、 osi七层模型 1、应用层:OSI 参考模型中最靠近用户的一层,为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。 2、表示层:提供各种用于应用层数据的编码和转换功能,确保一个主机的应用层发送的数据能被另一个主机的应用…

    Linux笔记 2018-07-28
  • fstab、init文件创建,内核启动管理

    /etc/下的fstab文件和/sbin/下的init文件的创建,内核启动列表管理简述

    2018-05-15
  • redis

    分布式存储一定是每个节点只存储一部分数据。

    2018-07-20
  • Linux系统上的命令使用格式与12个常用命令介绍

    Linux系统上的命令使用格式 本文默认使用Linux7,如有命令属于Linux6我会注明。 命令的语法通用格式: /]# COMMAND OPTIONS ARGUMENTS 命令示例:/]#ls -l /etc/ssh COMMAND(命令):ls 命令分为两类: 内部命令(builtin):由shell程序的自带的命令,这类命令没有对应的可执行文件。 外…

    2018-08-04