您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

Linux系统用户、用户组以及权限管理常用命令

时间:2022-10-11 13:59:10  来源:今日头条  作者:Vicle

本文记录linux系统用户、组和相关设置。

用户和用户组

  • 在 /etc/group 存储当前系统中的用户组信息

 

注意:

  1. 当该组内只有一个用户,并且用户名和组名相同时,在组列表中,包含用户一列可以为空

2. 系统中root分组的组编号一定为0

3. 组号1~499为系统预留的组编号,一般是预留给系统安装的软件或者服务的编号,越早安装的软件或者服务的组编号越早。用户手动创建的用户组编号从500开始

4. 组密码占位符,无一例外,全部用x表示

  • 在 /etc/gshadow  存储当前系统中用户组的密码信息

 

注意:

1. 如果组密码处为“*” “!”或者为空时候,则该组没有密码

2. 如果组管理者为空,则表示该组内所有成员都可以管理该组

  • 在 /ect/passwd 存储当前系统中所有的用户信息

 

在linux中,超级管理员root的用户编号一定为0

  • 在 /ect/shadow存储当前系统中所有用户的密码信息

 

密码是一个单向加密过的字符串

拥有者(user),拥有组(group),其他人(other)

  • 由于Linux是一个多人多任务的系统,因此经常会出现同一台机器同时有多个人进行操作,为了考虑每个人的隐私权以及每个人喜好的工作环境,所以文件的权限归属就至关重要。
  • 为了保障系统的安全性和文件的隐私性,一个文件针对不同权限的账户有着不同的权限

 

  • 文件权限是由一个字符串所表示,其所代表的含义为

 

  • 文档类型有如下表示方法: d 目录,例如上表档名为『.gconf』的那一行- 文档,例如上表档名为『install.log』那一行l 连结档(link file)b 装置文件里面的可供储存的接口设备(可随机存取装置)c 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
  • 权限由rwx三个字幕表示,分别表示为可读、可写、可执行,如果没有该权限,则用“ - ”表示,对于目录来说,必须有x权限,否则无法读取目录内容
  • 如果文件名前面有“ . ”,则表示这个文档或目录是隐藏的

相关命令

查看用户信息

id username

 

我当前的命令输出,可以查看用户 id 、组信息:

$ id vvd
用户id=1000(vvd) 组id=1000(vvd) 组=1000(vvd),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare),135(libvirt)

 

创建用户

useradd xxx    //创建一个名为xxx的用户

 

该命令执行后

  1. 会在/etc/passwd文件中添加xxx用户的信息
  2. 会在/etc/group文件中添加一个名为xxx的用户组信息
passwd xxx    //为xxx用户设置密码

 

  • useradd可以使用的参数包含:

参数

描述

示例

-d

设置该用户的home目录

useradd -d /home/helloworld hello //新建hello用户,并且将其home目录设置为/home/helloworld

-u

设置其userid

useradd -u 668 hello //新建一个hello用户,将他的id设置为668

-g

设置其主组

useradd -g root hello //新建一个hello用户,并将其加入root组

-m

生成home目录的文件夹

useradd -m hello //新建一个hello用户,并且在默认位置申城一个hello文件夹(/home/hello),并且将/etc/skel下的文件复制到该目录下

  • 正常使用时建议加入 -m 参数
useradd username -m

 

随后需要指定shell,不然不便于终端操作

usermod -s /bin/bash username 

 

  • 如需要额外指定 home 以外的目录作为家目录
useradd username -m -d /path/to/home

 

修改用户信息

  • usermod 命令
usermod 参数 用户名

 

参数

描述

示例

-l

修改新用户名

usermod -l helloworld hello 将hello用户名改为helloworld,但其home目录不改变

-u

修改用户的userid

usermod -u 888 hello 将hello的userid改为888

-d

修改用户的home目录

usermod -d /home/new_home hello 将hello用户的家目录改为/home/new_home

-g

修改用户的主用户组

usermod -g anotherg hello 将hello用户的组改为anotherg

-G

将现有用户添加到辅助组(可以是多个)

usermod [-G] [[GroupName1,GroupName2]] [UserName] / usermod -a -G mygroup user1

-L

锁定用户,使其不能登录

usermod -L hello 锁定hello

-U

解除锁定

usermod -U hello 解除锁定hello

-a

添加 不修改之前的组

usermod -aG ssh hello 将hello用户加入到ssh组内,不改变其他组

  • gpasswd 命令
gpasswd 参数 用户名 组名

 

gpasswd 命令用于管理 /etc/group 和 /etc/gshadow。每个组都可以有管理员、成员和密码。

参数

描述

示例

-M

将现有用户添加到次要组或者附加组

gpasswd -M user1 mygroup 把 user1 添加到 mygroup 中

-M

添加多个用户到次要组或附加组中

gpasswd -M user2,user3 mygroup1 把 user2 和 user3 添加到 mygroup1 中

-d

从组中删除一个用户

gpasswd -d user1 mygroup 从 mygroup 中删除 user1

删除用户

userdel 参数 用户名

 

参数

描述

示例

-r

删除用户的同时将其home目录也删掉

