>>前言   

Linux是一个多用户、多任务的操作系统,Linux系统的初衷之一就是满足多用户同时工作的需求,因此,linux需要具备很好的安全性,需要对用户进行管理,用户又分几种,管理员(root)、系统用户和普通用户。root管理员拥有最高的系统所有权,能够管理系统的各项功能。在这几种用户中怎样进行区分,linux通过用户身份UId来进行判断,管理员的UID为0,所以为系统管理员,root用户不一是管理员,要root的UID为0才为系统管理员;系统用户的UID在1~999和普通的用户UID为1000+。为了进一步管理用户,linux还引入了用户组的概念。

>>用户和工作组的具体操作

#用户的创建 useradd [opt][username]

##[opt]

-d 指定用户登录时的起始目录

-e 账户的到期时间,格式为YYYY-MM-DD

-u 指定用户的UID

-g 指定一个初始的用户组(必须存在)

-G 指定一个或多个扩展用户组

-N 不创建与用户同名的用户组

-s 指定该用户的默认解释器

-f<缓冲天数> 指定在密码过期后多少天即关闭该账号

-D 变更预设值

-m 自动建立用户的登入目录

-M 不要自动建立用户的登入目录

-r 建立系统帐号

-n 取消建立以用户名称为名的群组

##Instance


###需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号

#修改用户的属性 usermod [opt] [username]

##[opt]

-c<备注> 修改用户帐号的备注文字;
-d<登入目录> 修改用户登入时的目录;
-e<有效期限> 修改帐号的有效期限;
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号;
-g<群组> 修改用户所属的群组;
-G<群组> 修改用户所属的附加群组;
-l<帐号名称> 修改用户帐号名称;
-L 锁定用户密码,使密码无效;
-s<shell> 修改用户登入后所使用的shell;
-u<uid> 修改用户ID;

-U 解除密码锁定。

#修改用户密码passwd [opt] [username]

##[opt]

-d 删除密码,仅有系统管理者才能使用;
-f 强制执行;
-k 设置只有在密码过期失效后,方能更新;
-l 锁住密码;
-s 列出密码的相关信息,仅有系统管理者才能使用;

-u 解开已上锁的帐号。

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

--stdin 允许通过标准输入修改用户密码 如echo ‘newpasswd’| passwd -stdin Username

#删除用户 userdel [opt] [username]

##[opt]

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件。

#用户组的创建 groupadd [opt][groupname]

##[opt]

-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;

-o:允许添加组ID号不唯一的工作组。

##instance


使用#cat /etc/group 查看工作组

#更改用户组 groupmod [opt] [groupname]

##[opt]

-g<群组识别码>:设置欲使用的群组识别码;
-o:重复使用群组识别码;
-n<新群组名称>:设置欲使用的群组名称

#删除工作组 groupdel  [groupname]

#修改账号和密码的有限期 change [opt] [username]

##[opt]

-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

#显示用户或组信息 id [-gGnru][--help][--version][username]

##[opt]

-g或--group   显示用户所属群组的ID。
-G或--groups   显示用户所属附加群组的ID。
-n或--name    显示用户,所属群组或附加群组的名称。
-r或--real    显示实际ID。
-u或--user    显示用户ID。
-help         显示帮助。

-version      显示版本信息。

#用户间切换 su [opt] [user]

##[opt]

-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
-s<shell>或--shell=<shell>:指定要执行的shell;
--help:显示帮助;

--version;显示版本信息

#工作组管理 gpasswd[opt][group]

##[opt]

-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

#扩展

##禁止用户登录

1.passwd -l username

2.vim /etc/passwd

   Tom:x:666:1234::/home/Tom:/bin/bash:/sbin/nologin

 

linux指令--用户和工作组管理的更多相关文章

  1. 69 su -用户和工作组管理

    su su命令用户和工作组管理 su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码. 语法 su (选项) (参数) 选项 -c<指令>或--command= ...

  2. Linux 指令篇:磁盘管理--tree

    Linux 指令篇:磁盘管理--tree 功能说明:以树状图列出目录的内容. 语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式&g ...

  3. Linux命令——用户和用户组管理

    Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...

  4. Linux的用户和用户组管理

      Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控 ...

  5. (转)Linux的用户和用户组管理

    原文 Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并 ...

  6. Linux 操作系统的用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入 系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  7. Linux中用户与用户组管理

    1.基础知识 Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登陆到系统上,并响应每个用户的请求. 任何需要使用操作系统的用户,都需要一个系统账号,账号分为:管理员账号与普通用户账号 ...

  8. 2019/12/11学习内容摘要(Linux系统用户与用户组管理①)

    一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd  | head  ( ...

  9. Linux 学习笔记04丨Linux的用户和用户组管理

    Chapter 3. 用户和用户组管理 由于Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号身份进入系统. 3.0 用户与 ...

随机推荐

  1. Pyhton学习——Day4

    '''y=2*x+1x=3y->7x=3y->7'''# def test(x):# '''# 2*x+1# :param x:整形数字# :return: 返回计算结果# '''# y= ...

  2. HTML5 基础测试题

          HTML5 基础测试题 1.HTML5 之前的 HTML 版本是什么?() A.HTML 4.01 B.HTML 4 C.HTML 4.1 D.HTML 4.9 2.HTML5 的正确 d ...

  3. Linux学习总结(16)——CentOS 下 Nginx + Tomcat 配置负载均衡

    最近在读埃隆·马斯克传记,他说「我认为现在有非常多的聪明人都在致力于互联网」. 仔细一想,好像真的是这样的. 我问了自己一个问题:如果你不敲代码了,你能做什么? 答案令人极其恐怖.吓得我赶紧又去写了一 ...

  4. java的反射机制(重要)

    1,反射的概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为 ...

  5. ASP.NET-DropDownListFor绑定model数据

    在ASP.NET中,DropDownListFor绑定model数据比用html的select方便太多了,配合listmode这种模型集合就可以在controller里面直接foreach循环处理li ...

  6. redis五种数据结构的指令

    一.基本常用命令 select 选择数据库  0-15共16个库 keys   返回所有的键   keys mylist*代表取出所有mylist开头的键 exists 确认一个键存在不 del 删除 ...

  7. JDBC创建mysql连接池代码

    1.底层实现类(DBConnection) package JDBC.JDBCPool.MyJDBCPool; import java.sql.Connection; import java.sql. ...

  8. [jQuery] 选择器和事件

    jQuery选择器 属性选择器 <p>p1</p> <span style="font-size:24px;"></span>< ...

  9. 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)

    之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...

  10. JAVA配置Tomcat

    1.下载tomcat,我jdk是1.8的,网上查了一下,说要安装tomcat8及以上的tomcat 尝试点击,弹出, 2.配置环境 3.安装通过cmd安装 4.点击开启服务 5.输入localhost ...