Linux用户与权限管理命令

这篇具有很好参考价值的文章主要介绍了Linux用户与权限管理命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、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文件,由冒号(:)隔开若干个字 段,这些字段有:

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

Linux用户与权限管理命令

 文章来源地址https://www.toymoban.com/news/detail-479949.html

三、用户和组管理命令

whoami 查看当前登录用户名

Linux用户与权限管理命令

 

who 查看登录的用户

Linux用户与权限管理命令

 

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

Linux用户与权限管理命令

 

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

Linux用户与权限管理命令

 

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

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

Linux用户与权限管理命令

useradd:创建新的用户

格式:useradd [选项] 用户名

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

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

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

Linux用户与权限管理命令

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

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

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

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

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

Linux用户与权限管理命令

 

userdel:删除用户

userdel [选项] 用户名

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

Linux用户与权限管理命令

 

usermod:修改用户的属性

格式:usermod [选项] 用户名

-g 修改用户的基本组

-G 修改用户的附加组

-u 修改用户的 UID

Linux用户与权限管理命令

 

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

格式:chage [选项] 用户名

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

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

Linux用户与权限管理命令

 Linux用户与权限管理命令

 

groupadd:创建一个组

格式:groupadd [选项] 组名

-g 指定该组的默认 GID

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

Linux用户与权限管理命令

 Linux用户与权限管理命令

 

groupmod:修改用户组的属性

格式:groupmod [选项] 组名

-g 为用户组指定新的GID

-n 为用户组改名

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

–n test1 test

Linux用户与权限管理命令

 Linux用户与权限管理命令

 

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

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

-a:将用户加入到组中

-d:将用户从组中移除

Linux用户与权限管理命令

 

groupdel:删除用户组

格式:groupdel 用户组

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

Linux用户与权限管理命令

 

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

格式:groups 用户名

Linux用户与权限管理命令

 

四、Linux权限管理命令

每个文件的权限针对三类对象进行定义:
它的所有者(由 u 表示)
它的所有组(由 g 代表),代表该组的所有成员
其他(由 o 表示,除所有者和所有组的用户)
所有用户(用 a 表示)
每个文件针对每类访问者定义了三种主要权限:
读(由 r 表示)
写(或修改,用 w 表示)
执行(由 x 表示)
rwx    r--    r--
421   400  400
7       4      4
Linux用户与权限管理命令

 

以下三个命令控制与文件关联的权限:
chmod 更改文件的权限
格式: chmod [ 选项 ] 要分配的权限 文件或目录名
-R :改变目录及目录下的文件和目录的访问权限
Linux用户与权限管理命令

 Linux用户与权限管理命令

 

chown 更改文件和目录的所有者
格式: chown 选项 用户名 文件或目录名
-R :改变目录及目录下的文件和目录的所有者
Linux用户与权限管理命令

 

chgrp 更改文件和目录的所属组
格式: chgrp 选项 组名 文件或目录名
-R :改变目录及目录下的文件和目录的所属组
Linux用户与权限管理命令

特殊权限(粘滞位(SBIT)、sgid、suid)

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

 

粘滞位赋予方法: chmod o+t 目录名称
Linux用户与权限管理命令

 Linux用户与权限管理命令

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

 

 特殊属性

chattr : 改变属性
格式: chattr 选项 文件或目录
i :不能更改
a :不能删除和修改,只能追加
lsattr :查看属性
格式: lsattr 文件或目录
Linux用户与权限管理命令

 

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 配置
Linux用户与权限管理命令
Linux用户与权限管理命令
Linux用户与权限管理命令

