陈银山 发表于 2018-5-20 15:14:02

Linux权限及权限管理

  权限管理
  r
  w
  x
  三类用户
  u属主
  g属组
  o其他用户
  

  改变三类用户的权限
  chown 改变文件属主(只有管理员可以使用此命令)
  #chown USERNAME file,....
  例#tail /etc/passwd (找一个用户)
  #ls /tmp -l      (看一下用户下的文件)
  #chown [用户名] /tmp/abc (改变属主)
  演示步骤:#cd /tmp(cd到tmp下)
  #touch abc (在tmp下建立文件abc)当前此文件的属主是root
  #ls -l /tmp/abc (查看abc的信息)
  #tail /etc/passwd(随便找一个用户)
  #chown user2 /tmp/abc(将abc的属主改变成了user2)
  #ls -l /tmp/abc (此时再查看一下abc信息)
  chown也可以改变目录属主
  演示步骤#cd /tmp
  #mkdir hi(在tmp下创建hi目录)
  #ls /tmp -l(查看tmp下信息)
  #chown user2 /tmp/hi(将hi的属主改变成user2)
  #ls /tmp -l(查看变更后信息)或者使用#ls -ld /tmp/hi(查看目录信息,不加d查看的是hi下的文件)
  chown -R 修改目录及其内部文件的属主
  演示步骤#cd /tmp/hi                (cd到hi目录下)
  #touch a b c d abc 123   (在hi目录下创建文件)
  #ls -l /tmp/hi            (查看创建的文件的信息)
  #chown -R user2 /tmp/hi      (改变hi目录及其目录下文件的属主)
  #ls -l /tmp/hi                (查看变更后信息)
  chown--reference=/path/to/somefile file,.....(引用参考|把后边的文件的属主设置的和前边文件的属主一样)
  演示步骤#cd /tmp
  #touch abc
  #chown--reference=/tmp/abcd /tmp/abc(将abc的属主改变为和abcd一样)
  #ls -l /tmp
  

  chgrp GRPNAME file,... 修改文件属组(用法和chown一样)只有管理员才有权限执行此命令
  演示步骤#groupadd yourgroup   (建立一个组,组名yourgroup)
  #cd /tmp
  #touch 456             (在tmp下建立一个文件456)
  #chgrp yourgourp /tmp/456 (将456属组改成yourgroup)
  #ls -l /tmp
  chgrp -R
  演示步骤#chgrp -R yourgroup /tmp/hi (将hi目录及hi下的文件的属组改变成yourgroup)
  #ls -l /tmp (查看hi的属组)
  #ls -l /tmp/hi(查看hi目录下文件的属组)
  chgrp--reference
  

  chown USENAME:GRPNAME file,....(同时改变属主和属组)
  步骤演示#chown root:root /tmp/abc(把tmp/abc同时改回属主root,属组root)=#chown root.root /tmp/abc
  #chown :root /tmp/abc(只改变abc的属组不改变属主)或者#chown root: /tmp/abc (只改变属主不改变属组)
  chown--reference
  

  chmod:修改文件的权限
  修改三类用户的权限
  chmod MODE file,...
  chmod -R (将目录中文件权限一并修改)
  chmod--reference=/path/to/somefile file,... (以某个文件权限为标准,其他文件权限修改成与其一样)
  演示步骤#chmod 750 /tmp/abc   (将权限转化为8进制)
  

  修改某类用户或某些类用户权限
  u,g,o,a,
  chmod 用户类别=MODE file,...
  步骤演示#chmod u=rwx /tmp/abc   (将abc属主的权限改为rwx)
  #chmod u=r,o=r /tmp/abc (将abc属主的权限改为r,其他用户的也改为r)#chmod ug=r /tmp/abc   (多类用户修改权限一样可以合并写)
  #chmod g=rx,o= /tmp/abc(将abc属主的权限改为rx,其他用户没有权限)
  

  

  修改某类的用户某位或者某些位权限
  用户类别u,g,o,a
  chmod
  步骤演示#chmod u-x /tmp/abc(将abc属主的执行权限去掉)
  #chmod u+x,g-x /tmp/abc (将abc属主的执行权限加上,将属组的执行权限去掉)
  #chmod a+x /tmp/abc    (将abc三类用户的执行权限加上,在三类用户都没有执行权限的前提下)a可以省略
  #chmod u-wx /tmp/abc   (将abc属主的wx权限去掉,同时操作多类权限)
  

  !!!!!!!!!!!!!练习
  1.新建一个没有家目录的用户openstack
  2.复制/etc/skel为/home/openstack
  3.改变/home/openstack及其内部文件的属主属组均为openstack
  4./home/openstack及其内部的文件,属组和其它用户没有任何访问权限
  

  

  #useradd -M openstack    (新建一个没有家目录的用户openstack)
  #finger openstack         (查看用户账号信息)
  #ls /home                   (查看家目录,没有家目录正确)
  #id openstack                (查看用户信息)
  #cp -r /etc/skel /home/openstack (复制/etc/skel为/home/openstack)
  #ls -l /home                     (查看家目录文件)
  #ls -l /home/openstack/-a          (查看用户隐藏文件信息)
  #chown -R openstack.openstack /home/openstack/      (改变/home/openstack及其内部文件的属主属组均为openstack)
  #ls -ld /home/openstack                      (查看目录信息)
  #ls -la /hoem/openstack                        (产看目录隐藏文件信息)
  #chmod -R go= /home/openstack               (/home/openstack及其内部的文件,属组和其它用户没有任何访问权限)
  #ls -ld /home/openstack
  #ls -la /home/openstack
  #su -openstack
  
页: [1]
查看完整版本: Linux权限及权限管理