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

相关推荐

  • K8S的安装

    使用kubeadm安装部署kubernetes集群: 前提:1、各节点时间同步;2、各节点主机名称解析:dns OR hosts;3、各节点iptables及firewalld服务被disable; 一、设置主节点安装程序包 1、生成yum仓库配置: 主管理节点上的yum仓库的配置: 先配置安装docker仓库: [docker]name=dockerbas…

    2018-08-08
  • centos6启动流程

    不知道为什么编辑了前两次都发不了,这是第三次了

    Linux笔记 2018-05-13
  • 重启网卡失败的解决方法

    重启网卡 报Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details. 的错误

    2018-04-18
  • linux下练习及答案

    1.显示当前时间,格式:201-06-18  10:20:30 2.显示前天是星期几 3.设置当前日期为2019-08-07 06:05:10 4、在本机字符终端登录时,除显示原有信息外,再显示当前登录终端号,主机名和当前时间 6.今天19:30自动关机,并提示用户 7.显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录 …

    2018-03-31
  • N31-第二周作业—文件的管理

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3、请使用命令行展开功能来完成以下练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │   └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │   ├── bin
    │   └── sbin
    └── var
    ├── lock
    ├── log
    └── run
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    2018-07-05
  • 压缩,解压缩及归档工具

    压缩,解压缩及归档工具

    2018-04-26