目录
一、文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
- 减号(-)代表没有权限
- 属主权限(U):文件的所有者拥有该文件的权限
- 属组权限(G):所有者的同组用户拥有该文件的权限
- 其它用户权限(O)
⚪rxw作用文件和目录的不同解释
1.作用到文件
2.作用到目录
⚪示例
- 如果查看到是文件:链接数指的是硬链接个数
- 如果查看到的是文件夹:链接数指的是子文件夹个数
二、chmod改变权限
⚪基本语法 & 使用
①方式一
chmod [{ugoa}{+-=}{rwx}]文件或目录
②方式二
chmod [mode=421][文件或目录]
r=4 w=2 x=1 wx=3 rx=5 rw=6 rwx=7
修改整个文件夹里面的所有的文件的所有者、所属组、其他用户都具有可读可写可执行权限:
chmod -R 777 文件夹
三、chown改变所有者
四、chgrp改变所属组
五、案例
-rwxr-xr-x. 1 root root 8544 9月 29 23:08 helloworld2
-rw-r--r--. 1 root root 337 9月 29 23:08 helloworld2.c
-rw-rw-rw-. 1 root root 1923 10月 6 14:31 initial-setup-ks.cfg
drwxr-xr-x. 12 3328 20001 4096 9月 29 10:24 mpich-3.3.2
-rw-r--r--. 1 root root 27311775 11月 13 2019 mpich-3.3.2.tar.gz
-rwxr-xr-x. 1 root root 8816 9月 29 23:24 msgreceive
-rw-r--r--. 1 root root 1166 9月 29 23:22 msgreceive.c
lrwxrwxrwx. 1 root root 13 9月 27 22:54 myFolder -> /root/folder/
lrwxrwxrwx. 1 root root 10 9月 27 22:48 myInfo -> /root/info
-rwxr-xr-x. 1 root root 8960 9月 29 23:23 sendrecv
-rw-r--r--. 1 root root 1148 9月 29 23:21 sendrecv.c
-rw-r--r--. 1 root root 0 9月 29 23:13 test2
drwx------. 5 tony haircut 128 10月 1 18:30 tony
drwx------. 15 zz zz 4096 9月 21 09:27 zz
[root@myvmware1 home]# chmod 777 initial-setup-ks.cfg
[root@myvmware1 home]# ll
总用量 26740
-rw-------. 1 root root 1875 10月 6 14:31 anaconda-ks.cfg
drwx------. 3 david haircut 78 10月 4 18:18 dave
drwxr-xr-x. 2 root root 124 9月 29 23:09 hello
-rw-r--r--. 1 root root 1923 9月 27 20:41 hello2
-rw-r--r--. 1 root root 0 9月 27 20:32 hello3
-rwxr-xr-x. 1 root root 8544 9月 29 23:08 helloworld2
-rw-r--r--. 1 root root 337 9月 29 23:08 helloworld2.c
-rwxrwxrwx. 1 root root 1923 10月 6 14:31 initial-setup-ks.cfg
drwxr-xr-x. 12 3328 20001 4096 9月 29 10:24 mpich-3.3.2
-rw-r--r--. 1 root root 27311775 11月 13 2019 mpich-3.3.2.tar.gz
-rwxr-xr-x. 1 root root 8816 9月 29 23:24 msgreceive
-rw-r--r--. 1 root root 1166 9月 29 23:22 msgreceive.c
lrwxrwxrwx. 1 root root 13 9月 27 22:54 myFolder -> /root/folder/
lrwxrwxrwx. 1 root root 10 9月 27 22:48 myInfo -> /root/info
-rwxr-xr-x. 1 root root 8960 9月 29 23:23 sendrecv
-rw-r--r--. 1 root root 1148 9月 29 23:21 sendrecv.c
-rw-r--r--. 1 root root 0 9月 29 23:13 test2
drwx------. 5 tony haircut 128 10月 1 18:30 tony
drwx------. 15 zz zz 4096 9月 21 09:27 zz
[root@myvmware1 home]#
[root@myvmware1 home]# cd ..
[root@myvmware1 /]# cd ~
[root@myvmware1 ~]# clear
[root@myvmware1 ~]# groupadd bigdata
[root@myvmware1 ~]# groupadd testing
[root@myvmware1 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
tcpdump:x:72:
zz:x:1000:zz
tony:x:1001:
david:x:1003:
haircut:x:1002:
bigdata:x:1004:
testing:x:1005:
[root@myvmware1 ~]# useradd -g bigdata xiaoming
[root@myvmware1 ~]# id xiaoming
uid=1003(xiaoming) gid=1004(bigdata) 组=1004(bigdata)
[root@myvmware1 ~]# useradd -g bigdata xiaolaing
[root@myvmware1 ~]# id xiaoliang
id: xiaoliang: no such user
[root@myvmware1 ~]# id xiaolaing
uid=1004(xiaolaing) gid=1004(bigdata) 组=1004(bigdata)
[root@myvmware1 ~]# user -g testing xiaolan
bash: user: 未找到命令...
[root@myvmware1 ~]# user add -g testing xiaolan
bash: user: 未找到命令...
[root@myvmware1 ~]# useradd -g testing xiaolan
[root@myvmware1 ~]# id xiaolan
uid=1005(xiaolan) gid=1005(testing) 组=1005(testing)
[root@myvmware1 ~]# cd home
bash: cd: home: 没有那个文件或目录
[root@myvmware1 ~]# cd /home
[root@myvmware1 home]# ls
anaconda-ks.cfg hello hello3 helloworld2.c mpich-3.3.2 msgreceive myFolder sendrecv test2 xiaolaing xiaoming
dave hello2 helloworld2 initial-setup-ks.cfg mpich-3.3.2.tar.gz msgreceive.c myInfo sendrecv.c tony xiaolan zz
[root@myvmware1 home]# su xiaoming
[xiaoming@myvmware1 home]$ cd ~
[xiaoming@myvmware1 ~]$ pwd
/home/xiaoming
[xiaoming@myvmware1 ~]$ vim import_code
[xiaoming@myvmware1 ~]$ ll
总用量 4
-rw-r--r--. 1 xiaoming bigdata 11 10月 6 15:07 import_code
[xiaoming@myvmware1 ~]$ exit
exit
[root@myvmware1 home]# su xiaolaing
[xiaolaing@myvmware1 home]$ cd ~
[xiaolaing@myvmware1 ~]$ cd ..
[xiaolaing@myvmware1 home]$ cd ~
[xiaolaing@myvmware1 ~]$ cd ../xiaoming
bash: cd: ../xiaoming: 权限不够
[xiaolaing@myvmware1 ~]$ exit
exit
[root@myvmware1 home]# ll
总用量 26740
-rw-------. 1 root root 1875 10月 6 14:31 anaconda-ks.cfg
drwx------. 3 david haircut 78 10月 4 18:18 dave
drwxr-xr-x. 2 root root 124 9月 29 23:09 hello
-rw-r--r--. 1 root root 1923 9月 27 20:41 hello2
-rw-r--r--. 1 root root 0 9月 27 20:32 hello3
-rwxr-xr-x. 1 root root 8544 9月 29 23:08 helloworld2
-rw-r--r--. 1 root root 337 9月 29 23:08 helloworld2.c
-rwxrwxrwx. 1 root root 1923 10月 6 14:31 initial-setup-ks.cfg
drwxr-xr-x. 12 3328 20001 4096 9月 29 10:24 mpich-3.3.2
-rw-r--r--. 1 root root 27311775 11月 13 2019 mpich-3.3.2.tar.gz
-rwxr-xr-x. 1 root root 8816 9月 29 23:24 msgreceive
-rw-r--r--. 1 root root 1166 9月 29 23:22 msgreceive.c
lrwxrwxrwx. 1 root root 13 9月 27 22:54 myFolder -> /root/folder/
lrwxrwxrwx. 1 root root 10 9月 27 22:48 myInfo -> /root/info
-rwxr-xr-x. 1 root root 8960 9月 29 23:23 sendrecv
-rw-r--r--. 1 root root 1148 9月 29 23:21 sendrecv.c
-rw-r--r--. 1 root root 0 9月 29 23:13 test2
drwx------. 5 tony haircut 128 10月 1 18:30 tony
drwx------. 5 xiaolaing bigdata 128 10月 6 15:09 xiaolaing
drwx------. 3 xiaolan testing 78 10月 6 15:06 xiaolan
drwx------. 5 xiaoming bigdata 163 10月 6 15:08 xiaoming
drwx------. 15 zz zz 4096 9月 21 09:27 zz
[root@myvmware1 home]# chmod g+x xiaoming
[root@myvmware1 home]# ll
总用量 26740
-rw-------. 1 root root 1875 10月 6 14:31 anaconda-ks.cfg
drwx------. 3 david haircut 78 10月 4 18:18 dave
drwxr-xr-x. 2 root root 124 9月 29 23:09 hello
-rw-r--r--. 1 root root 1923 9月 27 20:41 hello2
-rw-r--r--. 1 root root 0 9月 27 20:32 hello3
-rwxr-xr-x. 1 root root 8544 9月 29 23:08 helloworld2
-rw-r--r--. 1 root root 337 9月 29 23:08 helloworld2.c
-rwxrwxrwx. 1 root root 1923 10月 6 14:31 initial-setup-ks.cfg
drwxr-xr-x. 12 3328 20001 4096 9月 29 10:24 mpich-3.3.2
-rw-r--r--. 1 root root 27311775 11月 13 2019 mpich-3.3.2.tar.gz
-rwxr-xr-x. 1 root root 8816 9月 29 23:24 msgreceive
-rw-r--r--. 1 root root 1166 9月 29 23:22 msgreceive.c
lrwxrwxrwx. 1 root root 13 9月 27 22:54 myFolder -> /root/folder/
lrwxrwxrwx. 1 root root 10 9月 27 22:48 myInfo -> /root/info
-rwxr-xr-x. 1 root root 8960 9月 29 23:23 sendrecv
-rw-r--r--. 1 root root 1148 9月 29 23:21 sendrecv.c
-rw-r--r--. 1 root root 0 9月 29 23:13 test2
drwx------. 5 tony haircut 128 10月 1 18:30 tony
drwx------. 5 xiaolaing bigdata 128 10月 6 15:09 xiaolaing
drwx------. 3 xiaolan testing 78 10月 6 15:06 xiaolan
drwx--x---. 5 xiaoming bigdata 163 10月 6 15:08 xiaoming
drwx------. 15 zz zz 4096 9月 21 09:27 zz
[root@myvmware1 home]# su xiaolaing
[xiaolaing@myvmware1 home]$ cd xiaoming/
[xiaolaing@myvmware1 xiaoming]$ ll
ls: 无法打开目录.: 权限不够
[xiaolaing@myvmware1 xiaoming]$ exit
exit
[root@myvmware1 home]# chmod g+r xiaomign
chmod: 无法访问"xiaomign": 没有那个文件或目录
[root@myvmware1 home]# chmod g+r xiaoming
[root@myvmware1 home]# su xiaoming
[xiaoming@myvmware1 home]$ cd xiaoming/
[xiaoming@myvmware1 ~]$ ll
总用量 4
-rw-r--r--. 1 xiaoming bigdata 11 10月 6 15:07 import_code
[xiaoming@myvmware1 ~]$ cat import_code
helloworld
[xiaoming@myvmware1 ~]$ vim import_code
[xiaoming@myvmware1 ~]$ cat import_code
helloworld!
[xiaoming@myvmware1 ~]$ exit
exit
[root@myvmware1 home]# su xiaohong
su: user xiaohong does not exist
[root@myvmware1 home]# usermod -g bigdata xiaolan
[root@myvmware1 home]# id xiaolan
uid=1005(xiaolan) gid=1004(bigdata) 组=1004(bigdata)
[root@myvmware1 home]# su xiaolam
su: user xiaolam does not exist
[root@myvmware1 home]# su xiaolan
[xiaolan@myvmware1 home]$ cd xiaoming/
[xiaolan@myvmware1 xiaoming]$ ll
总用量 4
-rw-r--r--. 1 xiaoming bigdata 12 10月 6 15:11 import_code
[xiaolan@myvmware1 xiaoming]$ vim import_code