专栏首页惨绿少年默认权限umask、文件系统权限、特殊权限

默认权限umask、文件系统权限、特殊权限

第1章 权限相关错误

1.1 普通用户 ls /root/

/root  属于root 普通用户没有任何权限,所以无法查看

[oldboy@znix ~]$ ls /root/

ls: cannot open directory /root/: Permission denied

[oldboy@znix ~]$ ls -ld /root/

dr-xr-x---. 5 root root 4096 Sep  5 12:05 /root/

1.2 普通用户touch /root/oldboy.txt

创建文件,要看文件所在目录的权限,/root  属于root 普通用户没有任何权限,所以无法再里面创建文件,创建文件需要有所在目录的wx权限。

[oldboy@znix ~]$ touch /root/oldboy.txt

touch: cannot touch `/root/oldboy.txt': Permission denied

[oldboy@znix ~]$ ls -ld /root/

dr-xr-x---. 5 root root 4096 Sep  5 12:05 /root/

1.3 普通用户\rm -f /etc/passwd

删除文件需要有文件所在目录的wx权限,普通用户只有r-x权限,所以无法删除。

[oldboy@znix ~]$ \rm -f /etc/passwd

rm: cannot remove `/etc/passwd': Permission denied

[oldboy@znix ~]$ ls -ld /etc

drwxr-xr-x. 78 root root 4096 Sep  5 11:27 /etc

[oldboy@znix ~]$ ll /etc/passwd

-rw-r--r-- 1 root root 1177 Sep  5 11:27 /etc/passwd

1.4 普通用户cat /etc/shadow

查看文件的内容的时候,需要看文件的权限,在这里普通用户对这个文件没有任何权限,所以无法查看文件的内容。

查看文件的内容要用于文件的r权限。

[oldboy@znix ~]$ cat /etc/shadow

cat: /etc/shadow: Permission denied

[oldboy@znix ~]$ ll  /etc/shadow

---------- 1 root root 881 Sep  5 11:27 /etc/shadow

1.5 出现错误的解决办法

1、先确定要操作的是文件还是目录

2、确当你和操作对象的关系

3、文件先看文件的权限

4、目录先看目录的权限

5、查看文件内容、修改文件内容、运行文件(脚本),要看文件的权限

6、查看目录里的内容、删除文件、创建文件、重命名(文件改名),要看目录权限

第2章 文件的访问过程

2.1 过程

inode 文件的权限 block的位置

2.1.2 据对路径访问

/目录

目录的block,找对应的文件

/etc目录的inode

inode 文件的权限 block的位置

block 文件的实际内容

文件

2.2 关系

1.文件的名字是存放在所在目录的block里面

2.文件名与inode的对应关系放在目录的block中

第3章 网站权限-让网站根安全

3.1 linux系统默认权限

3.1.1 文件默认权限

文件最大权限-rw-rw-rw-  oldboy.txt 666

一般会给文件644权限   rw-r--r-- 

3.1.2 目录默认权限

目录默认最大权限-rwxrwxrwx 777

一般会给目录  755 权限rwxr-xr-x  root root oldboydir   

3.2 如何规划网站权限,让网站更加安全

3.2.1 让网站以www身份运行

[root@znix /]# useradd www

3.2.2 让主要的文件归root用户所有

[root@znix /]# mkdir -p /app/blog

[root@znix /]# mkdir -p /app/blog/upload

[root@znix /]# ll -d /app/blog/ /app/blog/upload/

drwxr-xr-x 3 root root 4096 Sep  6 10:09 /app/blog/

drwxr-xr-x 2 root root 4096 Sep  6 10:09 /app/blog/upload/

[root@znix /]# su - www

[www@znix ~]$ cd /app

app/         application/

[www@znix ~]$ cd /app/blog/upload/

[www@znix upload]$

3.2.3 对于用户上传的文件处理

让用户上传的文件放在属于www用户的文件夹中;

