Linux debian centos 文件与目录权限 chmod chown

文件与目录权限


Linux权限的目的是(保护账户的资料)


Linux权限主要依据三种身份来决定:


  • user/owner 文件使用者,文件属于哪个用户


  • group 属组,文件属于哪个组


  • others 既不是user,也不再group,就是other,其他人


什么是权限


在Linux中,每个文件都有所属的所有者,和所有组,并且规定了文件的所有者,所有组以及其他人对文件的,可读,可写,可执行等权限。

对于目录的权限来说,可读是读取目录文件列表,可写是表示在目录内新增,修改,删除文件。可执行表示可以进入目录


Linux权限的观察


使用一条命令查看权限


[root@centos7 ~]#: ls -l /var/log/mariadb/
总用量 4
-rw-r-----. 1 mysql mysql 2280 2月  17 14:46 mariadb.log.rpmsave


解读:


-rw-r-----  权限
1  文件链接数
第一个mysql  属主
第二个mysql  属组
2280  文件大小
2月  17 14:46  - 修改日期时间
mariadb.log.rpmsave 文件名


  1. 权限,第一个字母为文件类型,后续9个字母,每3个一组,是三种身份的权限


  2. 文件链接数


  3. 文件拥有者-属主


  4. 文件拥有组-属组


  5. 文件大小


  6. 最后一次被修改的时间日期


  7. 文件名


先来分析一下文件的类型


-    一般文件
d    文件夹
l    软连接(快捷方式)
b    块设备,存储媒体文件为主
c    代表键盘,鼠标等设备


文件权限


r    read可读,可以用cat等命令查看
w    write写入,可以编辑或者删除这个文件
x    executable    可以执行


目录权限



请用普通用户执行!!!!!测试文件、文件夹权限操作,请用普通用户!


r    可以对此目录执行ls列出所有文件
w    可以在这个目录创建文件
x    可以cd进入这个目录,或者查看详细信息


ls -l /var/log/mysqld.log
-rw-r--r-- 1 mysql mysql 6735642 8月  11 14:19 /var/log/mysqld.log
这个就代表mysqld.log文件属主是mysql,属组是mysql,只有mysql用户可以读取编写这个文件,其他人只能读此文件。


查看用户权限命令


# id指令查看用户所属群主
[root@oldboy_python ~ 16:34:52]#id root
uid=0(root) gid=0(root) 组=0(root)


修改文件权限属性


普通用户只能修改自己的文件名,时间与权限(注意)
因此修改其他用户权限,只能用最nb的root用户


当前/tmp/pyyu.txt文件以存在,且信息是
-rw-rw-r-- 1 pyyu pyyu    0 8月  11 16:41 pyyu.txt


修改属主为root


chown


[root@oldboy_python /tmp 16:43:12]#chown root pyyu.txt


查看信息


[root@oldboy_python /tmp 16:43:42]#ll pyyu.txt
-rw-rw-r-- 1 root pyyu 0 8月  11 16:41 pyyu.txt


修改属组


chgrp


[root@oldboy_python /tmp 16:43:42]#ll pyyu.txt
-rw-rw-r-- 1 root pyyu 0 8月  11 16:41 pyyu.txt
[root@oldboy_python /tmp 16:44:59]#chgrp root pyyu.txt
[root@oldboy_python /tmp 16:45:51]#ll pyyu.txt
-rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt


文件权限


我们已知三种身份权限(属主,属组,其他人),每种身份都有rwx的三种权限,系统还提供了数字计算权限。


r    read          4
w    write        2
x    execute     1


每种身份最低是0分,最高是r+w+x 7分


因此三种身份,最高权限是777,最低是000


-rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt
因此可知pyyu.txt的权限是
属主是6 r+w(4+2)
属组是6 r+w(4+2)
其他人是4 r(4)


修改权限的命令


chmod


chmod [身份]   [参数]   [文件]
    u(user)   +(添加)  
    g(group)   -(减去)
    o(other)  =(赋值)
    a(all)


例如:


当前权限
-rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt
方法1
减去属主的写权限
chmod u-w pyyu.txt
查看权限
-r--rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt

方法2
属主添加可读可写可执行权限
chmod 700 pyyu.txt

属主可读可写可执行
属组可读可执行
其他人可读可执行
chmod 755 pyyu.txt


修改文件名,修改文件更改日期


mv pyyu.txt chaoge.txt
#触摸,无该文件的话是创建该文件,有该文件的话则修改时间
touch chaoge.txt