首页 > 系统相关 >linux基础命令4

linux基础命令4

时间:2022-10-31 15:33:05浏览次数:99  
标签:etc zhangsan 组群 基础 用户 命令 rhel linux root

用户和组群账户管理

用户的 角色是通过UID(用户ID号)来标识的,每个用户的UID都是不同的。

在Linux系统中有三大类用户,分别是root 用户、系统用户和普通用户。

root用户UID为0。root用户的权限是最高的

在系统中的每个文件、目录和进程都归属于某一个用户,没有用户许可,其它普通用户无法进行操作的,但对root用户除外。

系统用户也称为虚拟用户、伪用户或假用户,这类用户不具有登录Linux系统的能力, 但却是系统运行不可缺少的用户,比如bin、 daemon、adm、ftp、mail等,这类用户都是系统自身拥有的。系统用户的UID为 1~999

这类用户能登录系统,在Linux系统上进行普通操作,能操作自己目录的内容,其使用系统的权限受限,这类用户都是系统管理员创建的。普通用户的UID为1000~60000

/etc/passwd

系统识别用户的重要文件,linux中所有的用户都记录在该文件中

系统首先会检查/etc/passwd文件,看是否有zhangsan这个账户,然后确定用户zhangsan的UID,通过UID来确认用户的身份

如果存在则读取/etc/shadow文件中所对应的密码。如果密码核实无误则登录系统,读取用户的配置文件

任何用户都可以读取/etc/passwd文件内容,在/etc/passwd文件中,每一行表示的是一个用户账户的信息,一行有7个段位,每个段位用“:”分隔。zhangsan:x:1000:1000:张三:/home/zhangsan:/bin/bash

 

 

 在系统中每一位用户的UID值都是惟一的,更确切地说每一位用户都要对应一个惟一的UID

Linux的发行版本都会预留一定的UID 给系统虚拟用户使用,比如ftp、nobody、adm、 bin以及shutdown等用户账户。

/etc/shadow文件是/etc/passwd的影子文件,这个文件并不是由/etc/passwd文件产生,这两个文件应该是对应互补的。/etc/shadow文件内容包括用户及被加密的密码以及其它/etc/passwd不能包括的信息,比如用户账户的有效期限等。

/etc/shadow文件只有root用可以读取和操作,文件的权限不能随便更改为其它用户可读,这样做是非常危险的。如果发现这个文件的权限变成了其它组群或用户可读了,要进行检查,以防系统安全问题的发生。

/etc/shadow文件的内容包括9个段位,每个段位 之间用“:”分隔。 zhangsan:$6$E/xvWMmh$rhYLQwwffEqIudVLFzMlvkb0iN4.0Ol uk6H.UovEYN0/99dVoHXcaCNGZZkFY1S3QHYgm7e6JPzEew6ybmN 4e0:16364:0:99999:7:::

 

 

 http://c.biancheng.net/view/840.html

用户账户设置

创建用户账户就是在系统中创建一个新账户,为新账户分配用户UID、组群、主目录 和登录Shell等资源,新创建的用户账户默认是被锁定的,无法使用,需要使用 passwd命令设置密码以后才能使用。

创建用户在/etc/passwd中增加一条记录,同时更新/etc/shadow和/etc/group文件

useradd命令

useradd zhangsan

[root@rhel ~]# cat /etc/passwd|grep zhangsan zhangsan:x:1000:1000::/home/zhangsan:/bin/bash

创建用户moon,并设置该用户UID为1510

[root@rhel ~]# useradd -u 1010 moon

[root@rhel ~]# cat /etc/passwd|grep moon moon:x:1010:1010::/home/moon:/bin/bash

创建用户newuser,并设置该用户主目录为/home/www

[root@rhel ~]# useradd -d /home/www newuser

[root@rhel ~]# cat /etc/passwd|grep newuser newuser:x:1003:1003::/home/www:/bin/bash //查看/etc/passwd文件,可以看到用户newuser的主目录是/home/www

创建用户pp,并指定该用户是属于组群root的成员。

[root@rhel ~]# useradd -g root pp

 id pp

使用id命令,可以看到用户pp的主要组群是root

创建用户abc,并设置该用户的Shell类型是/bin/ksh。 [root@rhel ~]# useradd -s /bin/ksh abc

修改用户账户 

