• Linux操作系统常用命令合集——第二篇- 用户和组操作(15个命令)


    一、前言:本篇介绍用户和组操作的15个命令,在介绍之前我们先来看看几个示

    1、先进入到etc目录下,找到passwd文件,用vi编辑器查看:

    # vi /etc/passwd

    解释:这里面存放着Linux系统里所有的用户信息,每当添加完用户后,这里面都会写入相应的数据,相当于我们windows的用户管理界面。拿第一行数据举例:

    root:x:1:0:root:/root:/bin/bash

    第一个root相当于用户名;

    x相当于密码,密码都会用x代替;

    第一个0ID号,这个号码是唯一的号码,不会与其他的重复;

    第二个0为组的ID号,这个号码也是唯一的,不会与其他重复;

    第二个root为注释或者全称,详细介绍该用户的作用;

    第三个root为自家目录,当用户登录系统的时候。默认登录到哪个目录;

    /bin/bash 为命令解释器,当用户使用该用户登录时,就需要使用到/bin/bash这个命令解释器。可以看一下其他用户的命令解释器,是/sbin/nologin,也就是说这个用户是存在的,但是不允许登录的。

    2、这里就有疑问了,x这个密码到底是存在哪里呢?

    可以在etc目录下查看shadow这个文件

    # vi /etc/shadow

    解释:root为用户,第二项为加密后的面,命名我们的密码很简单123456,但是在这里加密以后却是这么长,

    3、查看一下组信息

    # vi /etc/group

    解释:这里面大致情况和passwd的差不多。主要是最后一个冒号后面,会显示在这个组下面有哪些用户,由于我还没有添加,所以这里是没有显示的。

    组密码的保存地点保存在/etc/gshadow

    # vi /etc/gshaow

    二、科普:

    1、Linux 用户:Username/UID

    管理员:root,0

    普通用户:1-60000

           系统用户:1-499, 1-999

           登录用户:500+,1000+

    2、Linux:Groupname/GID

    管理员组:root,0

    普通组

            系统组:1-499,1-999

            普通组:500+,1000+

    3、Linux安全上下文

    运行中的程序:进程(process)

             进程所能够访问的所有资源的权限取决于进程的发起者的身份

    4、Linux组的类别

    用户的基本组(主组)组名同用户名,且仅包含一个用户私有组

    用户的附加组(额外组)

    5、Linux用户和组相关的配置文件

    # vi

          /etc/passwd  --用户及其属性信息

          /etc/group  --组及其属性信息

          /etc/shadow  --用户密码及其相关属性

          /etc/gshadow  --组密码及其相关属性

    详解: 

    (1)/etc/passwd:

    name:password:UID:GID:GECOS:directory:shell

    用户名:密码:UID:GID:注示:主目录:默认shell

    (2)/etc/group:

    group_name:password:GID:user_list

    组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)

    (3)/etc/gshadow:

    组名:组密码:组管理员:附加成员

    (4)/etc/login.defs:

    此文件是当创建用户时的一些默认规划

    (5)/etc/default/useradd:

    此文件是通过useradd 添加用户时的规则

    (6)/etc/skel:

    此目录是存放用户初始环境配置文件的目录

    三、命令详解

    1.useradd

    【命令作用】

     用户创建

    密码设置# passwd  ***

    删除账号# userdel  ***

    【命令语法】

     useradd    [参数]    [选项]

    【常用选项】

    -u  --指定用户id

    -g  --指定用户所属基本组,可为组名,也可以GID;组必须事先存在

    -c  --"COMMENT"用户的注释信息

    -d  /PATH/TO/HOME_DIR  --以指定的路径为家目录

    -M  --不创建用户家目录

    -s(SHELL)  --指明用户的默认shell程序,可用列表在/etc/shells文件中 # /sbin/nologin

    -G(GROUP1[,GROUP2,...[,GROUPN]]]) --为用户指明附加组;组必须事先存在

    -r  --创建系统用户

    -u UID-o   --创建相同UID号的用户

    【参数说明】

     要创建的用户名

    【命令示例】

    创建一个新的用户qwe,并设置ID666

    # useradd qwe -u 666

    查看是否创建用户qwe

    # vi /etc/passwd

    qwe用户存在

    2.groupadd

    【命令作用】

    创建一个新的工作组

    【命令语法】

     groupadd  [选项]    [参数]

    【常用选项】

    -g  --指明新键工作组的id

    -r  --创建系统组

    -g GID -o  --创建相同的GID号的组

    【参数说明】

    指定新建工作组的组名

    【命令示例】

    建立一个名为check的新的系统工作组

    # groupadd -r check

    查看是否创建check

    # vi /etc/group

    check组存在


    3.passwd

    【命令作用】

    为用户账户设置或更改密码

    系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

    【命令语法】

    passwd   [选项]    [参数]

    【常用选项】

    -d  --删除指定用户的密码

    -l   --所动指定用户

    -S  --查看指定用户的状态

    -u  --解锁指定用户

    -n mindays  --指定最短使用期限

    -x maxdays  --最大使用期限

    -w warndays  --提前多少天开始警告

    -w warndays  --提前多少天开始警告

    --stdin  --从标准输入接收用户密码;

                    # echo "PASSWORD" | passwd --stdin USERNAME

    -s  --列出密码的相关信息,仅有系统管理者才能使用

    【参数说明】

    需要设置密码的用户名

    【命令示例】

    用标准输入为用户qwe设置一个新的密码

    # passwd --stdin qwe

    4.gpasswd

    【命令作用】

    组密码(组成员管理)

    【命令语法】

    gpasswd    [选项]    [参数]

    【常用选项】

    -a user  --将user添加至指定组中

    -d user  --删除用户user的以前组为组名的附加组

    -M user1,user2...  --将多个用户添加至指定组中

    -A user1,user2...  --设置有管理权限的用户列表

    -R  --限制用户登入组,只有组中的成员才可以用newgrp加入该组

    【参数说明】

    指定要管理的工作组

    【命令示例】

    (1)将用户qwe加入check组中

    # gpasswd -a qwe check

    (2)设置qwecheck组里的管理员

    # gpasswd -A qwecheck

    5.usermod

    【命令作用】

    用户属性修改

    【命令语法】

    usermod    [选项]    [参数]

    【常用选项】

    -u  --修改用户id(新id

    -g   --修改用户所属的群组(新基本组)

    -G  --修改用户所属的附加群组(新附加组,原来的附加组将会被覆盖,若保留原有,则要同时使用 -a 选项,表示append

    -s  --新的默认SHELL

    -c   --新的注释信息

    -d  --新的家目录,必须事先存在,原有家目录中文件不会同时移动至新的家目录

    -L  --lock指定用户

    -l(login name)  --新的名字

    -U  --unlock 指定用户

    -e YYYY-MM-DD  --指明用户账号过期日期

    【参数说明】

    指定要修改信息的用户登录名

    【命令示例】

    (1)修改qwe用户名为abc

    # usermod -l abc qwe

    # vi /etc/passwd

    (2)锁定用户abc,解锁对用户abc的锁定

    # usermod -L abc

    # usermod -U abc

    6.groupmod

    【命令作用】

    修改工作组名和id名称

    【命令语法】

     groupmod     [选项]     [参数]

    【常用选项】

    -n  --修改工作组名

    -g  --修改工作组id

    【参数说明】

     指定要修改的工作组的组名

    【命令示例】

    (1)将check组改名为doc

    # groupmod -n  doc check

    (2)修改doc组的组ID333

    # groupmod -g  333  doc

    7.userdel

    【命令作用】

    删除用户

    【命令语法】

    userdel    [选项]    [参数]

    【常用选项】

    -r  --删除用户家目录

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

    【参数说明】

    要删除的用户名

    【命令示例】

    删除用户abc及其家目录

    # userdel -r abc


    8.groupdel

    【命令作用】

    删除指定的工作组

    【命令语法】

    groupdel    [参数]

    【常用选项】

    【参数说明】

    要删除的工作组名

    【命令示例】

    删除doc工作组

    # groupdel doc


    9.id

    【命令作用】

    显示真实和有效的 UIDGID

    【命令语法】

    id    [选项]    [用户名称]

    【常用选项】

    【参数说明】

    需要查询的用户和组

    【命令示例】

    显示rootUIDGID

    id root

    10.newgrp

    【命令作用】

    登录到新的用户组中

    【命令语法】

    newgrp    [组名称]

    【常用选项】

    【参数说明】

    切换群组的名称(必须是该组的用户)

    【命令示例】

    将当前用户切换到dom组中

    # newgrp dom

    # id
    11.su

    【命令作用】

    切换当前登录的用户(用exit返回原用户)

    【命令语法】

    su    [选项]    [参数]

    【常用选项】

    -c  --执行完指定的指令后,即恢复原来的用户

    -<参数>  --切换用户时,同时变更工作目录(家目录),以及环境变量

    【参数说明】

    指定要切换的身份目标用户名

    【命令示例】

    # su -c ls root  --变更帐号为root并在执行ls指令后退出变回原使用者


    13.finger(gdm-plugin-fingerprint)

    【命令作用】

    用户信息查找程序

    括号中的内容为软件包的名称,这个命令默认可能没有安装对应在的软件包,需要安装软件程序包之后才有这个命令

    【命令语法】

    finger    [选项]    [参数]

    【常用选项】

    -l  --列出该用户的账号名称,真实姓名,用户专属目录。登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容

    【参数说明】

    指定要查询信息的用户

    【命令示例】

    显示root的用户信息

    # finger -l root


    12.chfn

    【命令作用】

    改变finger命令显示的信息

    【命令语法】

    chfn    [选项]    [参数]

    【常用选项】

    【参数说明】

    指定要改变finger信息的用户名

    【命令示例】

    # chfn abc  --更改abc账户的finger信息


    14.chsh

    【命令作用】

    更换登录系统时使用的shell。若不指定任何参数与用户名称,则chsh会以应答的方式进行设置

    【命令语法】

    chsh    [选项]    [参数]

    【常用选项】

    -llist-shells  --列出目前系统可用的shell清单

    -s<shell名称.>或--shell<shell名称>  --更改系统预设的shell环境

    【参数说明】

    要改变默认shell的用户

    【命令示例】

    (1)查看系统装了哪些shell(两种方法)

    第一种:

    # chsh -l

    第二种:

    # cat /etc/shells

    15.chage

    【命令作用】

     修改账号和密码有效期限

    【命令语法】

     chage     [选项]     用户名

    【常用选项】

    -m  --密码可更改的最小天数。为零时代表任何时候都可以更改密码

    -M  --密码保持有效的最大天数

    -w  --用户密码到期前,提前收到警告信息的天数

    -d  --上次更改的日期

    -E  --账号到期的日期,过了这天,此账号将不可用

    【参数说明】

     需要修改的用户名

    【命令示例】

     # chage abc  --修改abc用户的密码有效期

     

  • 相关阅读:
    【Java EE 学习 36】【struts2】【struts2系统验证】【struts2 ognl值栈】【struts2 ongl标签】【struts2 UI标签】【struts2模型驱动和令牌机制】
    【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】
    【Java EE 学习 35 上】【strus2】【类型转换器】【struts2和Servlet API解耦】【国际化问题】【资源文件乱码问题已经解决】
    【Java EE 学习 34】【struts2学习第一天】
    【JavaScript中的正则表达式】
    【Java EE 学习 33 下】【validate表单验证插件】
    【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
    【Java EE 学习 32 下】【JQuery】【JQuey中的DOM操作】
    【Java EE 学习 32 上】【JQuery】【选择器】
    【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
  • 原文地址:https://www.cnblogs.com/evolve/p/9154701.html
Copyright © 2020-2023  润新知