userdel -r hello 将hello用户连根删掉

创建用户组

groupadd 组名

 

修改用户组

groupmod -n 新组名 旧组名    //修改组名
groupmod -g 新组id    旧组id    修改组ID

 

查看组内成员

getent group groupname

 

$ getent group sudo
sudo:x:27:vvd

 

删除用户组

groupdel 组名

 

改变文档(目录)的所有者(所有组)

  • 改变文档所有者 - chown命令(change owner),可使用参数 -R使得其子目录也同时修改
  • 改编文档所有组 - chgrp命令 (change group),可使用参数 -R使得其子目录也同时修改
  • 也可以使用
chown username:group 文件名 

 

来同时修改文档或目录的拥有者和所在组

修改文档的执行权限

chmod 参数 文件名

 

  • 可以使用如下方法直接设置文件的权限
  • 可以使用如下方法直接设置文件的权限
  1. 直接设置代表权限的数字
chmod 777(对应权限的数字) 文件名

 

  1. 给文件添加或减去某些权限

命令

描述

chmod u+w 文件名

给user用户加上w权限

chmod g-r 文件名

将group中的r权限去掉

chmod a+x 文件名

给user、group、other全部加上x权限

错误记录

用户登录报错

  • 登录时报错:
/usr/bin/xauth: file /home/user/.Xauthority does not exist
  • 错误原因: 添加用户时没有授权对应的目录,仅仅执行了useradd user而没有授权对应的家目录
  • 直接解决办法如下(执行如下命令,以后就登录到终端上就不会出现上面的错误信息):
chown username:username -R /home/user_dir


Tags:Linux系统   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  Search: Linux系统  点击:(10)  评论:(0)  加入收藏
嵌入式Linux系统开发——系统移植概述
一、什么是嵌入式系统 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 嵌入...【详细内容】
2024-01-11  Search: Linux系统  点击:(82)  评论:(0)  加入收藏
Linux系统开机启动过程详解
摘要:操作系统的启动过程差别不大,Window和Linux的启动都需要【通电】-【自检】-【登录】几个步骤。对Linux系统而言,更详细的启动流程为:通电-->BIOS-->主引导记录(MBR)-->grub引...【详细内容】
2023-12-28  Search: Linux系统  点击:(68)  评论:(0)  加入收藏
如何检查Linux系统的开放端口,保障网络安全
概述开放的网络端口是网络最简单的入口点。有时,可能会在从 Internet 外部可见的端口上运行不需要的服务。如果这些服务容易受到攻击,您的网络将持续受到攻击的威胁,因为每天都...【详细内容】
2023-12-18  Search: Linux系统  点击:(76)  评论:(0)  加入收藏
在Linux系统中实现容器化的大规模数据分析平台:Hadoop和Spark
在Linux系统中实现容器化的大规模数据分析平台,我们可以利用Hadoop和Spark这两个强大的开源工具。Hadoop是一个分布式计算框架,适用于处理大规模数据集。它提供了分布式文件系...【详细内容】
2023-12-15  Search: Linux系统  点击:(155)  评论:(0)  加入收藏
Linux系统设置每隔1小时运行指定命令
在Linux系统中,通常情况下使用crontab命令来设置定时任务,本文以每隔1个小时运行一条指令为例子,和大家一起讨论crontab的用法。具体的操作步骤: 打开终端。 输入命令 crontab -...【详细内容】
2023-12-14  Search: Linux系统  点击:(161)  评论:(0)  加入收藏
Linux系统下CPU性能问题分析案例
关于CPU使用率相关重要指标,我们经常在使用top、dstat、vmstat等工具看到,这里解读一下: user(通常缩写为us),代表用户态CPU时间。 nice(通常缩写为ni),代表低优先级用户态CPU时间,nic...【详细内容】
2023-12-06  Search: Linux系统  点击:(173)  评论:(0)  加入收藏
Linux系统中软链接和硬链接
硬链接是指在文件系统中创建一个新的文件名,该文件名指向同一个inode(即文件的实际数据块)。硬链接与原始文件具有相同的inode号,它们共享相同的数据块。当删除原始文件时,硬链接...【详细内容】
2023-11-15  Search: Linux系统  点击:(224)  评论:(0)  加入收藏
使用SELinux进行Linux系统安全加固
SELinux(Security-Enhanced Linux)是一种在Linux系统中实现强制访问控制(MAC)的安全机制,它能够对系统资源进行细粒度的访问控制,提高系统的安全性和防范能力。在进行Linux系统安...【详细内容】
2023-10-31  Search: Linux系统  点击:(339)  评论:(0)  加入收藏
在Linux系统中实现容器化运维监控平台:Prometheus和Grafana
Prometheus和Grafana是在Linux系统中广泛使用的容器化自动化运维监控平台。Prometheus是一款开源的监控和警报工具,而Grafana则是一个数据可视化工具。它们结合起来可以提供...【详细内容】
2023-10-11  Search: Linux系统  点击:(324)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(6)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(16)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(10)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(12)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(54)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(50)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(53)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(77)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(69)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(85)  评论:(0)  加入收藏
站内最新
站内热门
站内头条