###############了解文的权限
###首先我们先来看看怎么查看文件的权限
[root@desktop mnt]# ls ##ls查看命令
file1 fstab passwd rule test
[root@desktop mnt]# ls -l dir ##查看是否有dir这个文见,-l表示查看dir完整信息,
ls: cannot access dir: No such file or directory ##显示没有
[root@desktop mnt]# mkdir dir ##创建文加夹
[root@desktop mnt]# ls -ld dir ##-d表示查看文件本身,
drwxr-xr-x. 2 root root 6 Aug 18 02:47 dir
[root@desktop mnt]# ll ##ll是ls -l的简写,查看全部
total 20
drwxr-xr-x. 2 root root 6 Aug 18 02:47 dir
-rw-r--r--. 1 root root 349 Aug 17 22:20 file1
-rw-r--r--. 1 root root 356 Aug 18 02:29 fstab
-rw-r--r--. 1 root root 340 Aug 17 23:01 passwd
-rw-r--r--. 1 root root 21 Aug 17 22:39 rule
-rw-r--r--. 1 root root 12 Aug 17 22:24 test
[root@desktop mnt]# ll -d dir ##查看dir本身
drwxr-xr-x. 2 root root 6 Aug 18 02:47 dir
[root@desktop mnt]#
####在上面文件或文件夹的完整信息怎么读|rw-r–r--| 1 |root | root | 349 | Aug 17 22:20 | file1
[1] [2] [3] [4] [5] [6] [7] [8][1]
文件的类型##空文件,或者文本
d ##目录
l ##软链接 ln -s file westos ll westos
s ##socket 套接字 yum install -y mariadb-server ll /var/lib/mysql/
b ##block 块设备 ll /dev/sda
c ##字符设备 ls /dev/pts date > /dev/pts/5[2]
文件的权限
rw-|r–|r–
1 2 3
1.[u] 文件拥有者对文件能做什么操作
2.[g] 文件所有组对文件能做什么操作
3.[o] 其他人对文件能做什么操作[3]
对文件:文件硬链接个数(文件内容被记录的次数) #ln file westos, ls -li file westos, rm -fr file
对目录:目录中子目录的个数(不是文件) #mkdir test, ls -ld test[4]
文件的所有人[5]
文件所有组[6]
对文件:文件大小
对目录:目录中子文件元数据(matedate可以理解为文件的属性)大小
[7]
文件的内容被修改的时间[8]
文件的名称
############在了解了文件的权限,完整信息的看法之后我们来看怎么改变4、5部分,文件拥有着和组
[root@desktop mnt]# ll ##file1的拥有着和所属组都是root
total 20
drwxr-xr-x. 2 root root 6 Aug 18 02:47 dir
-rw-r--r--. 1 root root 349 Aug 17 22:20 file1
-rw-r--r--. 1 root root 356 Aug 18 02:29 fstab
-rw-r--r--. 1 root root 340 Aug 17 23:01 passwd
-rw-r--r--. 1 root root 21 Aug 17 22:39 rule
-rw-r--r--. 1 root root 12 Aug 17 22:24 test
[root@desktop mnt]# chown student file1 ######## chown将拥有着改为student
[root@desktop mnt]# ls -ld file1
-rw-r--r--. 1 student root 349 Aug 17 22:20 file1
[root@desktop mnt]# chgrp student file1 #######chgrp改变file1的所属组
[root@desktop mnt]# ls -ld file1 ##看到已经更改完毕
-rw-r--r--. 1 student student 349 Aug 17 22:20 file1
[root@desktop mnt]# chown root.root file1 ##用chown将file1的用户拥有者和组一起改变为root
[root@desktop mnt]# ls -ld file1 ##-ld命令可以看到file1的所属者和组改变了
-rw-r--r--. 1 root root 349 Aug 17 22:20 file1
##改变文件夹里面的拥有着,之前的只能改变外层的
[root@desktop mnt]# ls -ld dir ##dir情况查看下
drwxr-xr-x. 2 root root 17 Aug 18 03:17 dir
[root@desktop mnt]# cd dir
[root@desktop dir]# ls -ld file ##文件file的情况
-rw-r--r--. 1 root root 0 Aug 18 03:17 file
[root@desktop dir]# cd ..
[root@desktop mnt]# chown -R student.student dir ##在chown前面加-R,改变dir权限
[root@desktop mnt]# ls -ld dir ##查询
drwxr-xr-x. 2 student student 17 Aug 18 03:17 dir
[root@desktop mnt]# cd dir ##进入dir文件夹中
[root@desktop dir]# ls -ld dir
ls: cannot access dir: No such file or directory
[root@desktop dir]# ls -ld file ##产看file文件拥有着和所属组
-rw-r--r--. 1 student student 0 Aug 18 03:17 file
########我们已经改变了文件的拥有者,下来改变文件的权限,就是前面的2。
##权限对于文件和目录的区别
r 读 ##对于文件是查看文件内容,目录是看有什么子文件
w 写 ##对文件是改变文件的内容,目录是对目录中子目录更改和子文件的数据的更改
x 执行 ##对文件是通过文件名称调用文件内的程序,目录是进入目录中的权限
####更改权限的方式
1、数字
r :4
w :2
x :1
2、用所有者还是其它身份加权限
chmod <u|g|o><+|-|=><r|w|x> file|dir
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
######我们建立文件时默认权限mask
我们在建立一个文件时通常会默认一个权限.在输入umask时022是目录777-022=755。文件则自动减去1,即777-022-111=644(rw-r–r--)
####更改默认权限的方法。第62行
[root@desktop mnt]# vim /etc/profile ##更改第62行
[root@desktop mnt]# vim /etc/bashrc ##更改第73行
测试结果:
###############sticky粘滞位
作用:
只针对目录生效,当一个目录上有sticky权限时
在这个目录中的文件智能被文件的所有者删除
设定方式:
chmod o+t dir
chmod 1xxx dir
##################sgid
对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组
##设置方法
chmod g+s file|dir
chmod 2xxx file|dir
##############.suid
只针对与2进制可执行文件当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人。
执行方式:
chmod u+s file
chmod 4xxx file
###################对但个人给与特定的权限acl
[root@desktop pub]# mkdir dir3 ##建立dir3
[root@desktop pub]# chmod 700 dir3 ##关闭权限
[root@desktop pub]# ll ##关闭成功
total 8
drwx--S---+ 2 root root 17 Aug 18 04:58 dir
drwx------. 2 root root 6 Aug 18 05:15 dir3
-rwxr-xr-x. 1 root root 28 Aug 18 04:52 watch
[root@desktop pub]# su - westos ##切换到普通用户
Last login: Sun Aug 18 05:14:33 EDT 2019 on pts/0
[westos@desktop ~]$ cd /pub
[westos@desktop pub]$ ls
dir dir3 watch
[westos@desktop pub]$ cd dir3 ##进入dir3被禁止
-bash: cd: dir3: Permission denied
[westos@desktop pub]$ exit
logout
[root@desktop pub]# setfacl -m u:westos:rwx dir3 ##给与westos用户dir3的权限
[root@desktop pub]# su - westos ##切换用户
Last login: Sun Aug 18 05:17:03 EDT 2019 on pts/0
[westos@desktop ~]$ cd /pub
[westos@desktop pub]$ cd dir3 ###成功进入
[westos@desktop dir3]$ getfacl ../dir3 ##查看dir3给与用户和组的权限file: ../dir3owner: rootgroup: rootuser::rwx
user:westos:rwx
group::---
mask::rwx
other::---