权限细化(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
了!
Linux用户与权限管理命令

 

注:如果一个文件设定了 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--
Linux用户与权限管理命令

 

使用默认权限设定目录中新建文件的 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
Linux用户与权限管理命令

 

[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用户与权限管理命令

 

 

到了这里,关于Linux用户与权限管理命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 下 普通用户创建文件(目录)权限不足问题

     原因:                 执行此操作的用户对上级目录 缺乏相应权限 上图中的上级目录为 test2 ,查看权限如下,其他用户的权限为  r-x(读和执行)   ,要在其下创建新文件还需要 写(w) 的权限  解决问题:修改test权限为 drwxr-x rwx        命令: chmod 757 test2 需要注

    2024年02月11日
    浏览(40)
  • Linux 普通用户创建文件夹(目录)权限不足的解决办法

    Linux 普通用户创建文件夹(目录)权限不足的解决办法。 创建文件夹a 提示无权限,提示 mkdir:cannot create directory \\\'a\\\':permission denied 。 执行此操作的用户对上级目录缺乏相应权限。 1.sudo 创建。 进入上级目录test,修改上级目录的权限,再执行mkdir命令。

    2024年02月04日
    浏览(51)
  • Linux——认识Linux的目录结构 & 常用命令 & vim命令 & 权限及其控制

    一切皆文件 文件分类 【安装】Linux环境下的 JDK的安装 安装配置 环境变量 1.进程kill -9 运行窗口退出 2.ctrl c退出 ls -a 查看所有文件(包含隐藏) ​ ls -la 查看所有文件详细信息 查看当前文件夹下的文件 在 Linux 系统中,ls 和 ll 命令都是用来列出目录内容的命令,它们的区别

    2024年02月16日
    浏览(53)
  • CentOS 7 权限管理实战指南:用户管理相关命令详解

    掌握 CentOS 7 用户管理命令,轻松管理系统用户!本文详细介绍了在 CentOS 7 系统中常用的用户管理命令,从创建和删除用户、修改用户属性,到密码管理和用户权限设置,一应俱全。无论你是 Linux 新手还是经验丰富的管理员,这篇文章都将为你提供清晰而实用的用户管理技巧

    2024年01月17日
    浏览(39)
  • linux用户权限相关命令笔记

     1.1 ls 扩展  ls -l   1.2 chmod 简单使用(重要)  + 是加权限, - 是减权限 chmod 修改文件权限   chmod 修改目录权限: 想要在目录下执行终端命令,就必须要有可执行权限。 1.3 超级用户     groupadd 组名 :添加组     chgrp -R 组名  文件/目录名:修改文件/目录的所属组  本来

    2024年02月06日
    浏览(33)
  • Linux 基础(四)常用命令-日期 & 用户权限

    获取当前日期时间 设置时间 或 校准时间(如本地时间不准) 或 格式化 date +%xx %Y 年 %m 月 %d 日 %H 时(24小时) %I 时(12小时) %M 分 %S 秒 %s 时间戳(秒) 拼接多个字段时,只需第一个字段前带+ 其他选项,参考文档 date --help 用户 添加用户 设置密码 查看用户信息 查看所有

    2024年02月13日
    浏览(28)
  • 【Linux命令详解 | chmod命令】 chmod命令用于修改文件或目录的权限,保护文件安全性。

    在Ubuntu系统中, chmod 命令是一个强大的工具,用于修改文件或目录的权限,从而保护文件的安全性。通过适当配置权限,可以控制哪些用户或用户组可以访问、读取、写入或执行特定文件或目录。 chmod 命令是Linux/Unix系统中的基础命令之一,对于系统管理员和开发者来说都是

    2024年02月12日
    浏览(33)
  • Linux用户权限管理

    目录 一 权限定义 二 权限表示法 2.1 数字表示法 2.2 文字表示法 三 更改权限 四 权限ACL配置 五 特殊权限 5.1特殊权限SUID 5.2 特殊权限SGID 5.3 特殊权限Sticky 5.4 linux改变拥有者 通过ll命令查看,然后摘出来一条分析: d r-x rwx --x.   5 root root 4096 May  7  2020 boot d:该文件类型是目录

    2024年02月08日
    浏览(38)
  • LINUX——用户及权限管理

    一、LINUX有三种用户 1、 管理用户 :即root,由系统自动创建,具有LINUX所有权限 2、 一般用户 :即我们自己创建的用户,无法修改配置文件 3、 服务用户 :用于apache、邮件、打印服务等系统服务 一般我们使用LINUX时,使用普通用户进行登录查看,需要修改LINUX,切换成 root用

    2024年02月07日
    浏览(47)
  • 头歌--第1关:Linux文件权限修改(Linux文件/目录高级管理一)

    任务描述 假设系统中存在一个文件 File ,修改该文件的权限,根据实际需求添加/删除该文件读、写、执行权限,通过本关的学习,我们学会如何让一个文件允许哪些用户访问或禁止哪些用户访问。 本关任务:学会如何修改文件的权限。 相关知识 Linux 系统中的每个文件都有

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包