使用usermod命令可以更改用户的Shell类型、所属的组群、用户密码的有效期,还能更改用户的登录名。

修改用户zhangsan的主目录为/home/kkk,并手动创建/home/kkk目录。

[root@rhel ~]# usermod -d /home/kkk zhangsan

# mkdir /home/kkk //必须使用mkdir命令创建/home/kkk目录,这样用户zhangsan 才能使用该主目录

修改用户wangwu的主目录为/home/opop,并自动创建 /home/opop目录。

# usermod -d /home/opop -m wangwu

修改用户wangwu的登录名为zhaoliu。

[root@rhel ~]# usermod -l zhaoliu wangwu

修改用户zhangsan的用户名全称为张三。

[root@rhel ~]# usermod -c 张三 zhangsan

修改用户zhangsan在密码过期后20天就禁用该账户。

[root@rhel ~]# usermod -f 20 zhangsan

修改用户sun所属的组群为root,该组群必须事先存在。

[root@rhel ~]# usermod -g root sun

锁住用户zhangsan密码,使密码无效。

[root@rhel ~]# usermod -L zhangsan

# passwd -S zhangsan zhangsan LK 2012-06-02 0 99999 7 20 (密码已被锁定。)

解除用户zhangsan密码锁住。

[root@rhel ~]# usermod -U zhangsan

 修改用户zhangsan账户的过期日期是2012年12月12号。

# usermod -e 12/12/2012 zhangsan

# cat /etc/shadow|grep zhangsan

修改用户zhangsan的Shell类型为/bin/ksh

# usermod -s /bin/ksh zhangsan

删除用户账户 userdel

使用userdel命令删除用户账户并不会删除该用户主目录

# userdel -r moon//同时将其主目录删除

 

本节主要讲述Linux系统下的组群账户分类 以及与组群账户有关的配置文件 /etc/group和/etc/gshadow。

两种组群分类方法

1、

私有组群:创建新用户,没有指定组群,创建一个与用户同名的组群,该私有组群只包含该用户

标准组群:普通组群,包含多个用户,在创建用户时应指定其在某个组群

2、

主要组群:一个账户属于多个组群时,登陆后所属的组群是主要组群,一个用户只能属于一个主要组群

次要组群:附加组群,一个用户可以属于多个附加组群

 

/etc/group:

/etc/group文件是组群的配置文件,内容包括用户和组群, 并且能显示出用户是归属哪个组群或哪几个组群。一个用户可以归属一个或多个不同的组群,同一组群的用户之间 具有相似的特征。比如把某一用户加入到root组群,那么 这个用户就可以浏览root用户主目录的文件,如果root用户把某个文件的读写执行权限开放,root组群的所有用户都可以修改此文件;如果是可执行的文件,root组群的用户也是可以执行的。

/etc/group文件的内容包括组群名、组群密码、GID及该 组群所包含的用户,每个组群一条记录,一行有4个段位, 每个段位用“:”分隔。

 

 

 组群GID和UID类似,是一个从0开始的正整数,GID为0的组群是root组群。Linux系 统会预留GID号1~999给系统虚拟组群使用, 创建的新组群GID是从1000开始的,查看 系统创建组群默认的GID范围应该查看 /etc/login.defs中的GID_MIN和GID_MAX 值,可以使用以下命令查看

 

/etc/gshadow

/etc/gshadow是/etc/group的加密文件,组群密码就是存放在这个文件中。

/etc/gshadow文件中每个组群都有一条记录。一 行有4个段位,每个段位用“:”分隔。

 

 

 

使用groupadd命令可以在Linux系统中创建 组群账户。

 创建名为china的组群

[root@rhel ~]# groupadd china

[root@rhel ~]# cat /etc/group|grep china china:x:1006: //查看文件/etc/group,可以看到已经创建了组群china,组群GID是1006

创建名为ou的组群,并且设置该组群GID为1800。

[root@rhel ~]# groupadd -g 1800 ou

[root@rhel ~]# cat /etc/group|grep ou ou:x:1800: //查看文件/etc/group,可以看到已经创建了组群ou,组群GID是1800

创建名为chinese的系统组群

[root@rhel ~]# groupadd -r chinese

[root@rhel ~]# cat /etc/group|grep chinese chinese:x:982: //查看/etc/group文件,可以看到系统组群chinese的GID是982,是小于 1000的

