目录

一、Linux用户介绍

二、用户和组相关文件

三、用户和组管理命令

四、Linux权限管理命令


一、Linux用户介绍

Linux用户类型分为三类:超级管理员用户、系统用户和普通用户

超级管理员用户(root用户):UID为 0,具有一切权限,可以操作系统中的所有资源。Root用户可 以进行基础的文件操作及特殊的系统管理,可以修改系统中的任何文件。

系统用户:Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务 器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏围。

普通用户:UID 从 1000 开始:是由管理员创建的用于日常工作的用户,能够使用Linux的大部分资 源,一些特定的权限受到控制。用户只对自己的目录有写权限,读写权限受一定的限制,有效保证了系 统安全性。

二、用户和组相关文件

/etc/passwd 文件 :是用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以读取此文件内容。文件内数据格式如下

用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell

密码字段的"x" 表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中

/etc/shadow 文件 :用于存储 Linux 系统中用户的密码信息,又称为“影子文件”。由于/etc/passwd 文 件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了此文件中。/etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权 限,这样就保证了用户密码的安全性。文件内数据格式如下

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数: 密码过期后的宽限时间:账号失效时间:保留字段

/etc/group 文件 :存放用户组的信息,此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字 段,这些字段有:

组名:口令:组标识号:组内用户列表

三、用户和组管理命令

whoami 查看当前登录用户名

who 查看登录的用户

id 用户名 显示用户的ID,以及所属群组的ID

sudo 以管理员身份执行命令,普通用户默认无法使用sudo命令,需要将用户添加到wheel组当中

su - 用户名 改变当前用户,比如用了su - root之后,下面所有的命令就可以不用打sudo了,因为当

前用户已经是管理员root了。注意:从 root用户切换到普通用户时不需要输入密码,而从普通用户切换成root用户需要进行验证

useradd:创建新的用户

格式:useradd [选项] 用户名

• -u 指定该用户的默认 UIDLinux权限管理

在Linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险。

• -g 指定一个初始的用户基本组

passwd:修改用户密码、过期时间、认证信息等

格式:passwd [选项] [用户名]

• -l 锁定用户,禁止其登录

• -u 解除锁定,允许用户登录

• -e 强制用户在下次登录时修改密码

userdel:删除用户

userdel [选项] 用户名

• -r 同时删除用户及用户家目录

usermod:修改用户的属性

格式:usermod [选项] 用户名

• -g 修改用户的基本组

• -G 修改用户的附加组

• -u 修改用户的 UID

chage:修改帐号和密码的有效期限

格式:chage [选项] 用户名

• -M:密码保持有效的最大天数

• -W:用户密码到期前多少天开始提醒

groupadd:创建一个组

格式:groupadd [选项] 组名

• -g 指定该组的默认 GID

例如:创建组ID为1111的用户组test,可以执行:groupadd –g 1111 test

groupmod:修改用户组的属性

格式:groupmod [选项] 组名

• -g 为用户组指定新的GID

• -n 为用户组改名

例如:要将系统中已经存在的组test组名修改为test1、组ID为1112,可执行命令:groupmod –g 1112

–n test1 test

gpasswd:将用户加入到某个组或从某个组移除

格式:gpasswd [选项] 用户名 组名

• -a:将用户加入到组中

• -d:将用户从组中移除

groupdel:删除用户组

格式:groupdel 用户组

例如要将系统中已经存在的组test1删除,可执行命令:groupdel test1

groups:查看某个用户属于哪些组

格式:groups 用户名

四、Linux权限管理命令

每个文件的权限针对三类对象进行定义:
它的所有者(由 u 表示)
它的所有组(由 g 代表),代表该组的所有成员
其他(由 o 表示,除所有者和所有组的用户)
所有用户(用 a 表示)
每个文件针对每类访问者定义了三种主要权限:
读(由 r 表示)
写(或修改,用 w 表示)
执行(由 x 表示)
rwx    r--    r--
421   400  400
7       4      4
以下三个命令控制与文件关联的权限:
chmod 更改文件的权限
格式: chmod [ 选项 ] 要分配的权限 文件或目录名
-R :改变目录及目录下的文件和目录的访问权限

chown 更改文件和目录的所有者
格式: chown 选项 用户名 文件或目录名
-R :改变目录及目录下的文件和目录的所有者
chgrp 更改文件和目录的所属组
格式: chgrp 选项 组名 文件或目录名
-R :改变目录及目录下的文件和目录的所属组

