美文网首页Linux小推车
Linux Day14:chgrp/chown/chmod

Linux Day14:chgrp/chown/chmod

作者: 泥人吴 | 来源:发表于2018-10-19 23:28 被阅读21次

    权限管理:

    复习:

     [ r ]代表可读(read)
     [ w ]代表可写(write)
     [ x ]代表可执行(execute)
    
    • 三类用户
    1. u:属主
    2. g:属组
    3. o:其它用户
    • 第一组为『档案拥有者的权限』,以『install.log』那个档案为例, 该档案的拥有者可以读写,但不可执行;
    • 第二组为『同群组的权限』;
    • 第三组为『其他非本群组的权限』。

    • 我们现在知道档案权限对于一个系统的安全重要怅了,也知道档案的权限对于使用者不群组的相关性,那么如何修改一个档案的属怅与权限呢?又!有多少档案的权限我们可以修改呢? 其实一个档案的属怅与权限有很多!我们先介绍几个常用于群组、拥有者、各种身份的权限的修改的挃令,如下所示:
       chgrp :改变档案所属群组
       chown :改变档案拥有者
       chmod :改变档案的权限, SUID, SGID, SBIT 等等的特性

    chown:改变文件属主(只有管理员可以使用此命令)

    SYNOPSIS
           chown [OPTION]... [OWNER][:[GROUP]] FILE...
           chown [OPTION]... --reference=RFILE FILE...
    
    root@VM-0-3-ubuntu:~# ls /tmp -l
    total 12
    -rw-rw-r-- 1 hadoop hadoop   0 Oct 21 23:12 a.hadoop
    -rw-r--r-- 1 root   root   140 Oct 21 12:30 net_affinity.log
    -rw-r--r-- 1 root   root    26 Oct 21 12:30 nv_gpu_conf.log
    -rw-r--r-- 1 root   root   191 Oct 21 12:30 setRps.log
    # 修改文件a.hadoop的属主为root
    root@VM-0-3-ubuntu:~# chown root /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# ls -l /tmp/a.hadoop
    -rw-rw-r-- 1 root hadoop 0 Oct 21 23:12 /tmp/a.hadoop
    
    # -R:修改目录及其内部文件的属性
    # 通常改变目录的属主,但是其中的文件属主并没有改变,可以-R进行修改
    
    # --reference=/path/to/somefile file ,...(属主,属组一起改的)
    ubuntu@VM-0-3-ubuntu:~$ ls -l /tmp
    total 12
    -rw-rw-r-- 1 root hadoop   0 Oct 21 23:12 a.hadoop
    -rw-r--r-- 1 root root   140 Oct 21 12:30 net_affinity.log
    -rw-r--r-- 1 root root    26 Oct 21 12:30 nv_gpu_conf.log
    -rw-r--r-- 1 root root   191 Oct 21 12:30 setRps.log
    root@VM-0-3-ubuntu:~# chown --reference=/tmp/a.hadoop /tmp/setRps.log
    root@VM-0-3-ubuntu:~# ls -l /tmp
    total 12
    -rw-rw-r-- 1 root hadoop   0 Oct 21 23:12 a.hadoop
    -rw-r--r-- 1 root root   140 Oct 21 12:30 net_affinity.log
    -rw-r--r-- 1 root root    26 Oct 21 12:30 nv_gpu_conf.log
    -rw-r--r-- 1 root hadoop 191 Oct 21 12:30 setRps.log
    
    # chown USRNAME(属主):GRPNAME(属组) file,...
    root@VM-0-3-ubuntu:~# chown hadoop.hadoop /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# chown hadoop:hadoop /tmp/a.hadoop
    root@VM-0-3-ubuntu:~#ls -l /tmp/a.hadoop
    -rw-rw-r-- 1 hadoop hadoop   0 Oct 21 23:12 a.hadoop
    `chown :GRPNAME file,...`(只改变属组)
    `chown USRNAME.GRPNAME file,...`(也是同时改变属主、属组,但是在不同的文件中有不同的用法)
    chown --reference=/tmp/abc  /tmp/test
    # 表示将/tmp/test的属主和属组改成和/tmp/abc/一样
    

    chgrp改变文件所属组

    -R:递归修改文件内的属组
    -- reference=path to /somefile

    # 表示修改a.hadoop的属组为root
    root@VM-0-3-ubuntu:~# ls -l /tmp/a.hadoop
    -rw-rw-r-- 1 root hadoop   0 Oct 21 23:12 a.hadoop
    root@VM-0-3-ubuntu:~# chgrp root /tmp/a.hadoop
    root@VM-0-3-ubuntu:~#ls -l /tmp/a.hadoop
    

    chomd;修改文件权限

    • 修改三类用户的权限
      chmod MODE file,...
      -R:
      --reference=
    • Linux 档案的基本权限就有九个,分别是 owner/group/others 三种身份各有自己的read/write/execute 权限, 先复习一下刚刚上面提到的数据:档案的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各
      权限的分数对照表如下:
    r:4
    w:2
    x:1
    
    • 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
    owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others= --- = 0+0+0 = 0
    
    root@VM-0-3-ubuntu:~# ls -l /tmp/a.hadoop
    -rw-rw-r-- 1 hadoop hadoop   0 Oct 21 23:12 a.hadoop
    
    # 修改文件a.hadoop的权限为750
    root@VM-0-3-ubuntu:~# chmod 750 /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# ls -l /tmp/a.hadoop
    -rwxr-x--- 1 hadoop hadoop   0 Oct 21 23:12 a.hadoop
    
    # 考虑chmod 75 /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# chmod 75 /tmp/a.hadoop
    root@VM-0-3-ubuntu:~#ls -l /tmp/a.hadoop
    ----rwxr-x 1 hadoop hadoop   0 Oct 21 23:12 a.hadoop
    
    • 还有一个改变权限的方法呦!仍以前的介绍中我们可以发现,基本上就九个权限分别是(1)user(2)group (3)others 三种身份啦!那举我们就可以藉由 u, g, o 来代表三种身份的权限!此外,a 则代表 all 亦即全部的身份!那举读写的权限就可以写成 r, w, x 啰!也就是可以使用底下的方式来看:


      鸟哥
    • 修改某类用户的权限:
    root@VM-0-3-ubuntu:~#ls -l /tmp/a.hadoop
    ----rwxr-x 1 hadoop hadoop   0 Oct 21 23:12 a.hadoop
    root@VM-0-3-ubuntu:~# chmod u=rwx /tmp/a.hadoop
    root@VM-0-3-ubuntu:~#ls -l /tmp/a.hadoop
    -rwxrwxr-x 1 hadoop hadoop   0 Oct 21 23:12 a.hadoop
    
    root@VM-0-3-ubuntu:~# chmod go=rx /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# ls -l /tmp/a.hadoop
    -rwxr-xr-x 1 hadoop hadoop 0 Oct 21 23:12 /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# chmod g=r,o=rx /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# ls -l /tmp/a.hadoop
    -rwxr--r-x 1 hadoop hadoop 0 Oct 21 23:12 /tmp/a.hadoop
    
    • 修改某类用户的某位或某些位权限
    root@VM-0-3-ubuntu:~# ls -l /tmp/a.hadoop
    -rwxr--r-x 1 hadoop hadoop 0 Oct 21 23:12 /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# chmod u-x,g+x /tmp/a.hadoop
    root@VM-0-3-ubuntu:~# ls -l /tmp/a.hadoop
    -rw-r-xr-x 1 hadoop hadoop 0 Oct 21 23:12 /tmp/a.hadoop
    

    练习:

    $ ls -l xyz
    -rw-rw-r-- 1 ywu ywu 0 Oct 11 13:23 xyz
    $ chmod u=rwx xyz
    $ ls -l xyz
    -rwxrw-r-- 1 ywu ywu 0 Oct 11 13:23 xyz
    $ chmod u=rx xyz
    $ ls -l xyz
    -r-xrw-r-- 1 ywu ywu 0 Oct 11 13:23 xyz
    $ chmod 664 xyz
    $ ls -l xyz
    -rw-rw-r-- 1 ywu ywu 0 Oct 11 13:23 xyz
    $ chmod g=rwx xyz
    $ ls -l xyz
    -rw-rwxr-- 1 ywu ywu 0 Oct 11 13:23 xyz
    $ chmod g=rwx,o=w xyz
    $ ls -l xyz
    -rw-rwx-w- 1 ywu ywu 0 Oct 11 13:23 xyz
    $ chmod -w xyz
    chmod: xyz: new permissions are r--r-x-w-, not r--r-x---
    # 这个没有明白?not r--r-x---
    
    捕获.PNG
    root@VM-0-3-ubuntu:~# useradd -M openstack
    root@VM-0-3-ubuntu:~# finger openstack
    Login: openstack                Name: 
    Directory: /home/openstack              Shell: /bin/sh
    Never logged in.
    No mail.
    No Plan.
    root@VM-0-3-ubuntu:~# ls /home
    jmz  ubuntu
    root@VM-0-3-ubuntu:~# id openstack
    uid=1006(openstack) gid=1006(openstack) groups=1006(openstack)
    root@VM-0-3-ubuntu:~# cp -r /etc/skel /home/openstack
    root@VM-0-3-ubuntu:~# ls -l /home
    total 12
    drwxr-xr-x 3 jmz    jmz    4096 Oct 22 23:14 jmz
    drwxr-xr-x 2 root   root   4096 Oct 23 21:08 openstack
    drwxr-xr-x 5 ubuntu ubuntu 4096 Oct 21 12:23 ubuntu
    root@VM-0-3-ubuntu:~# ls -l /home/openstack -a
    total 20
    drwxr-xr-x 2 root root 4096 Oct 23 21:08 .
    drwxr-xr-x 5 root root 4096 Oct 23 21:08 ..
    -rw-r--r-- 1 root root  220 Oct 23 21:08 .bash_logout
    -rw-r--r-- 1 root root 3771 Oct 23 21:08 .bashrc
    -rw-r--r-- 1 root root  655 Oct 23 21:08 .profile
    root@VM-0-3-ubuntu:~# chown -R openstack.openstack /home/openstack
    root@VM-0-3-ubuntu:~# ls -ld /home/openstack
    drwxr-xr-x 2 openstack openstack 4096 Oct 23 21:08 /home/openstack
    root@VM-0-3-ubuntu:~# ls -la /home/openstack
    total 20
    drwxr-xr-x 2 openstack openstack 4096 Oct 23 21:08 .
    drwxr-xr-x 5 root      root      4096 Oct 23 21:08 ..
    -rw-r--r-- 1 openstack openstack  220 Oct 23 21:08 .bash_logout
    -rw-r--r-- 1 openstack openstack 3771 Oct 23 21:08 .bashrc
    -rw-r--r-- 1 openstack openstack  655 Oct 23 21:08 .profile
    
    # 修改为组即其它用户不能访问/home/openstack/
    root@VM-0-3-ubuntu:~# chmod -R go= /home/openstack/
    root@VM-0-3-ubuntu:~# ls -la /home/openstack/
    total 20
    drwx------ 2 openstack openstack 4096 Oct 23 21:08 .
    drwxr-xr-x 5 root      root      4096 Oct 23 21:08 ..
    -rw------- 1 openstack openstack  220 Oct 23 21:08 .bash_logout
    -rw------- 1 openstack openstack 3771 Oct 23 21:08 .bashrc
    -rw------- 1 openstack openstack  655 Oct 23 21:08 .profile
    root@VM-0-3-ubuntu:~# su - openstack
    openstack@VM-0-3-ubuntu:~$ 
    
    • 手动添加用户hive,基本组为hive(5000),附加组为mygroup

    友情阅读推荐:

    生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
    请猛戳下面链接
    B站链接:https://m.bilibili.com/space/338686099

    YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists

    生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA

    学徒培养:https://mp.weixin.qq.com/s/3jw3_PgZXYd7FomxEMxFmw

    相关文章

      网友评论

        本文标题:Linux Day14:chgrp/chown/chmod

        本文链接:https://www.haomeiwen.com/subject/yskuzftx.html