Linux权限管理
  DcpJeOZ6VzTX 2023年11月02日 60 0

权限的基本概述

什么是权限? 我们可以把他理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权利。

为什么要有权限? 因为在公司中,服务器可能就那么几台,但是运维可能有多个,我们多个运维要登录同一台服务器,那么不可能只有一个root用户,我们需要根据运维的等级,来分配用户权限。

权限与用户的关系? Linux中的文件或目录的权限和用户及用户组关联很大,Linux中每个文件或目录都有一组共9个基础权限位,每三个字符被分为一组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他用户权限位(占三个字符) 比如rwxr-xr-x linux中正是这9个权限位来控制文件属主(User)、属组(Group)、其他用户(Other)基础权限。 每种身份,又对应了3种权限:r(readable)、w(writeable)、x(excutable)

Linux权限管理_文件名

权限管理

当我们使用ls -l查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位
比如:rwxr-xr-x其中每三位字符为一组,分别表示属主权限位,属组权限位,其他用户权限位。
-rw-r--r--. 1 root root 99 Mar 22 11:34 1.txt
r 读        4
w 写        2
x 执行      1
- 啥也不是  0

# 计算权限
ll | tr 'rwx-' '4210' | awk -F '' 'NR==2{print $2+$3+$4""$5+$6+$7""$8+$9+$10}'
644

# 优化计算权限
stat -c %a file(文件名/目录名)

[root@web02 ~]# stat -c %a 11.txt 
644

字母

含义

对应权限

r(read)

读取权限

4

w(write)

写入权限

2

x(execute)

执行权限

1

-(没有权限)

没有权限

0

如果权限位不可读、不可写、不可执行,则用-来表示。

权限修改命令-chmod

chmod  修改权限
+:增加权限
-:删除权限
=:设置权限

# 语法:
chmod u=rwx file(文件名)

user属主           u+ - =r w x
group属组          g+ - =r w x
other其他用户       o+ - =r w x
                  a+ - =r w x  (a是全部代替ugo)
                   
# chmod 755 file(文件名)

权限对文件的影响

r 只能读取
w 任何编辑命令都可以写入
x 对普通用户没有用,必须配合r使用

rw 可读可写,正常使用vim,但不能执行
rx 可读可执行,但不能编辑
wx 可写可执行,但不能读
rwx 可读可写可执行

权限对目录的影响

# 目录在只有但权限时啥也做不了
r 能看见目录下的文件,但看不了目录下文件的详细信息
w 啥也干不了
x 啥也干不了

rx 可以查看目录下的文件
wx 读取不了目录里的文件,但是创建文件/创建目录/删除目录/删除文件不能用*代替
rwx 可读可写可执行,可以创建,删除,移动,复制文件/目录

修改文件属主、属组-chown

chown  修改文件属主和属组

# 修改文件属主
chown haha 文件名

# 修改文件属组
chown .haha 文件名(可以是:也可以是.)

# 修改属主和属组
chown haha:haha 文件名(可以是:也可以是.)

# -R 递归
chown -R haha:haha xxx
(xxx下的其他文件的属主和属组会随之变化)

特殊权限

# 基本权限
r写   w读   x执行   -没有

# 特殊权限1
## SetUID 文件以文件属主的身份去运行
 #setuid 特殊权限授权#
 s  4000
 # 授权方法
 chmod 4755 file
 chmod u=s file
 chmod u+s file
 # 特性
 如果原本没有x权限,授权为setuid会是大写S,否则为小写s
 # 为什么普通用户可以修改密码
 1) 使用了passwd命令
 2)passwd命令文件在属主位上有个s权限 原本的x变成了s
 3)s权限在属主位,又叫做setuid权限 setUID
 4)# 作用 普通用户在使用有setuid权限的文件或者命令的时候,会以该文件的属主身份去运行!!!!!

# 特殊权限2
## setgid 将目录设置为SGID后,如果在该目录下创建文件,都将与该目录的所属组保持一致(可做目录共享)
 s  2000
 #授权方法
 chmod g+s directory
 chmod 2755 directory
 # 特性
 如果原本没有x权限 授权为setuid 会是大写S,否则为小写s
 
# 特殊权限3
## sbit
 t    1000
# 作用
 1 带有粘滞位的目录下的所有文件,谁都可以读,写
 2.带有粘滞位的目录下的文件只有属主才能删除自己的文件,其他普通用户无法删除属主不是自己的文件
 3.带有粘滞位的目录 只有root能删
 #s授权方法
 chmod o+t directory
 chmod 1775 diretcory
 # 特性
如果原本没有x权限 授权特殊sbit后为大写T,否则为小写t

练习sgid:

创建三个用户,分别是 zls , oldboy , yourname 这些用户都属于 oldboyedu 组的成员。这些用户的密码都是 123 1.要求以上用户和组可以在 /home/oldboyedu 目录里访问,创建,删除文件 2.其他用户一律不允许访问该目录 3.在该目录下新建的文件会自动属于 oldboyedu 组拥有

[root@localhost ~]# groupadd oldboyedu
[root@localhost ~]# useradd zeng
[root@localhost ~]# useradd oldgirl
[root@localhost ~]# useradd qh

[root@localhost ~]# usermod -G oldboyedu zeng或usermod  zeng -g oldboyedu
[root@localhost ~]# usermod -G oldboyedu oldgirl
[root@localhost ~]# usermod -G oldboyedu qh


[root@localhost ~]# echo 123 | passwd --stdin zeng
Changing password for user zeng.
passwd: 
all authentication tokens updated successfully.
[root@localhost ~]# echo 123 | passwd --stdin oldgirl
Changing password for user oldgirl.
passwd: 
all authentication tokens updated successfully.
[root@localhost ~]# echo 123 | passwd --stdin qh
Changing password for user qh.
passwd: 
all authentication tokens updated successfully.


chomd g=rwx /home/oldboyedu
chomd g+s /home/oldboyedu
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 重定向 下一篇: 用户身份切换
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  jnZtF7Co41Wg   2023年11月28日   19   0   0 nginx文件名linux命令
  U9ElBp9F5cmM   2023年11月19日   22   0   0 文件系统linux文件名