Linux-文件权限
用户与用户组
linux将文件可存取的身份分为三个类别,owner,group,others,且三种身份各有read,write,execute权限;
文件所有者
用户组:一个家庭
用户: 家庭成员
其他人: 邻居
root:万能的神
默认所有系统上的账号与一般用户身份,root的相关信息,都记录在/etc/password这个文件内,个人密码是记录在/etc/shadow, 所有组名记录在/etc/group下
linux文件权限概念
- chgrp:修改文件所属用户组
- chown: 改变文件所有者
- chmod: 改变文件的权限
chgrp
chgrp: change group的简写,被修改的组名必须在/etc/group文件内存在
chgrp [-R] dirname/filename
-R: 进行递归(recursive)的持续更改,连同子目录下的所以文件一起更改
chgrp users install.log
chown
chown: change owner的简写,被修改的用户必须在etc/password文件内存在
chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录
将install.log 的所有者改为bin这个账号
chown bin install.log
将install.log的所有者和用户组改回为install.log
chown root:root install.log
一般使用":"来隔开所有者和用户组
chmod
chmod:改变文件的权限 1:使用数字 2:使用符号
数字
文件权限有9个,owner,group,others,且三种身份各有read,write,execute权限,文件的权限符号为"-rwxrwxrwx",9个权限三个三个是一组的(文件所有者,文件所属用户组,其他人对文件的权限);
各权限的分数为
r: 4
w: 2
x: 1
每种身份(owner,group,others)各自的三个权限(r, w, x)分数是需要累加的,例如[-rwxrwx---],分数则为
owner = rwx = 4 + 2 + 1 = 7
group = rwx = 4 + 2 + 1 = 7
others = --- = 0 + 0 + 0 = 0
这是权限的更改,该文件的权限数字为770
chmod [-R] xyz 文件或目录
对.bashrc文件所有权限的启用
chmod 777 .bashrc
符号
user, group, others 对应 u, g, o代表3种身份的权限, a代表all,即全部的身份
chmod u=rwx,go=rx .bashrc
不知道原来的属性,只想增加.bashrc这个文件每个人均可写入的权限
chmod a+w .bashrc
去掉全部人的可执行权限,而不改变其他属性
chmod a-w .bashrc
权限意义
- r(read): 可以读取文件的实际内容
read contents in directory 可以使用ls 将该 目录的文件列出来 - w(write):可以编辑新增修改文件内容,但不能删除
新建目录、文件
删除已存在的目录、文件
将已存在的文件、目录重命名
转移该文件、目录的位置 - x(execute):该文件具有可以被系统执行的权限
access directory 用户能否进入该目录成为工作目录的用途;工作目录就是你目前所在的目录,变换目录的命令为“cd”(change directory)
cd /tmp 切换工作目录到/tmp
mkdir testing 新建新目录
chmod 744 testling 更改权限
touch testing/testing 创建空的文件
chmod 600 testing/testing 更改权限
ls -ald testing testing/testing
linux文件种类与拓展名
任何设备在linux下都是文件,连接数据通信的接口也有专门的文件负责
文件种类
- 1.普通文件
- 2.纯文本文件
cat ~/.bashrc (cat一个将文件内容读取出来的命令) - 3.二进制文件
cat就是一个二进制文件 - 4.数据格式文件
记录在/var/log/wtmp