zoukankan      html  css  js  c++  java
  • 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用户的密码有效期

     

  • 相关阅读:
    thinkphp分页样式css代码
    thinkphp两表,多表联合查询及分页的连贯操作写法
    ThinkPHP3.2.3新特性之:数据库设置
    ThinkPHP的主从数据库配置
    CentOS7 64位下MySQL5.7安装与配置(YUM)
    sessionid如何产生?由谁产生?保存在哪里?
    GIT使用
    Windows下安装composer
    树莓派debian配置lamp[解决Apache不显示php网页]
    【Linux】Debian 下安装 Apache,MySQL,PHP
  • 原文地址:https://www.cnblogs.com/evolve/p/9154701.html
Copyright © 2011-2022 走看看