Linux知识库
Linux基础知识!
Linux格式化硬盘以及格式化分区
linux基础常用知识
linux更换yum源
linux挂载windows SMB共享目录
linux开机启动级别
linux网卡配置
linux配置SMB服务
CentOS 8 firewalld配置
Linux软件管理:RPM软件包与YUM管理
Linux用户与组概念
Linux文件与目录权限基础
Linux计划任务管理
Linux中文本文件内容的查看
Linux基础-服务(service)和systemd管理服务
Vim编辑器基本操作
apt更换国内源
Linux程序服务!
Code-server在线编程服务器部署
Cloudreve网盘搭建
Emby多媒体影音系统搭建
chevereto图床搭建教程
Frp内网穿透服务器搭建
FTP服务器搭建
gitlab服务器搭建
Plex搭建
syncthing同步服务器搭建
Wordpress博客搭建
Typecho博客搭建
zabbix搭建(失败)
Aria2离线下载服务器搭建
KMS激活服务器搭建
CentOS搭建NTP服务
Grafana部署与Zabbix集成,部署开源IT系统监控平台
Linux应用环境搭建配置!
nginx编译安装
PHP8编译安装
Linux 关闭selinux
yum安装redis数据库
宝塔环境无法删除.user.ini
宝塔面板安装
mysql8.0.29编译安装
nginx安装(yum方式)
Linux系统基础知识
Linux命令行基础知识
使用Cerbot申请免费证书
ModSecurity 安装编译与连接nginx
Zabbix6.4.8安装部署
本文档使用 MrDoc 发布
-
+
首页
Linux用户与组概念
Linux是一个多用户操作系统,允许多个用户同时登录和使用系统资源,在Linux中,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。Linux的多用户管理也可以通过组的概念来简化,一个用户可以属于多个组,一个组可以有多个用户,用户和组是多对多的关系。Linux的多用户多分组管理系统都是针对文件来说的,每个文件都有所属的用户和所属的分组。 总的来说Linux系统允许多个用户同时登录系统,要先创建用户,将用户分配到不同的组进行目录和文件权限的划分。因此这次主要学习用户和文件权限的概念。 ## 一、用户与组管理 用户与组会应用在所有文件与目录上体现,用户就是通过管理员手工创建的一个用户账号,在/home/下有一个自己用户名的目录,那里就是用户的家目录,登录后默认在家目录。 ```linux [root@localhost keli]# pwd /home/keli ``` 用户组的概念类似于windows的部门共享文件夹,表示相同部门的用户能够进行查询、编辑与执行的权限。  在Linux上还有一个others(其他人的概念),用户代表一个用户,组代表属于一个特定特点的用户集合,而其他人就是除了上述两个集合的其他用户。举例: 以公司组织架构为例,你是IT部的一个管理员,然后你部门还有一个上级领导属于IT部这个组,那其他的部门行政部、业务部都属于其他人,Linux中这些概念是相对概念。 默认系统有一个超级管理员root,如果在安装系统时选择了创建普通用户会在/home下有一个用户的家目录。 可以通过命令进行创建用户和组,以及设置默认Shell. ```linux # 需要管理员root有权限创建新用户 # 创建用户chuck [root@localhost home]# useradd chuck # 设置chuck用户密码 [root@localhost home]# passwd chuck 更改用户 chuck 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 # 注意:默认创建用户时会分配一个唯一的UID,然后会自动创建一个与用户名相同的组,一个用户可以属于多个用户组,需要先创建用户组才能添加 # 创建组 [root@localhost home]# groupadd it-group # 将用户加入组,usermod -aG 组名 用户,上述具体命令选项可以参照之前的命令行基础查询用法 [root@localhost home]# usermod -aG it-group chuck ``` 用户与组相关目录: - 用户信息:`/etc/passwd` - 组信息:`/etc/group` - 密码信息:`/etc/shadow` ```linux # 查询用户信息 [root@localhost home]# cat /etc/passwd chuck:x:1001:1001::/home/chuck:/bin/bash keli: 这是用户名,即该用户在系统上的唯一标识。 x: 这表示密码的字段。在早期的 UNIX 系统中,密码是直接存储在 /etc/passwd 文件中的,但由于安全原因,现代的 UNIX 和 Linux 系统将密码存储在 /etc/shadow 文件中,而 /etc/passwd 文件中的密码字段用 x 表示。 1000: 这是用户 ID (UID)。每个用户都有一个唯一的 UID。 1000: 这是组 ID (GID)。这表示该用户所属的默认组也有相同的 GID。 keli: 这可能是用户的全名或描述,具体取决于系统配置。 /home/keli: 这是用户的家目录。每个用户都有自己的家目录,通常用于存储个人文件。 /bin/bash: 这是用户的默认 shell。shell 是用户与操作系统交互的界面。 简而言之,这一行描述了一个名为 keli 的用户,其 UID 和 GID 都是 1000,属于同一个组,家目录在 /home/keli,并使用 /bin/bash 作为其默认的 shell。 # 查询组信息,显示组名称和GID [root@localhost home]# cat /etc/group | grep chuck chuck:x:1001: it-group:x:1002:chuck [root@localhost home]# cat /etc/group | grep it-group it-group:x:1002:chuck # 查询用户密码信息,默认是已经加密存储 [root@localhost home]# cat /etc/shadow | grep chuck chuck:$6$fo8v6VfIh9KXUgyp$BurSGV7/rxmSjq/.g8KLKwrq1PUBQUNFDR13NEWvSo3vDXoOVfYgFIexuOEdWR09yNy0smt1RKoalyMsmt0mN/:19712:0:99999:7::: ``` 查看用户所属的所有组: ```linux # 可以通过groups或者id命令查询用户所属用户组信息 [root@localhost home]# groups chuck chuck : chuck it-group [root@localhost home]# id chuck uid=1001(chuck) gid=1001(chuck) 组=1001(chuck),1002(it-group) # 表示chuck用户属于chuck和it-group两个组 ``` 相关命令: - useradd username - passwd username - groupadd groupname - usermod -aG 组名 用户 修改用户信息:使用usermod ```linux [root@localhost home]# usermod --help 用法:usermod [选项] 登录 选项: -c, --comment 注释 GECOS 字段的新值 -d, --home HOME_DIR 用户的新主目录 -e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE -f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态 -g, --gid GROUP 强制使用 GROUP 为新主组 -G, --groups GROUPS 新的附加组列表 GROUPS -a, --append GROUP 将用户追加至上边 -G 中提到的附加组中, 并不从其它组中删除此用户 -h, --help 显示此帮助信息并推出 -l, --login LOGIN 新的登录名称 -L, --lock 锁定用户帐号 -m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用) -o, --non-unique 允许使用重复的(非唯一的) UID -p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码 -R, --root CHROOT_DIR chroot 到的目录 -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files -s, --shell SHELL 该用户帐号的新登录 shell -u, --uid UID 用户帐号的新 UID -U, --unlock 解锁用户帐号 -v, --add-subuids FIRST-LAST add range of subordinate uids -V, --del-subuids FIRST-LAST remove range of subordinate uids -w, --add-subgids FIRST-LAST add range of subordinate gids -W, --del-subgids FIRST-LAST remove range of subordinate gids -Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射 ```
Chuck
2023年12月21日 10:36
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码