限制文件的后缀;

上传之后不能查看……

[root@znix /]# chown www.www /app/blog/upload/

[root@znix /]# ll -d /app/blog/ /app/blog/upload/

drwxr-xr-x 3 root root 4096 Sep  6 10:09 /app/blog/

drwxr-xr-x 2 www  www  4096 Sep  6 10:09 /app/blog/upload/

[root@znix /]# cd /app/blog/upload/

[root@znix upload]# touch aaa.png

[root@znix upload]#

第4章 umask - 默认权限控制

控制着linux里面默认的权限

4.1 系统中文件和目录默认权限

file---666 -rw-rw-rw

dir ---777 drwxrwxrwx

4.2 umask 反掩码计算

默认的最大权限减去 umask

4.2.1 当umask为偶数

实例4-1 umask为0022

文件:

file-  666-022=644

目录:

dir-  777-022=755

4.2.2 当umask为奇数

实例4-2  umask为0032

4.3 当umask为奇数时,计算文件的默认权限的时候,要在奇数位加1

file- 666-032=634

      +010=644

目录的不变

4.4 示例umask=035

[root@znix ~]# umask 035

[root@znix ~]# touch file035

[root@znix ~]# mkdir dir035

[root@znix ~]# ll file035 && ll -d dir035

-rw-r---w- 1 root root 0 Sep  6 10:42 file035

drwxr---w- 2 root root 4096 Sep  6 10:42 dir035

file=642  dir=742

4.5 永久修改umask的方法

[root@znix ~]# vim /etc/profile

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then

    umask 002

else

    umask 022

fi

解释:

如果 [ 用户UID>=199 ] 并且  [ 用户的名字 == 用户组名字 ];然后

    umask 002

那么

    umask 022

果如

第5章 文件系统的权限

5.1 chattr 设置文件系统的权限(change attr)

chattr  +a  只能追加 (append)

chattr  +i   无敌 不能进行任何操作(immutable)

5.2 测试 +a

只能向文件中追加内容,不能删除

[root@znix ~]# chattr +a oldboy.txt

[root@znix ~]# lsattr oldboy.txt

-----a-------e- oldboy.txt

[root@znix ~]# echo 123 >> oldboy.txt

[root@znix ~]# > oldboy.txt

-bash: oldboy.txt: Operation not permitted

5.2.1 取掉权限 -a

[root@znix ~]# chattr -a oldboy.txt

[root@znix ~]# lsattr oldboy.txt

-------------e- oldboy.txt

5.3 测试 +i

不能对文件进行任何操作,root用户也不能操作。

[root@znix ~]# chattr +i oldboy.txt

[root@znix ~]# lsattr oldboy.txt

----i--------e- oldboy.txt

5.4 lsattr

  list attr  显示文件系统的权限

[root@znix ~]# lsattr -d  /etc/

-------------e- /etc/

第6章 linux的特殊权限

-rw-r--r-- 1 root root 252 Sep  6 11:04 oldboy.txt

这个是9位基础权限。

linux共12位权限,还有3个特殊权限。

6.1 三种特殊的权限

[root@znix ~]# ls -ld /tmp/ /usr/bin/passwd  /usr/bin/locate  /bin/ls

-rwxr-xr-x.  1 root root    117048 Mar 23 02:52 /bin/ls

drwxrwxrwt. 11 root root      4096 Sep  6 11:29 /tmp/

-rwx--s--x.  1 root slocate  38464 Mar 12  2015 /usr/bin/locate

-rwsr-xr-x.  1 root root     30768 Nov 24  2015 /usr/bin/passwd

6.2 rwsr-xr-x

放在主人的位置上 suid ,运行包含suid权限的 命令的时候,相当于这个命令的所有者。

比如:/usr/bin/passwd修改用户密码

6.2.1 给rm目录suid权限

[root@znix ~]# chmod u+s /bin/rm

[root@znix ~]# ll /bin/rm

