linux - 练习题 - 08 - 权限

Linux权限:

useradd username
su username
ctrl + d 退出用户
 
[oldboy@alice-01 data]$ touch test.txt
touch: cannot touch `test.txt': Permission denied
 
 

1)权限之rwx

 

2)如何知道我对某个文件有什么权限

 

3 ) 查看是谁,(whoami) 

 

4 ) 你与这个文件或目录有什么关系 (ls -l /etc/hosts)

[oldboy@alice-01 data]$ ls -l /etc/hosts
-rw-r--r--. 2 root root 158 Aug 29 09:37 /etc/hosts
 

5)判断是否是一家子 (id, groups)

[oldboy@alice-01 data]$ id
uid=500(oldboy) gid=500(oldboy) groups=500(oldboy) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
 

6 ) 用户与权限的联系

 

7)权限的计算

r --- 4
w --- 2
x --- 1
-        0
-rw------
420000000
600
...
 

8 ) 修改权限 (chmod chown)

        chmod == change mode

    8.1. 使用数字的方式修改权限

    [root@alice-01 data]# chmod 755 oldboy.txt
    [root@alice-01 data]# ls -l oldboy.txt
    -rwxr-xr-x. 1 root root 0 Nov  6 18:58 oldboy.txt
 

    8.2.使用符号

        对于文件:主人user(u),家人group(g),陌生人other(o)  
 u+x  u-x  u=x 先清空,后添加  
[root@alice-01 data]# chmod u+x oldboy.txt
[root@alice-01 data]# ls -l oldboy.txt
-rwxr--r--. 1 root root 0 Nov  6 18:58 oldboy.txt
[root@alice-01 data]# chmod u=x oldboy.txt
[root@alice-01 data]# ls -l oldboy.txt
---xr--r--. 1 root root 0 Nov  6 18:58 oldboy.txt
[root@alice-01 data]# chmod u=rwx oldboy.txt
[root@alice-01 data]# ls -l oldboy.txt
-rwxr--r--. 1 root root 0 Nov  6 18:58 oldboy.txt
    
        给文件添加执行权限
[root@alice-01 data]# chmod ugo+x oldboy.txt
[root@alice-01 data]# ls -l oldboy.txt
-rwxr-xr-x. 1 root root 0 Nov  6 18:58 oldboy.txt
[root@alice-01 data]# chmod a+x oldboy.txt
[root@alice-01 data]# ls -l oldboy.txt
-rwxr-xr-x. 1 root root 0 Nov  6 18:58 oldboy.txt
[root@alice-01 data]# chmod +x oldboy.txt
[root@alice-01 data]# ls -l oldboy.txt
-rwxr-xr-x. 1 root root 0 Nov  6 18:58 oldboy.txt
 
只有加执行权限,才可以这样玩!!!
    

    8.3 修改文件的所有者和所属的用户组

          chown = change owner
        
[root@alice-01 data]# chown oldboy.oldboy oldboy.txt
[root@alice-01 data]# ls -l oldboy.txt
-rw-r--r--. 1 oldboy oldboy 0 Nov  6 18:58 oldboy.txt
 
 

9)对于文件来说,rwx的含义

 
环境准备:
mkdir -p /oldboy 
echo -e 'hostname\npwd' >/oldboy/alex.sh
[root@alice-01 oldboy]# chown oldboy.oldboy /oldboy/alex.sh
[root@alice-01 oldboy]# ll alex.sh
-rw-r--r--. 1 oldboy oldboy 13 Nov  6 20:00 alex.sh
 
        root 用户下面修改,oldboy 下面看
        
[root@alice-01 oldboy]# chmod u=r alex.sh
[root@alice-01 oldboy]# ls -l alex.sh
-r--r--r--. 1 root root 13 Nov  6 20:00 alex.sh
 
        oldboy用户下来验证这个权限 
          [oldboy@alice-01 oldboy]$ echo "ls -ld /root" >>alex.sh
bash: alex.sh: Permission denied
[oldboy@alice-01 oldboy]$ alex.sh
bash: alex.sh: command not found
 
 
        root用户下面修改 w 的权限,可以写入文件,但是不能查看文件
           [root@alice-01 oldboy]# chmod u=w alex.sh
[root@alice-01 oldboy]# ll alex.sh
--w-r--r--. 1 oldboy oldboy 13 Nov  6 20:00 alex.sh
bash: alex.ah: Permission denied
[oldboy@alice-01 oldboy]$ echo 'w' >>alex.sh
[oldboy@alice-01 oldboy]$ cat alex.sh
cat: alex.sh: Permission denied
 
    root 用户下修改x的权限,
[root@alice-01 oldboy]# chmod u=x alex.sh
[root@alice-01 oldboy]# ll alex.sh
            ---xr--r--. 1 oldboy oldboy 14 Nov  6 20:30 alex.sh
 
[root@alice-01 oldboy]# chmod u=rx alex.sh
[root@alice-01 oldboy]# ll alex.sh
-r-xr--r--. 1 oldboy oldboy 14 Nov  6 20:30 alex.sh
          [oldboy@alice-01 oldboy]$ /oldboy/alex.sh
           alice-01
        
[oldboy@alice-01 oldboy]$ ll /etc/shadow
            ----------. 1 root root 728 Nov  6 19:02 /etc/shadow
 
        root 对文件有默认读的权限
 

小结:

  1. r 读取文件内容
  1. w修改文件的内容,但是需要r的配合,没有r配合强制修改退出,会清空文件的内容。
       3. x权限执行,需要r权限的配合
 
 

10)目录的权限,读写执行

r  查看目录里面的内容 ls
w 可以在目录里面创建 删除 重命名文件
x 执行,可以进入到这个目录。切换 cd
 
环境:
mkdir -p /oldboy/alexdir
chown oldboy.oldboy /oldboy/alexdir
touch /oldboy/alexdir/luffy{01..5}.txt
 
[root@alice-01 oldboy]# ll -d alexdir/
drwxr-xr-x. 2 oldboy oldboy 4096 Nov  6 21:15 alexdir/
 
[root@alice-01 oldboy]# chmod u=r alexdir/
[root@alice-01 oldboy]# ll -d alexdir/
dr--r-xr-x. 2 oldboy oldboy 4096 Nov  6 21:15 alexdir/
 
[oldboy@alice-01 oldboy]$ ls -l alexdir/
ls: cannot access alexdir/luffy05.txt: Permission denied
ls: cannot access alexdir/luffy02.txt: Permission denied
ls: cannot access alexdir/luffy01.txt: Permission denied
ls: cannot access alexdir/luffy04.txt: Permission denied
ls: cannot access alexdir/luffy03.txt: Permission denied
total 0
-????????? ? ? ? ?            ? luffy01.txt
-????????? ? ? ? ?            ? luffy02.txt
-????????? ? ? ? ?            ? luffy03.txt
-????????? ? ? ? ?            ? luffy04.txt
-????????? ? ? ? ?            ? luffy05.txt
 
# 只修改x 权限
[root@alice-01 oldboy]# chmod u=w alexdir/
[root@alice-01 oldboy]# ll -d alexdir/
d-w-r-xr-x. 2 oldboy oldboy 4096 Nov  6 21:15 alexdir/
 
 

小结:

  1. 对于目录来说 r 表示查看目录里面内容的权限,ls, 会报错,需要x权限的配合(chmod u=rx alexdir/)
  2. 没有x权限,那么显示的时候文件的属性无法显示
  3. 对于目录来说,w表示 可以在目录中创建 删除文件 重命名文件权限
  4. w无法删除 创件文件,w需要x权限配合
          

总结:

      文件                                      目录
r   读取文件的内容                       查看目录的内容(需要x权限)
w  修改文件的内容(需要r)        在目录下创建,删除文件(需要x权限)
x   执行文件(需要r)                  进入到目录的权限(cd)
                  
 

11)网站整体权限规划

 
删除一个文件,与文件的权限没有关系
删除一个文件,要看你对这个文件所在的目录是否有wx权限
 
linux系统默认权限
对于文件来说,默认什么权限比较好? 644  rw-r--r--  
对于目录来说,默认什么权限比较好? 755 rwxr-xr-x
文件或目录的所有者 root root
网站比较安全的权限
网址程序存放在 /app/blog目录下面
0.网站需要被运行起来,通过一个傀儡用户运行起来的www 
1.blog目录下面
file  644 dir 755 root root
2.blog目录下面
/app/blog/ndd.jpg    
/app/blog/snow.jpg
/app/blog/img/ndd.jpg    
 
blog/img file644  dir755  www  www
 

小结:

1.网站是通过傀儡用户运行的www
2.网站用户上传目录, file644 dir755  www www
3.除了上传目录之外, file644 dir755 root root 
 

12)Linux系统默认权限之umask(/etc/profile)

 
根据umask计算出系统默认的权限
[root@alice-01 oldboy]# umask
0022
 
文件的最大的权限  666  
目录的最大的权限  777 
 
文件: 666   022    644
        666 - 022 = 644 根据umask计算文件的默认权限
目录: 777   022    755
        777 - 022 = 755 根据umask计算目录的默认权限
 
假设umask是032   666-032=634 777-032=745
[root@alice-01 oldboy]# umask 032
[root@alice-01 oldboy]# umask
0032
 
[root@alice-01 oldboy]# umask
0032
[root@alice-01 oldboy]# touch file032
[root@alice-01 oldboy]# mkdir dir032
[root@alice-01 oldboy]# ls
111.txt  a  abc123.txt  alexdir  alex.sh  a.txt  dir032  echo.txt  file032  oldboy.txt
[root@alice-01 oldboy]# ls -ld *032
drwxr--r-x. 2 root root 4096 Nov  7 20:47 dir032   (745)
-rw-r--r--. 1 root root    0 Nov  7 20:47 file032       (644)
 
为什么会差呢?
 

根据umask计算出系统默认的权限规则

1.对于目录  777直接减去umask
2.对于文件  666 减去umask的值,如果umask某一位上面是奇数,减完umask之后奇数需要 + 1
 

13)文件隐藏属性

文件系统的属性(文件属性)
chattr == change attribute
lsattr(查看隐藏的权限/属性)(ls attribute)
文件隐藏属性
 
a === append  只能追加信息
i === immutable 无敌的,不可修改的
 
[root@alice-01 oldboy]# lsattr oldboy.txt
-------------e- oldboy.txt
[root@alice-01 oldboy]# chattr +a oldboy.txt         -a          +i
[root@alice-01 oldboy]# lsattr oldboy.txt
-----a-------e- oldboy.txt
[root@alice-01 oldboy]# rm -rf oldboy.txt
rm: cannot remove `oldboy.txt': Operation not permitted
[root@alice-01 oldboy]# \rm -rf oldboy.txt
rm: cannot remove `oldboy.txt': Operation not permitted
[root@alice-01 oldboy]# mv oldboy.txt /tmp/
mv: cannot move `oldboy.txt' to `/tmp/oldboy.txt': Operation not permitted
 
