day 20 权限

1.rwx含义

r
    是否可读 read
w
    是否可写 write
x
    是否可以运行execute
    执行命令或脚本(命令大礼包)

2.权限计算

r ---  4
w --- 2
x --- 1
- --- 0
计算
    -rwxr-xr-x    ---    -755
    744  ---    -rwxr--r--
    644 ---   -rw-r--r--
    400  ---   -r--------

3.修改权限

命令 chmod
    -R 递归修改权限
数字
字母

4.如何知道你对某个文件的权限

  • 你是谁?
[long@wolf1 ~]$ whoami
long
  • 这个用户与文件/目录关系:主人 家人 陌生人
[long@wolf1 ~]$ id long
uid=1000(long) gid=1000(long) groups=1000(long)
  • 陌生人关系 权限看最后3位 r--
long /etc/hosts 权限 r--

5.文件的rwx权限

修改文件的所有者或所有者组
[root@oldboyedu59 ~]# chown long.long /oldboy/lidao.sh

搭建测试权限环境
mkdir -p /oldboy/
echo pwd >/oldboy/lidao.sh
#useradd oldboy 如果oldboy有问题则删除 再添加

[root@wolf1 ~]# ll /oldboy/lidao.sh 
-rw-r--r-- 1 root root 4 Apr 23 09:57 /oldboy/lidao.sh
[root@wolf1 ~]# chmod +x /oldboy/lidao.sh 
[root@wolf1 ~]# ll /oldboy/lidao.sh 
-rwxr-xr-x 1 root root 4 Apr 23 09:57 /oldboy/lidao.sh
[root@wolf1 ~]# cat /oldboy/lidao.sh 
pwd
[root@wolf1 ~]# echo "hostname">> /oldboy/lidao.sh 
[root@wolf1 ~]# cat /oldboy/lidao.sh 
pwd
hostname
[root@wolf1 ~]# /oldboy/lidao.sh 
/root
wolf1
[root@wolf1 ~]# 
  • #root 修改r权限
[root@wolf1 ~]# chmod u=r /oldboy/lidao.sh 
[root@wolf1 ~]# ll /oldboy/lidao.sh
-r--r-xr-x 1 root root 13 Apr 23 10:02 /oldboy/lidao.sh
[root@wolf1 ~]# chown long.long /oldboy/lidao.sh
[root@wolf1 ~]# ll /oldboy/lidao.sh 
-r--r-xr-x 1 long long 13 Apr 23 10:02 /oldboy/lidao.sh
[root@wolf1 ~]# 
  • #long下 测试文件的r权限
[long@wolf1 ~]$ ll /oldboy/lidao.sh 
-r--r-xr-x 1 long long 13 Apr 23 10:02 /oldboy/lidao.sh
[long@wolf1 ~]$ cat /oldboy/lidao.sh 
pwd
hostname
[long@wolf1 ~]$ echo 'pwd'>> /oldboy/lidao.sh 
-bash: /oldboy/lidao.sh: Permission denied
[long@wolf1 ~]$ /oldboy/lidao.sh
-bash: /oldboy/lidao.sh: Permission denied

文件的r小结:
是否能查看文件的内容

  • #root 修改w权限
[root@wolf1 ~]# chmod u=w /oldboy/lidao.sh
[root@wolf1 ~]# ll /oldboy/lidao.sh
--w-r-xr-x 1 long long 13 Apr 23 10:11 /oldboy/lidao.sh
[root@wolf1 ~]# cat /oldboy/lidao.sh
pwd
hostname
pwd
  • #long下 测试文件的w权限
[long@wolf1 ~]$ ll /oldboy/lidao.sh
--w-r-xr-x 1 long long 13 Apr 23 10:11 /oldboy/lidao.sh
[long@wolf1 ~]$ echo "pwd" >> /oldboy/lidao.sh
[long@wolf1 ~]$ cat /oldboy/lidao.sh
cat: /oldboy/lidao.sh: Permission denied
[long@wolf1 ~]$ /oldboy/lidao.sh
-bash: /oldboy/lidao.sh: Permission denied

文件的rw小结:
1.r 是否能查看文件的内容

2.w 是否能修改文件内容 需要r配合
3.只有w的时候vim强制修改文件 会导致源文件内容被覆盖

  • #root 修改x权限
[root@wolf1 ~]# chmod u=x /oldboy/lidao.sh
[root@wolf1 ~]# ll /oldboy/lidao.sh
---xr-xr-x 1 long long 17 Apr 23 10:20 /oldboy/lidao.sh
[root@wolf1 ~]# cat /oldboy/lidao.sh
pwd
hostname
pwd
  • #long下 测试文件的x权限
