本文共 2587 字,大约阅读时间需要 8 分钟。
在Linux系统中,用户和权限的管理是系统安全和维护的重要环节。本文将详细介绍Linux系统中用户划分、权限模型、加密算法以及用户和组的管理命令。
在Linux系统中,用户划分非常重要。系统通常将用户分为管理员用户和普通用户两类。普通用户又可以进一步划分为系统用户和登录用户。
每个用户都有唯一的标识符,称为UID(用户ID)。在Linux系统中,UID由16位二进制数表示,转换为十进制后,Centos5使用0-99999,而Centos7则是1-999。
Linux系统通过解析库将用户名与UID一一对应,并存储其他属性信息。这种对应关系可以通过/etc/passwd
和/etc/shadow
文件查看。
Linux权限模型基于文件的属主和属组来决定访问权限。具体流程如下:
在Linux系统中,文件权限分为三类用户:属主(u)、属组(g)、其他(o)。每个用户对应的权限由rwx三个字符表示:
对于文件加密,Linux采用单向加密算法,特点如下:
在加密过程中,通常使用salt(盐)生成随机数。有两种方式:
在/dev/random
和/dev/urandom
中,/dev/random
仅从熵池获取随机数,耗尽时会阻塞进程。
useradd [选项] loginname
常用选项:
-D, --default
: 使用默认配置文件。-g, --gid
: 设置用户组。-u, --uid
: 设置用户ID。-s, --shell
: 设置用户默认shell。-c, --comment
: 设置注释信息。-m, --create-home
: 创建用户家目录。-e, --expiredate
: 设置账户过期日期。-f, --inactive
: 设置非活动期。-L, --lock
: 锁定账户。-U, --unlock
: 解锁账户。示例命令:
useradd -c TestUSER -d /home/testuser -g 5001 -G 5000 -u 1010 -s /bin/csh testuser1
usermod [选项] loginname
常用选项:
-d, --home
: 修改用户家目录。-g, --gid
: 修改用户组。-a, --add
: 向组中添加用户。-s, --shell
: 修改用户默认shell。-u, --uid
: 修改用户ID。-o
: 设置非唯一UID。-L, --lock
: 锁定账户。-U, --unlock
: 解锁账户。userdel [选项] loginname
常用选项:
--remove-home
: 删除用户家目录。-t, --trash
: 删除用户后同时删除邮箱(慎用)。passwd [选项] username
常用选项:
-u
: 解锁密码。-d
: 清除密码。-n
: 设置最短使用期限。-w
: 设置过期警告期限。-i
: 设置非活动期。--stdin
: 从标准输入设置密码。id [选项] ...
常用选项:
--uid
: 显示用户ID。--gid
: 显示用户组ID。--group
: 显示用户所属组。--user
: 显示完整用户信息。su [选项] username
常用选项:
-l
: 不读取用户配置文件(非登录切换)。-s
: 读取并执行用户配置文件(登录切换)。groupadd [选项] groupname
常用选项:
-g
: 设置组ID。groupmod [选项] groupname
常用选项:
-g
: 修改组ID。-a
: 向组中添加用户。groupdel groupname
gpasswd [选项] username
常用选项:
-a
: 向组中添加用户。chown [选项] ... filename
常用选项:
--reference=RFILE
: 参考文件的权限。R
: 递归修改权限。chmod [选项] ... filename
常用选项:
--reference=RFILE
: 参考文件的权限。R
: 递归修改权限。ls -l
输出示例:
drwxr-xr-x. 2 root root 84 3月 12 12:34 filename
文件权限由三类用户(u, g, o)对应的rwx权限决定:
遮罩码用于限制文件创建权限,默认值通过umask
命令设置。常见遮罩码包括:
777
: 全权限770
: 可读、可写、可执行通过修改umask,可以限制文件的访问权限,提升系统安全性。
转载地址:http://xokfk.baihongyu.com/