一、linux用户账号的管理

  linux用户账号的管理主要包括用户添加、用户删除、用户修改。

  添加用户账号就是在系统创建一个新账号,然后为新账号分为用户号、用户组、主目录和登录Shell等资源。

  刚添加的账号是被锁定的,无法使用。

  1、添加用户使用useradd

  代码如下:

  userdd 选项 用户名

  其中选项含义如下:

  -c comment 指定一段注释性描述。
  -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  -g 用户组 指定用户所属的用户组。
  -G 用户组,用户组 指定用户所属的附加组。
  -s Shell文件 指定用户的登录Shell。
  -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

  例子1:useradd -d /usr/sam -m sam

  此命令创建了一个用户sam,
  其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

  例子2:useradd -s /usr/sh -g group -G adm ,root gem

  此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

  这里可能新建组:#groupadd group及groupadd adm 
  增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

  2、删除用户使用userdel

  如果一个用户不再使用,可以从系统删去。删除用户账号要将/etc/passwd等系统文件中该用户记录删除,必要时候还要删除用户的主目录。

  代码如下:

  userdel -选项 用户

  常用的选项是-r,它的作用是把用户的主目录一起删除。

  例子3:userdel -r sam

  此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

  3、修改用户信息使用usermod

  如果需要修改用户的属性,如用户号、主目录、用户组、登录Shell等等。修改已有用户的信息使用usermod命令。

  usermod -选项 用户

  常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:
  代码:
  -l 新用户名 这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

  例子4:usermod -s /bin/ksh -d /home/z –g developer sam

  此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

  4、用户口令管理passwd

  用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

  代码如下:

  passwd -选项 用户名

  可使用的选项:
  -l 锁定口令,即禁用账号。
  -u 口令解锁。
  -d 使账号无口令。
  -f 强迫用户下次登录时修改口令。
  如果默认用户名,则修改当前用户的口令。

  例子5:修改sam用户口令

  passwd sam

  New password:*******
  Re-enter new password:*******

  超级用户修改口令时候不需要输入原口令,普通用户则需要。

  例子6:passwd -d sam

  此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

  例子7:passwd -l sam

  此命令将sam禁用。

二、linux用户组管理

  每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

  1、用户组的添加使用groupadd

  代码如下:

  groupadd 选项 用户组

  可以使用的选项有:
  -g GID 指定新用户组的组标识号(GID)。
  -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

  例子8:groupadd -g 101 group2

  此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

  2、用户组删除使用groupdel

  代码如下:

  groupdel 用户组

  例子9:groupdel  group2

  此命令删除组group2

  3、用户组修改使用groupmod

  代码如下:

  groupmod 选项 用户组

  常用选项:

  -g GID 为用户组指定新的组标识号。
  -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  -n新用户组 将用户组的名字改为新名字

  例子10:groupmod –g 10000 -n group3 group2

  此命令将组group2的标识号改为10000,组名修改为group3。

  4、切换用户组

  如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。

  例子11:newgrp root

  这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

  5、让普通用户拥有root的权限

  1.root登录

  2.adduser 用户名

  3.passwd 用户名

  确定密码

  4.修改/etc/passwd即可,把用户名的ID和ID组修改成0。

linux基础命令学习(四)用户与群组的更多相关文章

  1. Linux基础(2)- 用户、群组和权限

    一.用户.群组和权限 1)  新建用户natasha,uid为1100,gid为555,备注信息为“master” 2)  修改natasha用户的家目录为/Natasha 3)  查看用户信息配置文 ...

  2. linux基础-第六单元 用户、群组和权限

    用户及passwd文件 /etc/passwd文件的功能 /etc/passwd文件每个字段的具体含义 shadow文件 /etc/shadow文件的功能 /etc/shadow文件每个字段的具体含义 ...

  3. linux基础-第七单元 用户、群组及权限的深入讨论

    怎样查看文件的权限 ls命令详解 root用户及文件的安全控制 什么是root用户 用户分类 文件操作权限 文件操作权限的字符表示 chown chgrp 使用符号表示法设定文件或目录上的权限 chm ...

  4. linux基础命令--groupadd 创建新的群组

    描述 groupadd命令用于创建一个新的群组. groupadd命令默认会根据命令行指定的值和系统下的/etc/login.defs文件定义的值去修改系统下的/etc/group和/etc/gsha ...

  5. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  6. linux基础命令学习(五)目录或文件权限

    一.查看文件的详情 ls -al 二.改变目录或文件的权限 chmod [-cfvR] [--help] [--version] mode file 1. 必要参数 -c 当发生改变时,报告处理信息 ...

  7. Linux基础命令学习记录(一)

    使用频繁的Linux命令 一.文件和目录 1.cd命令 cd / 进入根目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~ 进入个人的主目录 cd - ...

  8. Linux常用命令学习8---(用户和用户组管理)

    1.用户和用户组     用户和用户组概念        用户:使用操作系统的人(Linux支持多个用户在同一时间登陆同一个操作系统)        用户组:具有相同权限的一组用户(Linux系统中可 ...

  9. linux基础命令--userdel 删除用户帐户和相关文件

    描述 userdel命令用于删除用户帐户和相关文件. userdel命令修改系统账户文件,删除所有涉及用户的信息,指定的用户(LOGIN)必须存在. 语法 userdel [options] LOGI ...

随机推荐

  1. Mysql储存过程4:mysql变量设置

    默认全局变量是两个@@开头, 可用show variables查看所有默认变量: @@user #declare定义变量只能用在储存过程中 #declare 变量名 数据类型 可选类型 declare ...

  2. 前端nginx时,让后端tomcat记录真实IP【转】

    对于nginx+tomcat这种架构,如果后端tomcat配置保持默认,那么tomcat的访问日志里,记录的就是前端nginx的IP地址,而不是真实的访问IP.因此,需要对nginx.tomcat做如 ...

  3. Appium 1.6.3使用的自动化测试引擎

    automationName项的值: Appium:默认值. Selendroid:安卓2.3(API 9)-4.1(API 16)版本使用. UiAutomator2:最新安卓版本. XCUITes ...

  4. loadrunner 测试问题汇总

    1.关于Error -27791: Error -27790:Error -27740:        错误如下:        Action.c(198): Error -27791: Server ...

  5. 日志生成控制文件syslog.conf

    1: syslog.conf的介绍 对于不同类型的Unix,标准UnixLog系统的设置,实际上除了一些关键词的不同,系统的syslog.conf格式是相同的.syslog采用可配置的.统一的系统登记 ...

  6. Nginx 虚拟目录和虚拟主机的配置

    nginx.conf 配置文件的几个常用命令 nginx 配置文件主要分为六个区域: main: 全局设置 events: nginx工作模式 http: http设置 sever: 主机设置 loc ...

  7. 完全禁用Wordpress的升级功能

    wordpress自己带有一个自动升级的功能,也就是说,如果wp检测到官方已经有新的升级可用的话他就会自己升级上去.这可能对于某些场合是个不错的功能,但是对于一些已经对系统大量魔改或者对插件稳定性不抱 ...

  8. loadruner关联web_reg_save_param

    语法int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST); 参数说明: • ParamName ...

  9. LoadRunner去除事物中的程序的执行时间

    大家在性能测试过程中,经常会用到程序处理或组织数据,以达到一定的测试目的,但是程序本身执行会消耗一些时间,这部分消耗的时间是包含在响应时间里面,此时,响应时间=正常响应时间+程序执行消耗时间.那么如何 ...

  10. Java 中静态代码块初始化问题测试

    Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...