课2019-03-21

王文卓

课堂笔记

Linux基础权限是9个字符

[root@oldboyedu ~]# ls -lhi

total 36K

33631870 -rw-r--r--. 1 root root    21 Oct  6 22:54 a.txt

33631871 -rw-r--r--. 1 root root    16 Oct  6 23:02 b.txt

33631857 -rw-r--r--  1 root root    61 Oct  7 00:11 c.txt

分三组:

前三组是表示用户(属组)权限组    (user)用户          u

中三个字符是表示用户组权限位  (group)用户组        g

后三个字符是其他用户权限位 (others)其他用户          o

同一组的三个字符权限也是有位置的:

r-- 第一个字符的位置读的权限位

    第二个字符的位置写的权限位

第三个字符的位置是执行的权限位。

r  4

w  2

x  1

-  0

测试准备:

incahome(家、组)

oldboy 家庭男主人,用来代表用户(User)角色,是文件的所有者

oldgirl 女主人(和所有者oldboy属于相同组,oldboy的家人)用来代表用户组incahome的角色

test  其他人 其他(others)人,用来代表其他用户角色

[root@oldboyedu ~]# groupadd incahome

[root@oldboyedu ~]# useradd oldboy

useradd: user 'oldboy' already exists

[root@oldboyedu ~]# usermod -g incahome oldboy

[root@oldboyedu ~]# id oldboy

uid=1000(oldboy) gid=1004(incahome) groups=1004(incahome),1000(oldboy)

如果此前没有创建oldboy,可以执行下面命令,而不需要usermod命令。

[root@oldboyedu ~]# useradd oldboy -g incahome

[root@oldboyedu ~]# useradd oldgirl -g incahome

useradd: user 'oldgirl' already exists

[root@oldboyedu ~]# id oldgirl

uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)

[root@oldboyedu ~]# usermod -g incahome oldgirl

[root@oldboyedu ~]# id oldgirl

uid=1001(oldgirl) gid=1004(incahome) groups=1004(incahome)

[root@oldboyedu ~]# useradd test

useradd: user 'test' already exists

环境准备

[root@oldboy ~]# mkdir -p /oldboy #<==在根下创建测试目录oldboy。

[root@oldboy ~]# echo "echo oldboyLinux" >/oldboy/test.sh #<==生成脚本文件

[root@oldboyedu ~]# chmod +x /oldboy/test.sh

1. 测试默认情况下不同用户的对应权限

[root@oldboyedu /oldboy]# chown oldboy.incahome test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

-rwxr-xr-x 1 oldboy incahome 22 Oct  7 21:18 test.sh

权限修改:

777 +x -x  u=w  g-x

Linux权限有两种表现形式:

1、数字表示法 称为8进制权限

r 4

w 2

x 1

- 0

实际的权限表示就是将每3位相加即可。

rwxr-xr-x  755

rwx 7

r-x 5

r-x 5

2、字符表示法

rw-rw-r-x  代表的数字权限为665

--xr-x-wx  代表的数字权限为153

-wx--x--x  代表的数字权限为311

而以下数字权限表示的字符权限如下:

755  代表的字符权限为rwxr-xr-x

644  代表的字符权限为rw-r--r--

134  代表的字符权限为--x-wxr--

修改文件属性的用户和组

chown 用户.用户组 文件  这里的点可以用:替换。

chown 用户 文件

chown .用户组 文件  ====chgrp 用户组 文件

chgrp incahome test.txt

[root@oldboyedu /oldboy]# chown oldboy test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 oldboy root 12 Oct  7 22:16 test.sh

[root@oldboyedu /oldboy]# chown .incahome test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 oldboy incahome 12 Oct  7 22:16 test.sh

[root@oldboyedu /oldboy]# chown root:root test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 root root 12 Oct  7 22:16 test.sh

[root@oldboyedu /oldboy]#

修改文件属性的用户和组

chown 用户。用户组  文件    这里的点可以用:替换

chown  用户 文件

chown  .用户组  文件    =====chgrp  用户组  文件

chgep incahome  test.txt

安全权限的临界点:

文件不想被修改被执行:644

[root@oldboyedu /oldboy]# touch oldboy.txt

[root@oldboyedu /oldboy]# ls -l

total 4

-rw-r--r-- 1 root    root  0 Oct  7 23:21 oldboy.txt

目录不想被修改(删除移动创建)被执行(进入):755

目录的临界点:目录不想被修改(删除移动创建)被执行(进入):755

列:博客:写博客。。。服务器的博客目录和文件的权限,防止被恶意篡改

企业真实案例:网站文件被恶意修改了。。。。打开网站后有弹窗广告(不是你网站的)

用户打开网站,报警。

原因:权限设置不到位。chmod -R 777 目录 开发人员习惯

解决方案:

1、备份

tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/

2、找到被修改的文件

[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'

/oldboy/oldboy.txt:

你可能感兴趣的:(课2019-03-21)