大家好,欢迎来到IT知识分享网。
前言
Linux文件一般分为两种,一般文件和目录文件。是系统最底层的安全设定之一,所以要保证文件可以被可用的用户做相应操作
在普通文件上:
r:可读,可以使用类似cat等命令查看文件内容;读是文件的最基本权限,没有读权限,普通文件的一切操作行为都被限制。
w:可写,可以编辑此文件;
x:可执行,表示文件可由特定的解释器解释并运行。可以理解为windows中的可执行程序或批处理脚本,双击就能运行起来的文件。
在目录上:
r:可以对目录执行ls以列出目录内的所有文件;读是文件的最基本权限,没有读权限,目录的一切操作行为都被限制。
w:可以在此目录创建或删除文件/子目录;
x:可进入此目录,可使用ls -l查看文件的详细信息。
文件权限的查看
ls -l file #除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 ls -ld dir #查看目录本身权限 ll file #功能相同 ll -d dir # ll -a dir #
文件权限的读取
- #空文件,或者文本 d #目录 l #软链接 s #socket 套接字 b #block 块设备 c #字符设备
2. “rw-“文件的权限
rw-|rw-|r–
第1个”rw-“第2个”rw-“第3个”r–”分别表示如下:
1.[u] 文件拥有者对文件能做什么操作 2.[g] 文件所有组对文件能做什么操作 3.[o] 其他人对文件能做什么操作
3. 个数
对文件:文件硬链接个数(文件内容被记录的次数)
对目录:目录中子目录的个数
4. 文件的所有人
5. 文件所有组
6. 大小
对文件:文件大小
对目录:目录中子文件元数据(matedate)大小
7.文件的内容被修改的时间
8. 文件的名称
修改文件
改用户及用户组
chown可以修改文件所有者和所属组。
这个指令只有是由系统管理者(root)所使用
chgrp更改文件和目录的所属组,要求组已经存在。
对于链接文件而言,修改组的作用对象是链接的源文件,而非链接文件本身。
chown username file|dir chown user.group file|dir chown -R user.group dir chgrp group file|dir chgrp -R group dir chmod <u|g|o><+|-|=><r|w|x> file|dir
权限chmod的改变方式
权限的模式有两种体现:数字体现方式和字符体现方式。
权限的数字表示:”-“代表没有权限,用0表示。
r------------------4 w------------------2 x------------------1
例如:rwx rw- r–对应的数字权限是764,732代表的权限数值表示为rwx -wx -w-。
- 可以使用字符方式修改权限
所有者使用字母”u”表示,所属组使用”g”来表示,其他使用”o”来表示,而字母”a”同时表示它们三者。所以使用字符方式修改权限时,需要指定操作谁的权限chmod u+x /mnt/file1 chmod g-r /mnt/file2 chmod ug-r /mnt/file3 chmod u-r,g+x /mnt/file4 chmod -r /mnt/file5 chmod o=r-x /mnt/file6
2… 使用数值方式修改权限
chmod 755 file
umask
umask值用于设置用户在创建文件时的默认权限。对于root用户(实际上是UID小于200的user),系统默认的umask值是022;对于普通用户和系统用户,系统默认的umask值是002。
- 永久更改umask
vim /etc/profile #编写系统配置文件 source /etc/profile #让更改立即生效
- 临时更改umask
vim /etc/bashrc #shell配置文件 source /etc/bashrc #让更改立即生效
特殊权限
1.sticky粘制位
如果用户对目录有写权限,则可以删除其中的文件和子目录,即使该用户不是这些文件的所有者,而且也没有读或写许可。粘着位出现执行许可的位置上,用t表示,设置了该位后,其它用户就不可以删除不属于他的文件和目录。但是该目录下的目录不继承该权限,要再设置才可使用。
设定方式:
chmod o+t dir chmod 1xxx dir
实例
chmod 777 abc chmod +t abc 等价于 chmod 1777 abc
2.suid 冒险位
只针对与2进制可执行文件 当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人
设定方式
chmod u+s file
chmod 4xxx file
3.sgid 强制位
针对目录时,目录中所建立的文件或子目录的组将继承默认父目录组,其本质还是提升为目录所属组的权限。此时目录应该要有rx权限,普通用户才能进入目录,如果普通用户有w权限,新建的文件和目录则以父目录组为默认组。
以2代表sgid,如2755,和suid组合如6755。
设定方式
chmod g+s file|dir chmod 2xxx file|dir
acl权限列表
通常只通过这3个权限位是无法完全合理设置权限问题的,例如如何仅设置某单个用户具有什么权限。这时候需要使用扩展acl。
acl是一种特殊权限,它是文件系统上功能,用于解决所有者、所属组和其他这三个权限位无法合理设置单个用户权限的问题。
acl列表管理
setfacl -m u:username:rwx file #设定username对file拥有rwx权限 setfacl -m g:group:rwx file #设定group组成员对file拥有rwx权限 setfacl -x u:username file #从acl列表中删除username setfacl -b file #关闭file上的acl列表
当权限出现”+”是表示acl开启赋予了一个用户对这个文件acl的特殊权力
然后发现本来只有root用户可以修改的文件,特定用户student也可以编写
getfacl file #查看acl开启的文件的权限 # file: file #文件名称 # owner: root #文件拥有者 # group: root #文件拥有组 user::rw- #文件拥有人的权限 user:kiosk:rwx #指定用户的权限 group::r-- #文件拥有组的权力 mask::rwx #能赋予用户的最大权力伐值 other::r-- #其他人的权限
acl的默认权限设定
acl默认权限只针对目录设定
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/141818.html