[long@wolf1 ~]$ cat /oldboy/lidao.sh
cat: /oldboy/lidao.sh: Permission denied
[long@wolf1 ~]$ echo "pwd" >> /oldboy/lidao.sh
-bash: /oldboy/lidao.sh: Permission denied
[long@wolf1 ~]$ /oldboy/lidao.sh
bash: /oldboy/lidao.sh: Permission denied

注:只有读权限时 才能执行

  • #root 修改rx权限
[root@wolf1 ~]# chmod u=wx /oldboy/lidao.sh
[root@wolf1 ~]# ll /oldboy/lidao.sh 
--wxr-xr-x 1 long long 17 Apr 23 10:20 /oldboy/lidao.sh
[root@wolf1 ~]# cat /oldboy/lidao.sh
pwd
hostname
pwd
  • #long下 测试文件的rx权限
[long@wolf1 ~]$ cat /oldboy/lidao.sh
pwd
hostname
pwd
pwd
[long@wolf1 ~]$ echo 'pwd' >> /oldboy/lidao.sh
-bash: /oldboy/lidao.sh: Permission denied
[long@wolf1 ~]$ /oldboy/lidao.sh
/home/long
wolf1
/home/long
/home/long

文件的rwx小结:
1.r 是否能查看文件的内容
2.w 是否能修改文件内容 需要r配合
3.只有w的时候vim强制修改文件 会导致源文件内容被覆盖
4.x 是否能执行(命令或脚本) 需要r配合

6.目录的rwx权限

搭建环境
mkdir -p /oldboy/lidao
chown oldboy.oldboy /oldboy/lidao
touch /oldboy/lidao{01..5}.txt
[root@oldboyedu59 ~]# ll -d /oldboy/lidao
drwxr-xr-x 2 oldboy oldboy 214 Apr 19 09:25 /oldboy/lidao

#root 测试目录r权限

[root@oldboyedu59 ~]# chmod u=r /oldboy/lidao
[root@oldboyedu59 ~]# ll -d /oldboy/lidao
dr--r-xr-x 2 oldboy oldboy 214 Apr 19 09:25 /oldboy/lidao

#long 测试目录r权限

[long@wolf1 /oldboy]$ ll -d lidao
dr--r-xr-x 2 long long 101 Apr 23 20:50 lidao
[long@wolf1 /oldboy]$ ls -l lidao
ls: cannot access lidao/lidao01.txt: Permission denied
ls: cannot access lidao/lidao02.txt: Permission denied
ls: cannot access lidao/lidao03.txt: Permission denied
ls: cannot access lidao/lidao04.txt: Permission denied
ls: cannot access lidao/lidao05.txt: Permission denied
total 0
-????????? ? ? ? ?            ? lidao01.txt
-????????? ? ? ? ?            ? lidao02.txt
-????????? ? ? ? ?            ? lidao03.txt
-????????? ? ? ? ?            ? lidao04.txt
-????????? ? ? ? ?            ? lidao05.txt

#root测试目录w权限

[root@wolf1 /oldboy]# chmod u=w /oldboy/lidao
[root@wolf1 /oldboy]# ll -d /oldboy/lidao
d-w-r-xr-x 2 long long 101 Apr 23 20:50 /oldboy/lidao
[root@wolf1 /oldboy]# 

#long 测试目录w权限

[long@wolf1 /oldboy]$ ll -d lidao
d-w-r-xr-x 2 long long 101 Apr 23 20:50 lidao
[long@wolf1 /oldboy]$ ls -l lidao
ls: cannot open directory lidao: Permission denied
[long@wolf1 /oldboy]$ touch ./lidao/long.txt
touch: cannot touch ‘./lidao/long.txt’: Permission denied

#root测试目录x权限

[root@wolf1 /oldboy]# chmod u=x /oldboy/lidao
[root@wolf1 /oldboy]# ll -d /oldboy/lidao
d--xr-xr-x 2 long long 101 Apr 23 20:50 /oldboy/lidao

#long 测试目录x权限

[long@wolf1 /oldboy]$ ls -d lidao
lidao
[long@wolf1 /oldboy]$ ls -l lidao
ls: cannot open directory lidao: Permission denied
[long@wolf1 /oldboy]$ 

7.删除文件需要什么权限

删除文件 看这个文件所在目录的权限是否有w和 x

8.Linux系统的默认权限

umask控制系统默认的权限
系统对于文件或目录最大权限
    文件
        666 -rw-rw-rw-
    目录
        777 drwxrwxrwx
通过umask计算系统默认权限
    文件(666)或目录(777)最大权限减去umask
    文件的umask 如果某位是奇数 666减去umask之后  还需要奇数加1

你可能感兴趣的:(day 20 权限)