权限管理

简述

Linux系统中的3类人

  • 属主:创建文件的用户
  • 属组:创建文件的用户所在的组
  • 其他人:既不是创建文件的用户也不在创建文件的用户所在的组中

Linux系统中3种权限

  • r:read——读权限
  • w:write——写权限
  • x:execute——执行权限

对于目录

  • r:表示用户可以查看目录有哪些文件
  • w:表示用户可以创建、复制、移动、删除文件
  • x:表示用户可以在目录间切换

对于普通文件

  • r:表示用户可以查看文件内容
  • w:表示用户可以编辑文本
  • x:表示用户可以执行文件中的脚本

文件权限

0 -rw-r--r--. 1 root root    0 712 18:31 one
  • rw-:表示属主的权限,r表示属主对one文件有读权限,w表示属主对one文件有写权限,-表示属主对one文件无执行权限
  • r–:表示属组的权限,表示属组里面的用户对one文件有读权限,无写权限和执行权限
  • r–:表示其他人的权限

权限设置

用户表示

  • u:user——表示属主
  • g:group——表示属组
  • o:other——表示其他人
  • a:all——表示所有人

操作

  • +:增加权限
  • -:删除权限
  • =:授予权限

chmod

作用:修改文件权限

选项

  • -R:同时修改目录及目录下的所有文件

给属主增加执行权限

-rw-r--r--. 1 root root    0 712 18:46 test
[root@Freedom tmp]# chmod u+x test
-rwxr--r--. 1 root root      0 712 18:46 test

去掉属主的执行权限

[root@Freedom tmp]# chmod u-x test
-rw-r--r--. 1 root root    0 712 18:46 test

授予属主读写执行权限

增加权限

-rw-r--r--. 1 root root    0 712 18:46 test
[root@Freedom tmp]# chmod u+x test
-rwxr--r--. 1 root root      0 712 18:46 test

授予权限

[root@Freedom tmp]# chmod u=rwx test
-rwxr--r--. 1 root root      0 712 18:46 test

属主仅拥有读权限

删除权限

[root@Freedom tmp]# chmod u-wx test
-r--r--r--. 1 root root    0 712 18:46 test

授予权限

[root@Freedom tmp]# chmod u=r test
-r--r--r--. 1 root root    0 712 18:46 test

给属组添加和删除执行权限

[root@Freedom tmp]# chmod g+x test
[root@Freedom tmp]# chmod g-x test

授予属组中用户读写执行权限

[root@Freedom tmp]# chmod g=rwx test

给其他人添加执行权限

[root@Freedom tmp]# chmod o+x test

用数字表示权限

  • r——4
  • w——2
  • o——1

属主拥有读写权限、属组拥有读权限、其他人拥有读写执行权限

[root@Freedom tmp]# chmod 647 test
-rw-r--rwx. 1 root root    0 712 18:46 test

给所有用户添加执行权限

[root@Freedom tmp]# chmod +x test

设置权限注意事项

  • 要么只读
  • 如果有写权限就一定有读权限

-R选项在更改目录权限时使用

[root@Freedom tmp]# chmod -R u+x one
drwxr-xr-x. 2 root root   57 712 19:46 one
-rwxr--r--. 1 root root 0 712 18:46 test
-rwxr--r--. 1 root root 0 712 19:45 test1
-rwxr--r--. 1 root root 0 712 19:45 test2
-rwxr--r--. 1 root root 0 712 19:46 test3
[root@Freedom tmp]# chmod u-x one
drw-r-xr-x. 2 root root   57 712 19:46 one
-rwxr--r--. 1 root root 0 712 18:46 test
-rwxr--r--. 1 root root 0 712 19:45 test1
-rwxr--r--. 1 root root 0 712 19:45 test2
-rwxr--r--. 1 root root 0 712 19:46 test3
  • 不加-R只会更改目录的权限,加了-R后目录和目录内的文件权限会同时更改

chown

作用:更改文件的属主

选项

  • -R:同时更该目录和目录下的所有文件的属主和属组

改变文件的属主

[root@Freedom one]# chown syf test
-rwxr--r--. 1 syf  root 0 712 18:46 test

改变文件的属组

[root@Freedom one]# chown :syf test1
-rwxr--r--. 1 syf  root 0 712 18:46 test

改变文件的属主和属组

方法1

[root@Freedom one]# chown syf:syf test2
-rwxr--r--. 1 syf  syf  0 712 19:45 test2

方法2

[root@Freedom one]# chown syf.syf test3
-rwxr--r--. 1 syf  syf  0 712 19:46 test3

方法3

[root@Freedom one]# chown syf: test4
-rw-r--r--. 1 syf  syf  0 713 09:18 test4

方法4

[root@Freedom one]# chown syf. test5
-rw-r--r--. 1 syf  syf  0 713 09:18 test5

文件的特殊权限

文件的特殊权限有 SUID、SGID、SBIT、ACL

SUID

set user ID

  • 限定:只能设置在二进制可执行程序上面,对目录设置无效
  • 功能:程序运行时的权限从执行者变更为程序所有者的权限
  • 注意:设置SUID命令时其他人也需要有执行权限

设置UID权限

  • chmod u+s cmd
给ls命令添加S
[root@Freedom ~]# chmod u+s /usr/bin/ls
[root@Freedom ~]# ls -ld /usr/bin/ls
-rwsr-xr-x. 1 root root 117680 1031 2018 /usr/bin/ls

SGID

set group ID

  • 限定:既可以给二进制可执行程序设置,也可以对目录设置
  • 功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组

给目录添加SGID权限

[root@Freedom tmp]# chmod g+s one
drw-r-sr-x. 2 root root  109 713 10:40 one
-rw-rw-r--. 1 syf  root 0 713 10:46 2

SBIT

对于设置SBIT权限的文件,用户只能删除自己创建的文件,无法删除其他用户的文件。

设置SBIT权限

[root@Freedom /]# chmod o+t /tmp -R
drwxrwxrwt.  21 root root 4.0K 713 10:24 tmp

ACL

对特定的用户实现权限管控

设置用户对文件拥有读写权限

[root@Freedom tmp]# setfacl -m u:syf:rw a

查看ACL权限

[root@Freedom tmp]# getfacl a
# file: a
# owner: root
# group: root
user::rwx
user:syf:rw-
group::r--
mask::rw-
other::r--

清除ACL权限

[root@Freedom tmp]# setfacl -b a
[root@Freedom tmp]# getfacl a
# file: a
# owner: root
# group: root
user::rwx
group::r--
other::r--

sudo

让管理员(root)事先定义好某些特殊命令谁可以执行
sudo配置文件:/etc/sudoers——该文件默认只读,不允许修改
配置sudo文件须使用“#visudo”,打开之后用法和vim一样。

使普通用户拥有创建用户的功能

[root@Freedom ~]# visudo
[root@Freedom ~]# su - syf
上一次登录:六 713 14:48:29 CST 2019pts/0[syf@Freedom ~]$ sudo useradd hi
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] syf 的密码:
[syf@Freedom ~]$ useradd hi
-bash: /usr/sbin/useradd: 权限不够
[syf@Freedom ~]$ id hi
uid=1005(hi) gid=1005(hi)=1005(hi)

计算机英语

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值