特殊权限(粘滞位(SBIT)、sgidsuid

粘滞位针对目录赋权,为目录添加粘滞位后该目录中创建的文件和目录只有创建者和超级管理员可以删 除 ( 数字权限 1)
SUID 针对可执行文件赋权, 如作用在普通文件中没有任何意义 。在默认情况下,用户发起一个进程, 该进程的属主是发起者,而并非是文件的属主,但是如果给二进制程序文件添加了SUID 权限后,用户发起一个进程,该进程的属主为程序文件所属的属主,而并非是发起者。 ( 数字权限 4)
suid 赋予方法: chmod u+s 可执行文件名称
粘滞位赋予方法: chmod o+t 目录名称

sgid 针对目录赋权,为目录添加 sgid 后在该目录中建立的文件属组继承父目录的属组 ( 数字权限 2)
sgid 赋予方法: chmod g+s 目录名称
sgid 针对可执行文件赋权,用户发起一个进程,该进程的属主为程序文件所属的属组,而并非是发起者。( 数字权限 2)

特殊属性

chattr : 改变属性
格式: chattr 选项 文件或目录
• i :不能更改
• a :不能删除和修改,只能追加
lsattr :查看属性
格式: lsattr 文件或目录
umask
umask 值用于设置用户在创建文件时的默认权限,当我们在系统中创建目录或文件时,目录或文件所 具有的默认权限就是由umask 值决定的。
对于 root 用户,系统默认的 umask 值是 0022 ;对于普通用户,系统默认的 umask 值是 0002 。执行
umask 命令可以查看当前用户的 umask 值。
默认情况下,对于目录,用户所能拥有的最大权限是 777 ;对于文件,用户所能拥有的最大权限是目录的最大权限去掉执行权限,即666 。因为 x 执行权限对于目录是必须的,没有执行权限就无法进入目录,而对于文件则不必默认赋予x 执行权限。

计算方式
对于目录: 777 - umask = 创建的目录的默认权限
对于文件: 666 - umask = 创建的文件的默认权限
修改 umask 方法
编辑 /etc/profile 和 /etc/bashrc 的内容,然后执行 source /etc/profile /etc/bashrc 重新读
取 bash 配置

权限细化(ACL

ACL 主要的目的是在提供传统的 owner,group,others 的 read,write,execute 权限之外的细部权限划
分。 ACL 可以针对单一使用者,单一文件或目录来进行 r,w,x 的权限规范,对于需要特殊权限的设定非 常有帮助。
ACL 主要可以针对下列几个方面来控制权限:
使用者 (user) :可以针对使用者来设定权限;
群组 (group) :针对群组为对象来设定其权限;
默认属性 (mask) :还可以针对在该目录下在建立新文件 / 目录时,规范新数据的默认权限;
ACL 的设定方法
• setfacl :设定某个目录 / 文件的 ACL
格式: setfacl [-bkRd] [{-m|-x} acl 参数 ] 目标文件名
选项与参数:
-m :设定后续的 acl 参数给文件使用,不可与 -x 合用;
-x :删除后续的 acl 参数,不可与 -m 合用;
-b :移除『所有的』 ACL 设定参数;
-k :移除『预设的』 ACL 参数,关于所谓的『预设』参数于后续范例中介绍;
-R :递归设定 acl ,即包括子目录都会被设定;
-d :设定『预设 acl 参数』的意思!只对目录有效,在该目录新建的数据会引用此默认值
例如:针对 test 用户设置 ACL 权限 [u: 账号 : 权限 ] 如果是组的话格式为 [g: 组名 : 权限 ]
[root@localhost var] # touch acl_test
[root@localhost var] # ll acl_test
-rw-r--r-- . 1 root root 0 8 月 15 23 :02 acl_test
[root@localhost var] # setfacl -m u:test:rx acl_test
[root@localhost var] # ll acl_test
-rw-r-xr-- + 1 root root 0 8 月 15 23 :02 acl_test
# 权限部分多了个 +
[root@localhost var] # setfacl -m u::rwx acl_test
[root@localhost var] # ll acl_test
-rwxr-xr-- + 1 root root 0 8 月 15 23 :02 acl_test
# 设定值中的 u 后面未指定用户,代表设定该文件拥有者,所以上面显示 root 的权限成为 rwx
了!
注:如果一个文件设定了 ACL 参数后,他的权限部分就会多出一个 + 号,但是此时你看到的权限与实际权 限可能就会有点误差,可以通过 getfacl 来查看。
• getfacl :查看某个目录 / 文件的 ACL
格式: getfacl filename
[root@localhost var] # getfacl acl_test
# file: acl_test <== 文件名
# owner: root <== 文件所有者
# group: root <== 文件所属组
user::rwx < == 文件所有者的权限
user:test:r-x < == test 用户的权限
group::r-- < == 文件所属组的权限
mask::r-x < == 文件预设的有效权限
other::r-- < == 其他用户的权限
• 有效权限的设定,用户或群组所设定的权限必须要存在于 mask 的权限设定范围内才会生效,此即有效
权限 [m: 权限 ]
例如: test 用户的权限与 mask 的集合仅有 r 的存在,所以 test  用户仅具有 r 的权
限,并不存在 w 权限,这就是 mask 的功能。我们可以通过 mask 来规定允许的最大权限,这样就可以避
免不小心开放某些权限给其他用户或组了。
[root@localhost var] # touch acl.txt
[root@localhost var] # setfacl -m u:test:rw acl.txt
[root@localhost var] # setfacl -m m:r acl.txt
[root@localhost var] # getfacl acl.txt
# file: acl.txt # owner: root
# group: root
user::rw-
user:test:rw- #effective:r--
group::r--
mask::r--
other::r--
• 使用默认权限设定目录中新建文件的 ACL 权限继承 [d:[u|g]:[user|group]: 权限 ]
例如:创建 test 目录,为该目录设置默认 ACL 后在该目录下新建的目录与文件均会继承该目录的 ACL
[root@localhost var] # mkdir test
[root@localhost var] # setfacl -m d:u:test:rx test
[root@localhost var] # getfacl test
# file: test
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:test:r-x
default:group::r-x
default:mask::r-x
default:other::r-x
[root@localhost var] # cd test
[root@localhost test] # touch 111
[root@localhost test] # mkdir 222
[root@localhost test] # ll
总用量 0
-rw-r--r-- + 1 root root 0 8 月 16 00 :16 111
drwxr-xr-x + 2 root root 6 8 月 16 00 :16 222
• 取消 ACL
setfacl -b filename # 取消所有的 ACL
setfacl -x u:test test # 取消 test 目录的 test 用户的
setfacl -k test # 取消默认 ACL

Linux用户与权限管理命令相关推荐

  1. 【Linux】Linux用户和权限管理

    一.Linux用户和权限管理 用户 权限 命令 管理员用户 只有一个,UID=0的用户就是管理员用户,一般情况,默认它的用户名是root,家目录是/root root     :x   :0:  0: ...

  2. linux的用户及权限管理,Linux 用户及权限管理.doc

    ? ? ? ? ? ? ? ? Linux 用户及权限管理 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Linux 是一个多用户的操作系统,引入用户,可 ...

  3. linux权限管理ppt,Linux用户和权限管理.ppt

    Linux用户和权限管理.ppt (26页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 用户和权限管理Linux用户管理简介-1Linu ...

  4. linux php 用户权限管理,LINUX教程:Linux用户及权限管理

    <LINUX教程:Linux用户及权限管理>要点: 本文介绍了LINUX教程:Linux用户及权限管理,希望对您有用.如果有疑问,可以联系我们. [文件治理.管道.用户及组治理.用户及权限 ...

  5. Linux用户与权限管理

    Linux用户与权限管理 前言 一.管理用户账号 (1)用户账号概述 ①用户标识UID (User IDentity,用户标识号) ②用户账号文件 (2)用户账号管理 ①添加用户账号(useradd) ...

  6. linux组的管理命令,Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  7. linux 用户和权限管理

    用户和权限管理 一.linux用户和组的分类 用户: 1.  Linux是多用户使用的系统资源,多任务同时运行多个进程. 用户分为管理员(root)和普通用户两大类 2.  普通用户分为系统用户和登陆 ...

  8. linux用户权限简介,Linux用户及权限管理

    [文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这 ...

  9. linux组的管理命令,linux 用户和组管理命令(示例代码)

    Linux 用户和组管理 组管理 groupadd命令:添加组 groupadd 选项 group_name -g GID :指定GID;默认是上一个组的GIDS+1 -r 创建系统组: groupm ...

最新文章

  1. PyQt5 技术篇-plainTextEdit控件获得文本内容方法、设置文本内容方法。
  2. jsp mysql demo_利用JSP+MYSQL实现注册+登入的demo----0001
  3. java中获取文件路径的几种方式
  4. 页面置换算法先进先出java_页面替换算法(FCFS,LRU,OPT三种)
  5. python提高——进程、线程、协程对比及代码实现
  6. jquer WdatePicker 使用 手册
  7. emui内核支持kvm吗_Linux专题—使用kvm搭建虚拟机
  8. Tableau Online免费注册试用
  9. 网络信息系统安全的发展演变
  10. matlab调频信号,基于matlab的线性调频信号的仿真
  11. V4L2驱动的移植与应用(二)
  12. 用户调研---问卷调查
  13. 2020.11.23Junit详解
  14. 导入本体到Jena TDB数据库
  15. win8 android 跑分,Windows 10和win8.1性能跑分测试结果曝光
  16. DevCloud注册和登录
  17. delphi 多线程3
  18. 速达财务软件未能连接服务器,速达3000财务软件使用常见问题
  19. 推送近期三波关于Vue.js的资讯
  20. CCF CSP认证——201312

热门文章

  1. PCB线路板黑油与绿油的区别 2021-08-27
  2. 简单的运动学,用canvas写弹力球
  3. 炫云渲染质量功能测试
  4. 浅谈UI设计之企业工作管理系统
  5. 太妃物语 0.47.5 攻略(0.68可用)
  6. ubuntu下文件拷贝命令cp命令
  7. 停车场管理系统(四)
  8. 多屏互动/无线投屏技术之—Miracast Version 2修改要点
  9. 假期“就地过节”:希尔顿集团旗下酒店推出户外轻旅行
  10. 开店收款,就用汇来米收款神器