Linux:用户权限管理
用户与用户组的概念
超级用户
拥有对系统的最高管理权限,默认是 root 用户
普通用户
只能对自己目录下的文件进行访问和修改,具有登录系统的权限。
虚拟用户
也叫“伪”用户,这类用户最大的特点是不能登录系统,它们的存在主要是 方便系统管理,满足相应的系统进程对文件属主的要求。
主要组
每个用户有且只有一个主要组,创建用户时默认创建。
附属组
用户可以是零个或多个附属组成员。一般用于帮助确保用户具有对 系统中文件及其他资源的访问权限。
文件权限
文件属性的说明
drwxr-xr-x. 2 root root 4096 sep 26 08:31 Templastes
第 1 组:
文件类型,其中第一个字符代表文件的类别。
- 普通文件
d 目录
- 普通文件
l 链接文件
c 字符设备
b 块设备
文件的权限
r:可读
w:可写
x:可执行
-:没有权限
第 2 组:文件件的连接数
第 3 组:文件所有者
第 4 组:文件属组
第 5 组:文件大小,默认单位为字节
第 6 组:文件创建时间
第 7 组:文件名称
蓝色:目录
黑色:文件
天蓝色:链接文件
绿色:可执行文件
红色:压缩文件
修改文件的权限
chmod
字母方式修改权限
文件所有者权限(u)
所属组权限(g)
其他用户权限(o)
所有用户(a)
举例:
/mnt 的权限是drwxr-x--
chmod u-w /mnt 权限变为:dr-xr-x--
chmod o+rx /mnt 权限变为:dr-xr-xr-x
chmod g+w /mnt 权限变为:dr-xrwxr-x
chmod a+w /mnt 权限变为:drwxrwxrwx
数字方式修改权限
r=4 w=2 x=1 -=0
chmod 770 /mnt 权限为:drwxrwx---
修改文件的所有者与所属组
chown命令
举例:chown teacher:teacher /test1 同时修改所有者与所属组
chown root /test1 修改所有者
chown :student /test1 修改所属组
特殊权限
访问控制:ACL
ACL:访问控制
【针对其他用户当中的部份或个别用户设置特殊权限】
setfacl -m u:stu1:rwx A 创建一个 ACL 规则,使 stu1 用户对 A 目录具有 rwx 权限
getfacl A 查看 ACL 规则
setfacl -x u:stu3 A 删除 stu3 对 A 目录的 ACL 权限,只删除了一条规则
setfacl -b A 删除 A 目录的所有 ACL 规则
强制位权限:SBIT
SBIT:粘滞位权限(强制位权限)
【针对其他用户,只能删除自己的文件,不能删除其他的用户的文件】
chmod o+t A
SGID
针对其他用户设置,以所属组的身份去执行。
chmod g+s A
SUID
以文件所有者的身份执行文件,只针对可执行文件。
chmod u+s A
用户管理
用户配置文件
用户名配置文件
用户配置文件/etc/passwd
在 passwd 配置文件中,从左到右各个字段的含义如下: 用户名:用户登录系统时使用的用户名。
用户名:用户登录系统时使用的用户名。
口令:存放加密的口令,被/etc/shadow 文件保护。
用户标识号(UID):系统内部用它来标识用户,每个用户的 UID 都是唯一的。
用户组标识号(GID):系统内部用它来标识用户所属的组,这里的 GID 是主组 GID。
注释性描述:为了方便管理和记忆该用户而添加的信息。
用户主目录:也称家目录,用户登录系统后所进入的目录。
命令解释器:指示该用户使用的 Shell,CentOS Linux 7 默认的是 bash。如果指定 Shell为/sbin/nologin,则代表用户无法登录系统。
用户密码配置文件
用户密码配置文件/etc/shadow
用户名:用户账户名。
密码:用户的加密密码。
最后一次修改的时间:从 1970 年 1 月 1 日起,到用户最后一次更改密码的天数。
最小时间间隔:从 1970 年 1 月 1 日起,到用户可以更改密码的天数,(0 表示随时可以变更)。
最大时间间隔:从 1970 年 1 月 1 日起,到必须更改密码的天数,否则密码将过期,(99999 表示永远不 过期)。
警告时间:在密码过期之前多少天提醒用户更新,默认值是 7 天。
不活动时间:在用户密码过期之后到禁用账户的天数。
失效时间:从 1970 年 1 月 1 日起,到账户被禁用的天数。
标志:保留位。
用户组配置文件
用户组名配置文件
用户组配置文件/etc/group
文件中各字段的含义从左到右分别是:
组名:组的名称。
组口令:用户组的口令,用 x 表示口令是被/etc/gshadow 文件保护的。
组标识号(GID):系统内部用它来标识用户组,每个用户组的 GID 都是唯一的。
组成员:该组的成员。
用户组密码配置文件
用户组密码配置文件/etc/gshadow
文件中各字段的含义从左到右分别是:
组名:组的名称。
组口令:用户组的口令,保存已加密的口令。
组的管理员帐号:组的管理员帐号,管理员有权对该组添加、删除帐号。
组成员:该组的成员,多个用户用“,”分开。
管理用户操作
创建用户
命令格式:useradd [选项] 用户名
-d 指定用户主目录
-g 指定用户组
-m 若主目录不存在,则创建
-M 不创建主目录
-s 指定登录时使用的 Shell 类型,默认为/bin/bash,如果为 /bin/nologin 就是虚拟用户
-c 设置对该账号的注释说明文字
-r 创建系统账号(用户 ID 小于 1000, 从 999 起按照递减的顺序创建), 默认不创建对应的主目录
-u 手工指定新用户的 ID 值,该值必须唯一,且大于 999
管理用户登录密码
命令格式:passwd [选项] [用户名称]
-l 锁定用户密码
-u 解锁用户密码
-S 查询用户密码状态
-d 删除用户密码
【举例 1】创建用户 zhangsan,指定登录类型为/bin/bash;用户 lisi,登录类型为 /sbin/nologin,并分别设置密码为:123456。并测试两个用户能否登录系统。
#useradd -s /bin/bash zhangsan
#useradd -s /bin/nologin lisi
【举例 2】创建用户 tom,并设置 tom 的真实姓名为:tom-sing,家庭电话:13911202319,公 司地址:tf5jie,公司电话:028-85699999
#useradd -c "tom-sing 13911202319 tf5jie 028-85699999" tom
修改用户属性
命令格式:usermod 选项 用户
-l 修改用户名
-c 修改用户描述信息
-d 修改主目录
-L 锁定帐号,临时禁止用户登录
-U 对帐号解锁
-g 修改用户所属组
-G 修改用户附加组
-s 修改用户登录的 shell 类型
-u 修改用户 ID 号
-e 修改用户有效期
-f 修改用户密码在多少天后过期
【举例 1】修改用户 tom 的名字为 jack
#usermod -l jack tom
【举例 2】修改用户 jack 的注释名为 jack-sing
# usermod -c jack-sing jack
【举例 3】# usermod -s /bin/nologin jack
修改用户口令有效期
命令格式:chage [选项] 用户名
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码
-W 用户密码到期前,提前收到警告信息的天数
-M 密码保持有效的最大天数
-E 账号到期的日期。过了这天,此账号将不可用
-d 上一次更改的日期
-I 停滞时期。如果一个密码已过期这些天,那么此账号将不可用
-l 列出当前的设置。由非特权用户来确定他们的密码或账号何时过期
【举例】设置 jack 用户的密码最大有效期为 30 天,提前 9 天警告,失效时间 40 天。
#chage -M 18054 -W 9 -E 18064
删除用户
命令格式:userdel [-r] 用户名
修改用户注释信息
命令格式:chfn [选项] [用户名]
-f 设置真实姓名。
-h 设置家中的电话号码。
-o 设置办公室的地址。
-p 设置办公室的电话号码。
修改用户Shell类型
命令格式:chsh [s] [用户名]
切换用户名
# 由 root 用户切换到普通用户不需要输入密码 由普通用户切换到其他用户就必须输入密码
命令格式:su 用户名
查看系统所有用户
wc --lines /etc/passwd
用户组管理
创建用户组
命令格式:groupadd [r] 用户组名称
修改用户组属性
命令格式:groupmod 选项 组名
-n 修改组名
-g 修改组标识号 GID
删除用户组
命令格式:groupdel 组名
维护组中成员
命令格式:gpasswd 选项 用户名 组名
-a 添加用户到组。
-d 将用户从组中删除。
-A 设置用户为组管理员。
其他命令
查看用户信息
id 命令
输出指定用户所在组
groups 命令
查看当前登录用户
who am i 命令
查看当前用户
w 命令
查看登录用户
who 命令
查看登录用户历史
last 命令
Linux:用户权限管理的更多相关文章
- linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解
linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...
- Linux用户权限管理
Linux操作系统: 多用户多任务的操作系统 用户类型分为: 管理员用户 : root 普通用户分为:系统用户/程序用户 用户相关的文件: /etc/passwd 用 ...
- linux用户权限管理, chmod, ln
1 /etc/passwd文件 用户名 密码 UID GID Full Name 主目录 ...
- linux 用户管理,用户权限管理,用户组管理
linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...
- Linux 服务器用户权限管理改造方案与实施项目
Linux 服务器用户权限管理改造方案与实施项目 在了解公司业务流程后,提出权限整改方案改进公司超级权限root泛滥的现状. 我首先撰写方案后,给boss看,取得boss的支持后,召集大家开会讨论. ...
- Linux下安装SVN,仓库创建,用户权限管理
Exported from Notepad++ Linux下安装SVN,仓库创建,用户权限管理 1.SVN安装 Ubuntu系统下安装:sudoapt-getinstallsubv ...
- Linux常用命令之用户权限管理chmod、chown、chgrp、umask命令讲解
这节课我们重点来学习权限管理命令,说到权限大家可能第一时间能想到的就是读.写.执行 rwx 三种权限,在正式讲解权限命令之前,先简单的介绍一下rwx权限对于文件和目录的不同含义. 权限字符 权限 对文 ...
- Linux命令(19)用户权限管理:chown
linux用户权限: Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者.利用 chown 可以将档案的拥有者加以改变. 一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者 ...
- Jenkins拾遗--第三篇(用户权限管理)
采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...
- Linux_CentOS用户管理 和 用户权限管理 chmod、ACL、 visudo
一.用户管理 Linux 系统同时可以支持多个用户,每个用户对自己的文件设备有特殊的权利,能够保 证用户之间互不干扰.就像手机开了助手一样,同时登陆多个 qq 账号,当硬件配置非常高 时,每个用户还可 ...
随机推荐
- 推荐一种非常好的新版DSP库源码移植方式,含V7,V6和V5的IAR以及MDK5的AC5和AC6版本
说明: 1.新版CMSIS V5.6里面的DSP库比以前的版本人性化了好多. 2.本帖为大家分享一种源码的添加方式,之前一直是用的库方便,不方便查看源码部分. 3.DSP教程可以还看第1版的,在我们的 ...
- Java 添加超链接到Word文档
对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接可以分为文本超链接,图像超链接,E-mail链 ...
- asp.net core中使用cookie身份验证
配置 在 Startup.ConfigureServices 方法中,创建具有 AddAuthentication 和 AddCookie 方法的身份验证中间件服务: services.AddAuth ...
- ASP.NET MVC5基础 - Global.asax详解
简介 作用 Global.asax的处理事件 实例说明 总结 简介 Global.asax是一个文本文件,它提供全局可用代码.这些代码包括应用程序的事件处理程序以及会话事件.方法和静态变量.有时该文件 ...
- Dynamics 365 Customer Engagement导入解决方案时出错:Microsoft.Crm.CrmException: Plug-in assembly does not contain the required types or assembly content cannot be updated.
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- C lang:Definition function
Ax_note in parameter for show_n_char() is formal parameter Aa_Definition function #include <stdio ...
- 数据库事务系列-MySQL跨行事务模型
说来和MySQL倒是有缘,毕业的第一份工作就被分配到了RDS团队,主要负责把MySQL弄到云上做成数据库服务.虽说整天和MySQL打交道,但说实话那段时间并没有很深入的理解MySQL内核,做的事情基本 ...
- Eureka集群
Eureka集群搭建 高可用集群配置 当注册中心扛不住高并发的时候,这时候 要用集群来扛: 普通操作 我们再新建两个module microservice-eureka-server-2002 m ...
- java基础 - 形参和实参,值传递和引用传递
形参和实参 形参:就是形式参数,用于定义方法的时候使用的参数,是用来接收调用者传递的参数的. 形参只有在方法被调用的时候,虚拟机才会分配内存单元,在方法调用结束之后便会释放所分配的内存单元. 因此,形 ...
- DynamicList
DynamicList设计要点——类模板 申请连续空间作为顺序存储空间 动态设置顺序存储空间的大小 保证重置顺序存储空间时的异常安全性 DynamicList设计要点——函数异常安全的概念 不泄露任何 ...