用户、用户组与文件权限

  8/25/2017  几天前在实验楼码过用户组相关的程序,今天写一篇blogs用于温习.

 


 

 

  用户与用户组的关系:每一个用户都属于一个用户组(若新建用户时不指定用户组的话,默认会自动创建一个与用户名相同的用户组),同用户组的用户之间共享资源、文件,但无法打开其他用户的私有资源以及权限。

 

  查看用户当前所属的用户组的办法:

   1. 利用groups命令,语法为 groups <user> ,举个例子(如图)

    

  2. 利用 cat /etc/group命令,同时利用 sort 命令使输出数据以字典排序,less命令使得文件数据可通过pgup、pgdown、q进行翻阅阅读以及退出,例子如下

    

    但是却发现相关文件数据太多了,因此选择文本查找命令grep,例子如下

    

    

  

  将用户添加入sudo用户组

   1.概念以操作方法

   

  

  2.实例,将bw98用户添加到sudo组,如图

  

 

  删除用户

  

  

  查看文件权限

  • Linux档案的基本权限就有九个,owner/group/others三种身份各有自己的read/write/execute权限
  • 档案的权限字符为 -rwxrwxrwx  这九个权限是三个三个一组的!
  • 利用 ls -l 命令,以长数据串形式显示文件,从第二位起的9位字符即为owner/group/others的权限

  

  修改文件权限

  通过 chmod 命令修改文件权限,主要有两种方法实现

    1. 数字型修改法,各个权限的数值对照为: r -> 4  w-> 2  x -> 1  ,假如当某文件权限为:[-rwxrwx---] 时,权限数值 owner = 7,group = 7, others = 0 ,则该文件权限数值为       770。于是我们设定权限的变更时,该档案的权限数字就是770。

      • 数字型更改文件权限,chmod的基本语法以及实例如下
        # chmod [-R] xyz 档案或目录
        # 选项与参数:
        xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
        -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更
        
        # 再举个例子,如果要将.bashrc这个档案的权限都设定启用,则下达:
        [root@www ~]# ls -al .bashrc
        -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
        [root@www ~]# chmod 777 .bashrc
        [root@www ~]# ls -al .bashrc
        -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
        
        #如果要将权限变为 -rwxr-xr-- 呢? 那么权限的分数就是754,代码实现如下
        # chmod 754 filename
        

          

    2.符号型修改法,我们用u、g、o代表uer、group、others这三个身份的权限,用a代表“all”即所有身份的权限,三种权限用r w x代表。

    •  图解如下:

       

    •  其基本语法和实例如下:
      # chmod [-R] u+X,go=X 档案或目录  
      其中+ = - 这三种符号可以任意选择使用,go代表group和others,可分开,X是权限,比如读写权限,就是rw
      
      #假如要设定一个文件的权限是[-rwxr-xr-x],那么代码实现如下:
      [root@www ~]# chmod u=rwx,go=rx .bashrc
          # 注意!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格符!
      [root@www ~]# ls -al .bashrc
      -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc
      
      #再举个例子,假如我知道原先文件的属性,现在要增加.bashrc档案的每个人均可写入的权限,那么代码实现如下:
      [root@www ~]# ls -al .bashrc
      -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc
      [root@www ~]# chmod a+w .bashrc
      [root@www ~]# ls -al .bashrc
      -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
      
      #如果要拿掉全部人的可执行权限,则:
      [root@www ~]# chmod a-x .bashrc
      [root@www ~]# ls -al .bashrc
      -rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc
      

        

  变更文件所有者

  1.使用chown命令,需要root权限,基本语法如下:

     sudo chown <user> FileName

    2.举例,如图,将用户lilei的文件iphone6变更为shiyanlou所属

    

 

  

继续了解权限问题,请参考博客:

linux 如何改变文件属性与权限

  

posted @ 2017-08-25 08:28  bw98  阅读(417)  评论(0编辑  收藏  举报