一 用户与组的管理
Linux 中的用户分为三种角色:超级用户、普通用户和程序用户,每个角色有不同的权限和用途。理解这些角色及其对应的权限设置是系统管理的基础。
1、用户的三种类型
1.1root用户
超级管理员,拥有系统的最高权限 UID=0
1.2程序用户
用于维护系统运行,一般不登录,通常都是由系统自动创建 UID=(1~999)
1.3普通用户
一般系统使用者,权限受限,通常只能操作自己的目录和文件 UID=1000~
2、用户组的分类
2.1 管理员组(root组)
2.2 系统组(系统服务使用的组)
2.3 普通组(普通用户组)
2.4 wheel组(sudo组)
PS:wheel是sudo组(用于赋予普通用户管理员权限的组)
2.5 附加组(用户除基本组之外可加入的其他组)
每个用户可同时加入多个其他组从而获得更多的访问权限。
使用 id "username" 命令查看用户的ID和GID
示例:
[root@paopao ~]# id cuipaopao uid=1001(cuipaopao) gid=1001(cuipaopao) 组=1001(cuipaopao),10(wheel)
3、用户和用户组设置
3.1 创建用户
命令:useradd username
常用的有:
-M 表示只创建用户,不在/home/下创建家目录。
-s 指定用户是否能够登录系统。(-s /bin/bash username 表示能登录,-s /sbin/nologin username 表示不能登录)
-e 后跟时间(xxxx-xx-xx时间格式)来限制用户使用时间。
3.2 密码设置
命令:passwd username
常用选项:-d 清空密码允许仅用用户名登录、-l 锁定用户、-s 检查用户的状态、-u 解锁账户(需要root权限)
用户密码储存在 /etc/shadow 文件中,采用 的SHA512加密算法,此为见只能root用户可以浏览或操作。(没有设置密码则显示*!,设置了密码则以一串加密字符方式显示),在/etc/passwd 中以密码占位符x来表示,虽然x并不表示真正的密码,但也不能删除,如果删除了x,那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆。
3.3 删除用户
命令:userdel -r username(选项 -r 表示删除用户的同时删除家目录)
3.4 修改用户账号属性
命令:usermod [选项] username
常用的有:-d 修改用户家目录的路径、-g 修改用户的基本组名(或GID)、-G 修改用户的附加组(或GID,需要配合a避免覆盖原有组)
命令:usermod -aG 组ID username
示例:
[root@paopao ~]# usermod -aG wheel lsattrid [root@paopao ~]# id lsattrid uid=1003(lsattrid) gid=1003(lsattrid) 组=1003(lsattrid),10(wheel)
3.5 添加组(GID)
命令:groupadd -g [GID]
3.6 删除组(GID)
命令:groupdel [GID]
3.7 添加或者删除组成员
命令:gpasswd [选项] username或UID 组或GID
| 选项 | 功能描述 |
|---|---|
-a | 添加用户到组 |
-d | 从组删除用户 |
-A | 指定管理员 |
-M | 指定组成员(功能类似-A) |
-r | 删除密码 |
-R | 限制用户登入组(仅组内成员可用newgrp加入) |
4、用户账号的初始配置文件
创建新用户账号时,useradd命令会在用户主目录中生成初始配置文件,这些文件来源于模板目录/etc/skel/,多为隐藏文件。常见配置文件包括:
.bash_profile:用户登录时自动执行 .bashrc:加载/bin/bash时(包括登录)自动执行 .bash_logout:用户退出登录时执行 合理利用这些文件可实现自动化任务管理。用户可在.bashrc等文件中添加自定义命令(如linux或脚本语句),实现特定任务的自动执行。
如需为所有用户设置登录后自动执行的命令或环境变量,可直接修改系统级配置文件如/etc/bashrc和/etc/profile。
5、查询账号信息
命令:finger username
示例:
root@paopao ~]# finger cuipaopao Login: cuipaopao Name: Directory: /home/cuipaopao Shell: /bin/bash Last login 一 4月 13 21:20 (CST) on pts/0 No mail. No Plan.
命令:w
示例:
[root@paopao ~]# w 13:57:34 up 5:56, 4 users, load average: 0.02, 0.03, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.159.1 09:05 2:13m 0.66s 0.66s -bash root :0 :0 09:02 ?xdm? 10:16 0.54s /usr/libexec/gnome-session-binary --session gnome-classic root pts/1 :0 13:02 55:26 0.03s 0.03s bash root pts/2 192.168.159.1 13:02 6.00s 0.17s 0.05s w
命令:who(当前登录的用户)
示例:
[root@paopao ~]# who root pts/0 2026-04-16 09:05 (192.168.159.1) root :0 2026-04-16 09:02 (:0) root pts/1 2026-04-16 13:02 (:0) root pts/2 2026-04-16 13:02 (192.168.159.1)
命令:last(最后登录成功的用户信息)
二 文件和目录的权限设置
1、文件和目录的访问权限
1.1 第一列:文件的属性类型
-:表示普通文件
d:表示普通目录
l:表示软连接
1.2 第二列:文件的属性参数
有3个字符分为9列来代表
格式为:
rwx rwx rwx
前3列代表属主
中间3列代表属组
后面3列代表其他用户
3个字符分别是r、w、x:
r代表读取权限(当目录显示r允许列出目录内容,但无法访问文件元数据或内容,需配合x权限才有实际意义。如ls)
w代表写的权限(可以进行修改和删如touch、rm、mv、mkdir、rmdir)
x代表执行的权限(目录显示x代表的意思是可访问;没有x权限,即使有r也无法cd进去或操作目录内文件)
2、文件目录权限的修改
2.1 chmod命令
基本语法:chmod
777文件/目录 ;chmod[u/g/o/a]+/-/=r/w/x文件或目录
用来修改文件或目录的访问权限
常用:-R 递归选项
示例:
[root@paopao test]# touch test.txt [root@paopao test]# ll 总用量 0 -rw-r--r--. 1 root root 0 4月 16 17:54 test.txt [root@paopao test]# chmod 777 test.txt [root@paopao test]# ll 总用量 0 -rwxrwxrwx. 1 root root 0 4月 16 17:54 test.txt
2.2 chown命令
基本语法:chown 指向属主:指向属组 文件或目录
用来更改文件或目录的归属权(不更改的归属权限参数为空就行)
常用:-R 递归选项
示例:
[root@paopao test]# ll 总用量 0 -rwxrwxrwx. 1 root root 0 4月 16 17:54 test.txt [root@paopao test]# chown 1001:cuipaopao test.txt [root@paopao test]# ll 总用量 0 -rwxrwxrwx. 1 cuipaopao cuipaopao 0 4月 16 17:54 test.txt [root@paopao test]#