使用groupmod命令可以在Linux系统中修 改组群账户,比如组群名称、GID等

将组群ou的GID修改为1900。

[root@rhel ~]# groupmod -g 1900 ou

[root@rhel ~]# cat /etc/group|grep ou ou:x:1900: //查看文件/etc/group,可以看到组群ou的GID已经更改为1900 

修改组群ou的新组群名称为shanghai。

[root@rhel ~]# groupmod -n shanghai ou

[root@rhel ~]# cat /etc/group|grep shanghai shanghai:x:1900: //查看/etc/group文件,可以通过原来的GID看到组群ou的名称 已经更改为shanghai

使用groupdel命令可以在Linux系统中删除组群账户。如果该组群中仍旧包括某些用 户,那么必须先删除这些用户后,才能删 除组群。

 

普通用户只 能更改自己的用户密码,root用户可以设置或修改任何用户的密码

passwd -l/-S/-u/-d

 

gpasswd 设置一个组群的组群密码,或者是在组群 中添加、删除用户。

 

使用su命令可以切换到其它用户账户进行 登录。如果su命令不加任何选项,默认为 切换到root用户,并且不改变Shell环境。

 

让用户账户以另一个组群的身份进行登录。 newgrp命令是以相同的账户名,不同的组群身份 登录系统。如果要使用newgrp命令切换组群,用 户必须是该组群的用户,否则将无法登录指定的 组群。单一用户如果要同时隶属多个组群,需要 利用交替用户的设置。如果不指定组群名称,则 newgrp命令会登录该用户名称的预设组群

 

使用groups命令可以显示指定用户账户的 组群成员身份。

 

使用id命令可以显示用户的UID以及该用户 所属组群的GID。

 

标签:etc,zhangsan,组群,基础,用户,命令,rhel,linux,root
From: https://www.cnblogs.com/WZXwzx/p/16843654.html

相关文章

  • PDU分析-ping命令流程
    PDU分析-ping命令流程习题:有如下一个ping命令生成的PDU信息,从图片中的信息,从协议体系结构角度分析,可以分析出此PDU哪些信息?提示:从PDU的当前所在设备,PDU的目标设备,IP地......
  • Linux安装MySQL
    我使用的是yum安装MySQL,但是MySQL是没有yum源的,这时候就要去MySQL官网下载,下面步骤是安装最新的yum源,如果不想使用最新的这里我就直接给下载地址了https://dev.mysql.com/......
  • CentOS7 linux查看端口号的
    文章目录​​1.查看已开放的端口​​​​firewall-cmd--list-ports​​​​2.查询端口号8080是否开启​​​​firewall-cmd--query-port=8080/tcp​​​​3.开放端口(开放......
  • 常用命令
    gitconfig--globaluser.name"YourName"//设置git用户名和邮箱[email protected] 1.npm,yarn,pnpm的设置npmsetregistryh......
  • linux 如何ssh免密登录
    需求:因为有多台服务器,需要互相拷贝数据,每次都要输入密码有些麻烦。所以,想免密登录。背景:有两台服务器:服务器A:192.168.49.171 服务器B:192.168.49.160 需......
  • linux expect
    linuxexpect介绍expect是由DonLibes基于Tcl(ToolCommandLanguage)语言开发的,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp......
  • Linux 硬件管理
    实验环境:Linux5.19.13-arch1-1konsole22.08.21.简介计算机主要硬件:主板、CPU、GPU、内存、硬盘、声卡、显卡、电源、鼠标、屏幕等,这里只讨论普通计算机的硬件......
  • linux安装python3.10
    1.下载python包https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tgz2.安装依赖包yuminstall-ygccpatchlibffi-develpython-develzlib-develbzip2-dev......
  • cat命令详解
    cat命令详解cat命令是linux下的⼀个⽂本输出命令,通常是⽤于观看某个⽂件的内容的;一.cat主要有三⼤功能:1.⼀次显⽰整个⽂件。$catfilename2.从键盘创建⼀个⽂件。......
  • 问题:怎样从命令行新建文件并用VScode打开&VScode启动并新建文件
    问题:怎样从命令行新建文件并用VScode打开&VScode启动并新建文件解决howtostartvscodefromterminal-Search(bing.com)HowtostartVSCodefromtheterminal(......