首页 > 编程知识 正文

chmod修改文件权限,给文件赋予权限的命令

时间:2023-05-03 16:08:49 阅读:139668 作者:2778

1 .查看文件属性

ls -l filename ###长列表显示文件的属性

"-"表示文件类型

-常规文件d:目录c:字符设备s:插槽p:管道b:块设备l:链接

' rw-r--r--':表示文件的权限

前三个字符“rw-”表示文件所有者的权限

中间的三个字符“r--”表示文件所属组的权限

接下来的三个字符“r--”表示对其他用户的文件权限

“1”:表示对于文件,文件内容被记录在系统中的次数

表示目录中相对于目录的文件属性的字节数

“根”:文件的所有者

“root”:文件所属的组

"0" :表示文件的大小

may 26 14:56 :显示上次修改文件的时间

“文件”:表示文件的名称

2、档案权限

yyddy/pu g o

u :文件所有者可以对文件进行读写

g:文件组的成员对文件可读

o :其他人可以读文件

r权限

对于文件:可以显示文件的字符

对于目录:可以显示目录中的文件信息

w权限

对于文件:可以更改文件中的字符

对于目录:可以向目录中添加删除文件

x权限

对于文件:可以执行文件中记录的程序操作

对于目录:可以访问目录

3 .用文字方式修改文件权限

chmod [-r ] u|g|o|-|=r|w|xfile|dir

chmod u x file1 ##file1所有者添加x权限

chmod GW文件1 # #文件1具有添加组w的权限

chmod u-x,g w file1 ##file1所有者删除x权,file1拥有添加组w权限

chmod ugo-r file2 ##file2用户组的其他用户组将删除r权限

chmod ug x,o-r文件3 # #文件3用户和组添加x权限,其他人删除r权限

4 .用数字方式修改文件权限

在linux中r=4,w=2,x=1

文件权限数值表达式:

rw--|r--|r---

u g o

u=rw=420=6

g=r--=4 0 0=4

o=r--=4 0 0=4

所以文件的权限显示为644

用数字更改文件权限的命令:更改chmod后的权限filename

chmod 777文件

如果要更改文件的其他目录文件权限,则必须稍后添加文件的绝对路径

5 .系统文件权限设置

从系统存在的角度来讲,开放权力越大,系统存在的意义就越高

从系统安全性的观点来看,开放权力越少,系统的安全性越高

因此,如果在系统设定中创建新的文件或目录,则由于几个权限umask会删除默认的022、文件666-022、目录777-022,所以root新建的文件权限为644、迪

设定模式

umask ##显示系统的预约权限默认为022

umask 077 ##将此系统的保留权限更改为077。 此设置是临时设置,仅对当前shell有效

永久设置方法:

修改配置文件/etc/bashrc,仅对当前shell有效。 其中002是一般用户umask 022超级用户umask

修改配置文件/etc/profile以在系统上启用。 其中002是一般用户umask 022超级用户umask

注意:上述两个文件的umask设置值必须一致。

文件设置完成后不会生效。 需要读取文件信息

source /etc/bashrc

source /etc/profile ####系统读取文件信息并立即使设置生效

6 .管理文件所有者和所属组

更改chown username file|dir ####文件或目录的所有者

修改chmod username.group name file|dir # #文件或目录的所有者和所属组

chmod -R username dir #####修改目录本身和目录下,因此文件的所有者

更改chmod -R groupname dir ####目录本身和目录下所有文件的所属组

七、特殊权限

suid ###冒险位

仅针对二进制可执行文件,

文件内记录的程序产生的进程为文件的拥有者,和进程的发起人没有关系

设定方式: chmod u+s filename  或者 suid=4 或者 chmod 4xxx  filename

实验:以/rdrs/touch为例

对于二进制文件/rdrs/touch,所有人添加s权限,用户desktop使用/rdrs/touch创建westos所有人为root,root用户下取消所有人s权限,用户lee再次使用/rdrs/touch创建文件westos1,所有人为desktop。



