用户组和权限管理的相关命令

1,useradd  新建用户

useradd
-u uid username 创建用户时指定uid(如不指定则Centos:500-60000, Centos7: 1000-60000)
-o -u uid username  创建用户时指定uid(可以与已存在用户的uid相同)
-g groupname username 创建用户时指定主组为某个已存在的组。(将不会再创建与用户同名的组)
-c …  username 创建用户时指定描述信息。
-d path username 指定用户的家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)
-s /sbin/nologin username 指定用户的默认shell
-G group1[,group2] username 指定用户的辅助组
-N username 设置用户的主要组为默认组(users,gid=100)
-r username 创建系统用户

2,usermod  

usermod -u newuid username  修改用户的UID

usermod
-aG groupname 可以追加辅助组而不用覆盖之前的组
-G “” username  或 usermod -G 清空用户所有的辅助组
-g groupname username 修改用户的主组
-s /sbin/nologin username 修改用户的默认shell 
-m -d /…/path username 修改用户的家目录信息,并将家目录移动到目的目录并改名。
-l newname oldname 修改用户名
-L 给用户/etc/shadow中的密码位加!使用户被锁定
-U 把!拿掉。
-e yyyy-mm-dd 设置一个帐户过期时间
-f days 指定密码过期之后多少天帐户过期
-c …  username 修改用户时指定描述信息。
-d /…/path username 修改用户的家目录(不会创建,只修改/etc/passwd当中的家目录信息)

3,userdel删除用户

userdel [-r] username    删除用户时,加上-r连同其家目录,mail一同删除

4,groupadd 添加组名

groupadd
-g gid groupname 创建指定gid的组
-r groupname 创建系统组

5,groupmod

groupmod
-n newgrpname oldgrpname 修改组名
-g newgid groupname 修改gid

6,groupdel groupname  删除组

7,groups  username 查看指定用户属于那些组

8,gpasswd

gpasswd groupname 设置组密码

newgrp groupname(普通用户):当用户不是该groupname的辅助组成员时,则需要输入密码,成功后临时以主要组的身份加入该组。

当用户是该groupname的辅助组成员时,无需输入密码,将临时以主要组的身份加入该组,而其原有的主要组,临时变为辅助组。

gpasswd
-A username groupname 任命组管理员
-A “” groupname 撤消所有管理员
-a username groupname 往组中增加用户
-d username  groupname  将用户从组中删除
-r groupname 删除组密码
-M username ,.. ,… 设置辅助组的成员列表。(可以批量添加,中间用逗号隔开)

9,groupmems(仅限root使用,其他无权限)

groupmems
-g groupname -a username  仅能一次加一个用户到组中
-g groupname -d username 将指定成员从组中删除
-g groupname -l  列出指定组的成员列表(辅助组)
-p groupname 消除指定组的所有成员

10,实际应用:

创建下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 作为附属组
用户harry,也使用admins 作为附属组
用户sarah,不可交互登录系统,且不是admins 的成员,
natasha,harry,sarah密码都是centos
用户组和权限管理的相关命令


原创文章,作者:风之轨迹,如若转载,请注明出处:http://www.178linux.com/82667

(0)
风之轨迹风之轨迹
上一篇 2017-07-24
下一篇 2017-07-25

相关推荐

  • Shell中的循环语句

    在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外。把相关内容整理一下吧。 这里包括for/while/until循环,以及变量自增的语法实例。 Shell(以Bash为例)中的循环语句一般有for、while、until这几种,偶尔还有写错语法的时候,这里结合实例来自己总结一下。也为今后使用提供一个快捷的资料获取渠道。 一、…

    Linux干货 2016-08-22
  • 马哥教育网络班22期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [xw@localhost ~]$ who | cut -d' ' -f1 | uniq xw root 2、取出最后登录到当前系统的用户的相关信息。 [xw…

    Linux干货 2016-09-01
  • 初识shell脚本编程

    shell脚本基础 shell脚本是包含一些命令或声明,并符合一定格式的文本文件 一般格式要求: 1.首行shebang机制 #!/bin/bash #!/bin/python #!/usr/bin/perl 2.注释信息 以#开头,可写明脚本用途,作者,版本,时间等 3.脚本正文内容, 创建shell脚本 以bash为例 第一行定格#!/bin/bash …

    Linux干货 2016-08-15
  • class-7 积累应用

    1、当天课程内容笔记 2、当天练习 3、预习 4、取本机ip地址 [root@6 ~]#  ip addr|egrep -o '(\b([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\b\.)(\b([1-9]|[1-9][0-9]|1[0-…

    Linux干货 2016-08-08
  • MySQL/MariaDB数据库基于SSL实现主从复制

    前言 备份数据库是生产环境中的首要任务,重中之重,有时候不得不通过网络进行数据库的复制,由于MySQL/MariaDB的主从复制是明文传送的,如果在生产环境中跨网络传送,数据的安全性就无法完全保证,为了解决这一问题,我们需要一种安全的方式进行传送,即基于SSL加密进行数据传输。 部署配置 实验拓扑 实验环境 系统环境:CentOS6.6 数据库版本:mari…

    Linux干货 2015-06-21