-rwsr-xr-x. 1 root root 57440 Mar 23 02:52 /bin/rm

[oldboy@znix ~]$ \rm -f /root/oldboy.txt

[root@znix ~]# chmod u-s /bin/rm

[root@znix ~]# ll /bin/rm

-rwxr-xr-x. 1 root root 57440 Mar 23 02:52 /bin/rm

6.2.2 suid 之 大S与小s

文件的权限,有x权限时+s为小s,没有x时+s为大S

[root@znix ~]# ll test.txt

-rw-r--r--. 2 root root 22 Sep  4 12:28 test.txt

[root@znix ~]# chmod u+s test.txt

[root@znix ~]# ll test.txt

-rwSr--r--. 2 root root 22 Sep  4 12:28 test.txt

[root@znix ~]# chmod u+x test.txt

[root@znix ~]# ll test.txt

-rwsr--r--. 2 root root 22 Sep  4 12:28 test.txt

6.3 drwxrwxrwt 粘滞位

[root@znix ~]# ll -d /tmp/

drwxrwxrwt. 11 root root 4096 Sep  6 11:29 /tmp/

设置了粘滞位的目录在目录下面创建的文件只能自己管理自己的

6.4 rwx--s--x  sgid

用户运行locate的时候是slocate组的。很少使用!

rwx--s--x.  1 root slocate  38464 Mar 12  2015 /usr/bin/locate

第7章  系统中病毒怎么办

7.1 解绝办法

1、使用top 命令看谁用的cpu最多

2、找出占用cpu 或内存大的进程的pid号码

3、根据进程的pid 杀掉进程

7.2 结束进程的方法

[root@znix ~]# kill 进程号码

7.3 top命令

    PID pid process id 进程的号码 系统中是唯一的

    CMD 进程的名字(命令)

PID   USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

14011 oldboy    20   0  102m  672  568 R 19.2  0.1   0:09.45 dd

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 软硬链接、文件删除原理、linux中的三种时间、chkconfig优化

    第1章 软硬链接 1.1 硬链接 1.1.1 含义 多个文件拥有相同的inode号码 硬链接即文件的多个入口 1.1.2 作用 防止你误删除文件 1.1.3 如...

    惨绿少年
  • 练习题二上

    第1章 linux启动过程 1、开机自检bios 2、mbr引导 3、GRUB 菜单:选择不同的内核 4、加载内核 5、运行init进程 6、读取/etc/in...

    惨绿少年
  • 练习题一 上

     1.1 第1题 创建一个目录 /data [root@znix ~]# mkdir /data 查看 [root@znix ~]# #查看目录里面的内容 [r...

    惨绿少年
  • Mac 在命令行获得root权限

    这样就变成以root权限操作vim /etc/shells 这个命令,可以正常操作了。 

    week
  • shell脚本一步完成多层ssh跳转时的文件传输

    由于工作中,经常需要ssh连接到产线服务器进行代码调试。中间经过3层,4层甚至更多层跳转。这就导致在实际操作时常常面临两个问题:

    PedroQin
  • python中创建和遍历二叉树

    py3study
  • Golang Leetcode 669. Trim a Binary Search Tree.go

    更多内容请移步我的repo:https://github.com/anakin/golang-leetcode

    anakinsun
  • 【趣学程序】Linux流的重定向

    趣学程序-shaofeer
  • 每天一道剑指offer-二叉树的镜像

    今天的题目 每天的题目见github(看最新的日期): https://github.com/gzc426 具体的题目可以去牛客网对应专题去找。

    乔戈里
  • Root 是谁?为什么会有 Root 账户?

    在 Linux 中为什么会有一个名为 root 的特定账户?该怎么使用 root 账户?它在哪些场景下必须使用,哪些场景下不能使用?对于以上几个问题,如果您感兴...

    前端博客 : alili.tech

扫码关注云+社区

领取腾讯云代金券