sgid     ###强制位

对于文件:只针对二进制文件,任何人运行文件,程序产生的进程的属组为文件的所在组

对于目录:目录含有s权限后,目录下新建的文件的属组自动归属到该目录的属组,和文件的建立者无关

设定方式:chmod g+s filename 或者 sgid=2 或者 chmod 2xxx filename

实验对文件

给/rdrs/touch用户组添加s权限,新建文件file,查看属性,file所有组为root,切换用户desktop,同样,lee使用/rdrs/touch文件新建文件westos,desktop所新建文件所有者为desktop,但所有组却为root,root用户下取消/rdrs/touch文件所有的组的s权限,desktop用户使用/rdrs/touch创建文件file3,所有者,所有人都为desktop



对目录:

超级用户身份下在/mnt下新建目录test,给与其他人rwx权限,用户组给与s权限,此时目录test所有组为root,切换desktop用户,desktop用户在/mnt/test目录中新建文件file,查看属性,file所有人为desktop,所有组依旧为root;


sticky    ###粘制位

t权限:

只针对目录,当一个目录由t权限后那么目录的文件只能被拥有者删除:

设定方式:chmod o+t directory 或者 t =1 或者 chmod 1xxx   directory

实验t权限

desktop用户在/tmp下新建目录Linux,查看属性,其他人无w权限,给与其他人t权限和w权限,打开新shell切换用户westos,westos在/mnt/linux下新建文件we,切换linux用户,linux用户在/tmp/westos下新建文件li,当用户westos想删除linux在此目录内创建的文件li时,被拒绝,但用户westos删除自己所创建文件we时成功了。




8.设定acl列表

设定格式

setfacl -m <u|g>:<username|groupname>:权限 文件|目录

-m #设定

u #用户

g #组

getfacl filename|dirname   查看acl列表内容

getfacl  /westos/

# file: westos/ ##文件名称

# owner: root ##文件所有人

# group: root ##文件所有组

user::rwx ##拥有者权限

user:student:rwx ##特殊用户权限

group::--- ##组权限

mask::rwx ##权限掩码

other::--- ##其他人权限

 注意:当文件上有权限列表时,ls -l 能看到的权限是假的

实验:超户身份在/tmp下新建文件file,并进行编辑两行内容“westos ,redhat”设定权限660,查看文件权限


切换desktop用户无法查看/tmp/file文件


切换超户设置acl列表desktop用户对文件具有rw权限


切换desktop用户进行查看/tmp/file文件


对于所有组而言,所有组拥有对/tmp/file文件的rw权限,那么此所有组内的成员都会拥有/tmp/file文件的rw权限。

删除列表中的用户或者组

setfacl -b filename   ###关闭acl权限列表

setfacl -x <u|g>:<username|groupname> 文件|目录

实验:删除/tmp/file文件对desktop用户的特殊权限



###acl mask值###

mask 权限掩码

mask用来标实能够赋予用户最大权限

当用chmod改变文件普通权限时可能会被破坏,修复 setfacl -m m:rwx 文件名称

实验:root用户在/tmp下新建文件file,设定用户desktop对此文件拥有rwx权限,改变/tmp/file文件权限为700,查看acl列表信息,发现user和group后出现#effective,新建shell以desktop用户身份查看/tmp/file文件,发现无法查看。当出现#effective时,表示文件被损坏。


切换desktop用户查看被拒绝


通过命令:setfacl -m m:rwx /tmp/file 来修复,可以看出#effective消失,在file文件里面添加“hello,你好”方便否其查看


切换用户desktop进行查看


####acl 默认权限######

当我们需求某个目录对于desktop可写,并且目录中新建的子目录对desktop也可写

就要设定默认默认权限

 注意: 默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,

对于目录本身也无效

 setfacl -m d:u:student:rwx  /westos

实验:在/tmp用户桌面下,新建目录westos,设置权限为700

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。