linux的账号权限管理
目录
2、管理组账号的命令
一、linux中的用户账号
1、账号的分类
(1)超级用户
在所有Linux系统中,系统都是通过UID来区分用户权限级别的,而UID为0的用户被系统约定为是具有超级权限。超级用户具有在系统约定的最高权限范围内操作,所以说超级用户可以完成系统管理的所有工作。
(2)普通用户
账号需要由root用户或者其他管理员创建,拥有的权限受到一定限制,处理问题时同时也会受到一定限制,一般只在用户自己的宿主目录中拥有完整权限。
(3)程序用户
在安装linux系统及部分应用程序时,会添加一些权限较低的限制登录的账号,仅是用来维持
系统或某个程序能够正常运行。
2、用户信息文件
一般创建的用户的用户信息写入在/etc/passwd
(1) 用户名
是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(:),因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。
(2)密码
:一些系统中,存放着加密后的用户口令字。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。
(3)用户标识号 (UID)
是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。
(4)组标识号 (GID)
字段记录的是用户所属的用户组
(5)描述字段
记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的格式并没有统一。
(6)主目录
就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。
(7)登录shell
用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。
3、密码信息文件
一般创建用户的密码会存储在/etc/shadow中
(1)登录名
是与/etc/passwd文件中的登录名相一致的用户账号
(2)口令
字段存放的是加密后的用户口令字
(3)最后一次修改时间
是从某个时刻起,到用户最后一次修改口令时的天数。
(4)最小时间间隔
两次修改口令之间所需的最小天数
(5)最大时间间隔
口令保持有效的最大天数
(6)警告时间
从系统开始警告用户到用户密码正式失效之间的天数
(7)不活动时间
表示的是用户没有登录活动但账号仍能保持有效的最大天数
(8)失效时间
给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
3、管理账号命令
1、添加用户命令
useradd [选项名] 用户名
选项
(1)-u
指定用户的uid号,该uid号不能被其他人使用。
(2)-d
指定用户的宿主目录
(3)-e
指定用户账号的失效时间 时间格式为:yyyy---mm--dd
(4)-g
指定用户的基本组名
(5)-G
指定用户的附加组名
(6)-M
不建立宿主目录
(7)-s
指定登录用户的shell
命令演示
[root@localhost ~]# useradd -u 1210 -d /y -g root -s /bin/bash mn
创建一个 uid号为1210 、宿主目录为/y 基本组在root 登录时的shell时 /bin/bash 用户名为mn
[root@localhost ~]# id mn 查看用户的uid号和基本组附加组
uid=1210(mn) gid=0(root) 组=0(root)
2、设置密码命令
passwd [选项] 用户名
选项
(1)-d
清空用户密码,使用用户名就能登录
(2)-l
锁定用户账号
(3)-S
查看用户账号是否锁定
(4)-u
解锁用户账号
命令演示
[root@localhost ~]# passwd mn 给用户设置密码
更改用户 mn 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# passwd -l mn 锁定用户密码
锁定用户 mn 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -u mn 给锁定的用户解密码
解锁用户 mn 的密码。
passwd: 操作成功
[root@localhost ~]# passwd -d mn 清楚用户密码
清除用户的密码 mn。
passwd: 操作成功
3、修改用户账号的属性命令
usermod [选项] 用户名
1、选项
(1)-l
更改用户登录名称
(2)-L
锁定账号用户
(3)-U
解锁账号用户
(4)-u
修改用户的uid号,该uid号不能被其他人使用
(5)-d
修改用户的宿主目录
(6)-e
修改用户账号的失效时间 时间格式为:yyyy---mm--dd
(7)-g
修改用户的基本组名
(8)-G
修改用户的附加组名
(9)-s
修改登录用户的shell
命令演示
[root@localhost ~]# echo "wsx123" |passwd --stdin mn 无交互式的修改密码
更改用户 mn 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# usermod -l km mn 修改mn用户为km
[root@localhost ~]# usermod -L km 锁定km账户
[root@localhost ~]# passwd -S km
km LK 2022-02-21 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U km 解锁用户
[root@localhost ~]# passwd -S km
km PS 2022-02-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
4、删除用户命令
userdel [选项] 用户名字
选项
(1)-r
连同宿主目录一起删除
命令演示
[root@localhost ~]# userdel km 删除km用户
二、linux的组账号
1、组账号的分类
(1)基本组
建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组这个组默认只容纳了一个用户
在用户所属组中的第一个组称为基本组
(2)附加组
除了第一个组外的其他组为附加组或公共组,附加组在letc/group文件中指定
2、管理组账号的命令
1、添加组账户命令
groupadd [-g gid] 组账号名
案例演示
[root@localhost ~]# groupadd -g 1200 netmk 创建组账号
[root@localhost ~]# cat /etc/group |grep netmk
netmk:x:1200:
2、给组成员添加、删除用户和密码
gpasswd [选项] 组账号名
选项
(1)-a
向组内添加一个用户
(2)-d
从组内删除一个用户成员
(3)-M
定义组成员列表,以逗号分隔
命令演示
[root@localhost ~]# gpasswd -a zs netmk 将用户zs加入到组
正在将用户“zs”加入到“netmk”组中
[root@localhost ~]# cat /etc/group |grep netmk
netmk:x:1200:zs
[root@localhost ~]# gpasswd -d zs netmk 将用户zs在组内删除
正在将用户“zs”从“netmk”组中删除
[root@localhost ~]# cat /etc/group |grep netmk
netmk:x:1200:
三、linux的文件目录的权限和归属
1、权限和归属的说明
访问权限
(1)读取:r
允许查看文件内容,显示目录列表
(2)写入 :w
允许修改文件内容,允许在新建目录中新建、移动、删除文件或子目录
(3)执行:x
允许运行程序、切换目录
归属
(1)属主
拥有该文件或目录的用户账号
(2)属组
拥有该文件或目录的组账号
2、文件的权限表示方法
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
第一部分:文件所有者
第二部分:文件所属组
第三部分:其他用户
3、修改权限的命令
chmod [u、g 、o 、a] [+ - =] 文件名或目录
chmod [nnn] 文件或目录
(1)u
指文件拥有者
(2)o
其他用户
(3)g
文件所属组
(4)a
指以上三者
命令演示
[root@localhost opt]# chmod o+w 1.txt 在1.txt中给其他用户添加写入权限
[root@localhost opt]# ls -lh 1.txt
-rw-r--rw-. 1 root root 0 2月 21 15:48 1.txt
2、修改目录文件属主
chown 要更改的属主 要更改的文件或目录
选项
-R
递归更改属主
[root@localhost opt]# chown zs 1.txt 更改1.txt文件的属主为zs
[root@localhost opt]# ll
总用量 0
-rw-r--rw-. 1 zs root 0 2月 21 16:36 1.txt
[root@localhost opt]# chown -R zs /aa 递归更改属主
3、
新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。
更多推荐


所有评论(0)