【Linux】权限管理

简介

多任务系统是同一时间进行多个任务;多用户系统是指多个用户可以在同一时间使用同一台计算机。然而一个典型的计算机可能只有一个键盘和一个监视器,但是它仍然可以被多个用户使用,例如,在工作中,如果一台计算机连接到一个网络或者因特网,那么远程用户通过 ssh(安全 shell) 可以登录并操纵这台电脑,并且远程用户也能运行图形界面应用程序,并且图形化的输出结果会出现在远端的显示器上。

为了使多用户特性付诸实践,那么必须发明一种方法来阻止用户彼此之间受到影响。毕竟, 一个用户的行为不能导致计算机崩溃,也不能乱动属于另一个用户的文件,于是便有了我们说的权限管理。常见的一些命令如下:

  • id:显示用户身份信息。
  • chmod:更改用户权限。
  • su:以另一个用户身份运行 shell。
  • sudo:以另一个用户身份执行命令。
  • chown:更改文件所有者。
  • chgrp:更改文件组所有权。
  • passwd:更改用户密码。

用户身份和权限

使用id命令,可以查看身份信息:

在这里插入图片描述

从结果可以看到,当用户创建帐户之后,系统会给用户分配一个号码,叫做用户 ID 或者 uid,然后,为了符合人类的习惯,这个 ID 映射到一个用户名。系统又会给这个用户分 配一个原始的组 ID 或者是 gid,这个 gid 可能属于另外的组当用户创建帐户之后,系统会给用户分配一个号码,叫做用户 ID 或者 uid,然后,为了符合人类的习惯,这个 ID 映射到一个用户名。系统又会给这个用户分 配一个原始的组 ID 或者是 gid,这个 gid 可能属于另外的组。

权限:对于文件和目录的权限是根据读取、写入和执行来定义的。

ls -l foo.txt
# 输出
-rw-rw-r-- 1 me me 0 2008-03-06 14:52 foo.txt

-rw-rw-r-- 这十个字符代表文件的属性,第一个字符-表示文件类型属性,第一个字符常见属性对应的文件类型如下:

  • -:一个普通文件。
  • d:一个目录。
  • l:一个符号链接。
  • c:一个字符设备文件,这种文件类型是指按照字节流来处理 数据的设备。比如说终端机或者调制解调器。
  • b:一个块设备文件,这种文件类型是指按照数据块来处理数 据的设备,例如一个硬盘或者 CD-ROM 盘。

剩下九个字符rw-rw-r-- 代表文件模式,有三个部分分别代表着文件所有者、文件组所有者和其他人的读、写和执行权限。

常见的权限模式有:

  • r:允许列出目录中的内容,前提是目录必须设置了可执行属性(x)。允许打开并读取文件内
    容。
  • w:允许在目录下新建、删除或重命名文件,前提是目录必须设置了可执行属性(x)。允许写入文 件内容或截断文件。但是不允许对文件进行重命名或删除,重命名或删除是由目录的属性决定的。
  • x:允许进入目录。允许将文件作为程序来执行,使用 脚本语言编 写的程序必须设置为可读才能被执行。

权限属性的一些示例:

  • -rw-r--r--:一个普通文件,对文件所有者来说可读可写,文件所有者的组成员可以读该文件,其他所有人都可以读该文件。
  • -rwxr-xr-x:一个普通文件,对文件所有者来说可读、可写、可执行。也可以被其他的所有人读取和执行。
  • -rwx-––-:一个普通文件,对文件所有者来说可读、可写、可执行。其他人无法访问。
  • drwxrwx-–:一个目录,文件所有者以及文件所有者的组成员可以访问该目录,并且可以在该目录下新建、重命名、删除文件
  • drwxr-x-–:一个目录,文件所有者可以访问该目录,并且可以在该目录下新建、重命名、删除文件,文件所有者的组成员可以访问该目录,但是不能新建、重命名、删除文件。

更改权限

使用chmod命令,可以更改文件或目录的权限,但是要注意只有文件的所有者或者超级用户才能更改文件或目录的。chmod命令支持两种不同的方法来改变文件模式:八进制数字表示法或符号表示法。

每个八进制数字代表3个二进制数字,对应的文件模式或权限如下:

OctalBinaryFile Mode
0000-–
1001–x
2010-w-
3011-wx
4100r–
5101r-x
6110rw-
7111rwx
# 查看权限
ls -l foo.txt
-rw-rw-r-- 1 me me 0 2008-03-06 14:52 foo.txt
# 更改权限
chmod 600 foo.txt
# 再次查看权限
ls -l foo.txt
-rw------- 1 me me 0 2008-03-06 14:52 foo.txt