[root@alice-01 oldboy]# chattr +i oldboy.txt
[root@alice-01 oldboy]# lsattr oldboy.txt
----i--------e- oldboy.txt
 
 

总结:

1.如果一个文件被追加上了 a属性,那么不能被删除,不能被移动,只能追加。
2.如果一个文件被追加上了i属性,那么不能被删除,不能被移动,不能追加。
 
 

14 ) linux特殊权限

   
suid setuid password
 
 
[root@alice-01 oldboy]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Nov 24  2015 /usr/bin/passwd
 
[root@alice-01 oldboy]# ll /bin/cat
-rwxr-xr-x. 1 root root 48568 Mar 23  2017 /bin/cat
[root@alice-01 oldboy]# chmod u+s /bin/cat  
[root@alice-01 oldboy]# ll /bin/cat
-rwsr-xr-x. 1 root root 48568 Mar 23  2017 /bin/cat
 
[oldboy@alice-01 root]$ ll /var/log/messages
-rw-------. 1 root root 206212 Nov  8 21:12 /var/log/messages
 
[root@alice-01 oldboy]# ll -d /tmp/
drwxrwxrwt. 3 root root 4096 Nov  8 20:34 /tmp/
[root@alice-01 oldboy]# stat /tmp/
  File: `/tmp/'
  Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d    Inode: 260098      Links: 3
Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-11-08 20:34:53.420356477 +0800
Modify: 2018-11-08 20:34:58.403356476 +0800
Change: 2018-11-08 20:34:58.403356476 +0800
[root@alice-01 oldboy]#
 
 

小结:

1.加了 + s后,其他用户就像root用户一样可以访问。
 
 

15 ) 权限总结

 
                            
 

总结:

1.正则总结
2.特殊符号总结
3.练习 取出ip地址,权限
4.使用三剑客进行过滤grep sed awk
5.修改时间,linux快捷键 vi/vim 快捷键
6.文件还有目录权限 rwx含义
7.网站权限-通过控制权限让网站安全
8.linux系统默认权限控制命令umask
9.文件系统属性(文件属性)
10.limux无法上网的排查,
11.无法远程连接服务器
12.安装和使用lrzsz htop
 
 
 
 
    
 
 
 
posted @ 2018-11-11 12:19  Alice的小屋  阅读(946)  评论(0编辑  收藏  举报