zoukankan      html  css  js  c++  java
  • linux及hadoop修改权限

    linux下修改文件权限:

    在shell环境里输入:ls -l 或者 ls -lh

    drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份
    对应:
    文件属性 连接数 文件拥有者 所属群组 文件大小 文件修改时间 文件名

     

    例如:
      d   rwx   r-x  r-x 
    第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
    第二段是文件拥有者的属性
    第三段是文件所属群组的属性
    第四段是对于其它用户的属性


    这里r是可读,w可写,x 可执行,其中文件属性分为四段,---- --- --- 10个位置

    r: 对应数值4
    w: 对应数值2
    x:对应数值1
    -:对应数值0

    将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:

    111 101 100

    再将其每三位转换成为一个十进制数,就是754。

    修改权限:


      确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。


    chmod 命令
      功能:chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.
      语法:该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
      1. 文字设定法
      chmod [who] [+ | - | =] [mode] 文件名?
      参数:
      操作对象who可是下述字母中的任一个或者它们的组合:
      u 表示“用户(user)”,即文件或目录的所有者。
      g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
      o 表示“其他(others)用户”。
      a 表示“所有(all)用户”。它是系统默认值。
      操作符号可以是:
      + 添加某个权限。
      - 取消某个权限。
      = 赋予给定权限并取消其他所有权限(如果有的话)。

      设置mode所表示的权限可用下述字母的任意组合:
      r 可读。
      w 可写。
      x 可执行。
      X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
      s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用         户ID位,“g+s”设置组ID位。
      t 保存程序的文本到交换设备上。
      u 与文件属主拥有一样的权限。
      g 与和文件属主同组的用户拥有一样的权限。
      o 与其他用户拥有一样的权限。
      文件名:以空格分开的要改变权限的文件列表,支持通配符。
      在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example
      使同组和其他用户对文件example 有读权限。


    chgrp命令
      功能:改变文件或目录所属的组。
      语法:chgrp [选项] group filename?
      该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
      参数:
      - R 递归式地改变指定目录及其下的所有子目录和文件的属组。
      例1:$ chgrp - R book /opt/local /book
      改变/opt/local /book/及其子目录下的所有文件的属组为book。


    chown 命令
      功能:更改某个文件或目录的属主和属组。

      这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
      语法:chown [选项] 用户或组 文件
      说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
      参数:
      - R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
      - v 显示chown命令所做的工作。
      例1:把文件shiyan.c的所有者改为wang。
      $ chown wang shiyan.c
      例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。
      $ chown - R wang.users /his

     

     

    sudo addgroup hadoop#添加一个hadoop组

    sudo usermod -a -G hadoop larry#将当前用户加入到hadoop组

    sudo gedit etc/sudoers#将hadoop组加入到sudoer

    在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL

     

    修改hadoop目录的权限 sudo chown -R larry:hadoop /home/larry/hadoop<所有者:组 文件>

    sudo chmod -R 755 /home/larry/hadoop

     

    修改hdfs的权限 sudo bin/hadoop dfs -chmod -R 755 / sudo bin/hadoop dfs -ls /

     

    修改hdfs文件的所有者

    sudo bin/hadoop fs -chown -R larry /

    sudo bin/hadoop dfsadmin -safemode leave #解除hadoop的安全模式

    hadoop fs -copyFromLocal <localsrc> URI#拷贝本地文件到hdfs

    hadoop fs -cat file:///file3 /user/hadoop/file4#将路径指定文件的内容输出到stdout

    hadoop fs -chgrp [-R] GROUP URI#改变文件的所属组

    hadoop fs -chmod [-R] 755 URI#改变用户访问权限

    hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]#修改文件的所有者

    hadoop fs -copyToLocal URI localdst#拷贝hdfs文件到本地

    hadoop fs -cp URI [URI …] <dest>#拷贝hdfs文件到其它目录

    hadoop fs -du URI [URI …]#显示目录中所有文件的大小

    hadoop fs -getmerge <src> <localdst> [addnl]#合并文件到本地目录

     

  • 相关阅读:
    java基础之条件运算符
    java基础之x++与++x
    java基础之三种注释及API帮助文档的生成
    java基础之类型转换及常量的应用
    java基础之数据类型
    java基础之标识符
    生活小插曲(长篇连载,持续更新ing)^_^
    记录那个刚毕业,还不太富裕的那个人的生活
    记录两次小组会议总结
    这是大娃笔记里的一首散文诗
  • 原文地址:https://www.cnblogs.com/kxdblog/p/4034253.html
Copyright © 2011-2022 走看看