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 00:31
下一篇 2018-04-09 08:42

相关推荐

  • 基础命令

    ]# date -s “2018-3-28”

    2018-03-29
  • 07 标准I/O和重定向

    三种写法总结: cmd $ all.log(较新系统的写法) cmd >all.log 2&1 (最常用写法) cmd 2>all.log 1>&2

    Linux笔记 2018-04-05
  • 第四周作业

    第四周作业
    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2018-06-07
  • awk

    使用方法 awk ‘{pattern + action}’ {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用…

    2018-05-20
  • Linux发行版的基础目录

    Linux发行版的基础目录名称命名法则及功用规定: FHS:Linux目录配置文件的依据         FHS的重點在于规范每个特定的目录下要放置什么样子的资料 FHS要求必須要存在的目录:/bin:在单人维护模式下还能操作的文档/boot:主要放置开机时會使用到的档案/dev:在Linux中,任何裝置与周边设备都是以档案的形态存在這個目录中的。/etc:…

    Linux笔记 2018-06-24
  • centos6启动流程

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

    Linux笔记 2018-05-13