通过传递参数“600”,我们能够设置文件所有者的权限为读写权限,而删除用户组和其他人 的所有权限。虽然八进制到二进制的映射看起来不方便,但通常只会用到一些常见的映射关系: 7 (rwx),6 (rw-),5 (r-x),4 (r–),和 0 (-–)。

八进制常用示例有

  • 600:只有所有者有读和写的权限。
  • 644:所有者有读和写的权限,组用户只有读的权限。
  • 666:每个人都有读和写的权限。
  • 700:只有所有者有读、写和执行的权限。

chmod命令支持一种符号表示法,来指定文件模式。符号表示法分为三部分:更改会影响 谁,要执行哪个操作,要设置哪种权限。通过字符“u”、“g”、“o”和“a”的组合来指定要影 响的对象,如下所示:

  • u:”user” 的简写,意思是文件或目录的所有者。
  • g:用户组。
  • o:”others” 的简写,意思是其他所有的人。
  • a:”all” 的简写,是”u”, ”g” 和“o”三者的联合。

如果没有指定字符,则默认使用 “all”。执行的操作可能是一个“+”字符,表示加上一个 权限,一个“-”,表示删掉一个权限,或者是一个“=”,表示只有指定的权限可用,其它所有 的权限被删除。

  • u+x:为文件所有者添加可执行权限。
  • u-x:删除文件所有者的可执行权限。
  • +x:为文件所有者,用户组,和其他所有人添加可执行权限。等价于 a+x。
  • o-rw:除了文件所有者和用户组,删除其他人的读权限和写权限。
  • go=rw:给文件所属的组和文件所属者/组以外的人读写权限。如果 文件所属组或其他人已经拥有执行的权限,执行权限将被移除。
  • u+x,go=rw:给文件拥有者执行权限并给组和其他人读和执行的权限。 多种设定可以用逗号分开。

一些人喜欢使用八进制表示法,而另一些人则非常喜欢符号表示法。符号表示法的优点是, 允许你设置文件模式的某个属性,而不影响其他的属性。

以另一个用户身份执行命令

使用su命令用来以另一个用户的身份来启动 shell,通常会让你输入该用户的密码。

su [-[l]] [user]
# 使用超级用户
su -
# 不启动新的可交互shell,直接执行单个命令
su -c 'ls -l /root/*'

使用sudo命令以另一个用户身份执行命令,相对于su命令不用输入超级用户的密码,使用 sudo命令时,用户 使用他/她自己的密码来认证。susudo之间的一个重要区别是sudo不会重新启动一个 shell,也不会加载另一个用户的 shell 运行环境。因此执行命令不用单号引用起来。

# ls 
sudo ls -l /root/*

更改文件所有者

chown命令被用来更改文件或目录的所有者和用户组。使用这个命令需要超级用户权限。

chown user1 file.txt

更改文件组所有权

chgrp命令可以实现,chown命令只能更改文件所有权,而不是用户组所有权。

chgrp group1 file.txt

更改用户密码

使用passwd命令,来设置或更改用户密码,只要输入passwd命令,就能更改你的密码。shell 会提示你输入你的旧密码和你的新密码。

总结

通过本文中常见的权限控制命令介绍,可以更合理的设置文件和目录的权限,管理员也可以确保系统安全,并根据需要控制用户对不同资源的访问权限。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux授权管理权限是Linux系统中对用户和组进行权限管理的过程。通过授权管理,可以决定用户可以访问哪些文件和执行哪些操作。 在Linux中,权限管理主要涉及三个方面:用户管理、组管理和权限管理。 用户管理涉及到创建、删除和管理用户账户。每个用户都有一个唯一的用户名和密码,可以根据需要分配不同的权限给用户。这样,每个用户就可以根据其权限来访问和操作文件。 组管理是将用户分组的过程。通过将用户分组,可以更方便地管理用户的权限。可以将用户分配到不同的组中,然后为每个组设置相应的权限。这样,用户可以继承其所属组的权限。 权限管理是指确定用户对文件或目录的操作权限。在Linux中,每个文件或目录都有三种基本权限:读取权限、写入权限和执行权限。这些权限可以被分配给用户、用户组和其他用户。通过设置不同的权限,可以控制用户对文件的访问和操作。 需要注意的是,Linux系统中有一个特殊的用户——root用户。root用户是系统管理员,拥有最高权限。通过root用户,可以执行系统级别的操作。然而,root用户的权限应该谨慎使用,因为错误的操作可能导致系统的不稳定或安全性问题。 总结起来,Linux授权管理权限是通过用户管理、组管理和权限管理来确定用户对文件和操作的访问权限。这是Linux中非常重要和基础的知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有请小发菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值