第二章 Linux权限—Hadoop

一、用户及用户组管理命令
用户数据信息保存在 /etc/passwd 文件中
0标识root用户
普通用户UID和GID通常从500开始

用户组信息保存在 /etc/group 文件中

命令名称:useradd
    语法:useradd [用户名]
    功能:增加新的用户  

命令名称: passwd
    语法:passwd [用户名]
    功能:修改用户密码

切换用户: su [用户名]

退出当前用户登录:exit

命令名称:userdel
    语法:userdel [用户名]
    功能:删除用户
    选项:-r
    -r:删除用户的同时删除其家目录时使用
    示例:userdel -r jack

注意:只有root用户拥有创建及删除用户的权限,只有root或者普通用户本身拥有更改密码的权限

用户组:
命令名称:groupadd
语法:groupadd [组名]
功能:增加用户组

命令名称:groupdel
    语法:groupdel [组名]
    功能:删除组

命令名称:gpasswd
    语法:gpasswd -a [用户名] [组名]
    功能:将某个用户添加到某个组  
    选项:-a -d
    -a:添加
    -d:删除  
    示例:gpasswd -a kgc student
          --》将kgc用户添加到 student用户组

二、Linux权限管理命令
第一种方法:通过权限字符来修改:用于对权限需要严格控制的文件或目录
(1)用户表示:所属者(u)、所属组用户(g)
其他用户(o)、所有用户(a)
(2)权限表示:读(r)、写(w)、执行(x)
(3)操作实例
去除所有者读的权限:chmod u-r yuntu
同组者增加写的权限:chmod g+w yuntu
所有人都可执行权限:chmod u+x,g+x,o+x yuntu
简写:chmod a+x yuntu
--》-R 迭代更改,在修改上层目录时,目录内的所有文件及目录都跟着更改
chmod -R o-rx rh/

第二种方法:通过数字来修改:一般用于对于权限要求不是太严格的
    (1)用户表示:三位二进制
    (2)权限表示:读(4)、写(2)、执行(1)
    (3)操作实例
        所有者:可读可写可执行 4+2+1=7
        同组者:可读可写    4+2+0=6
        其他用户:可读 4+0+0=4
               语法: chmod 764 yuntu

使用条件:
    只有root用户能改变一个文件的所有者
    只有root用户或者所有者能改变文件的组

通过chgrp命令改变组所有权
    chgrp [-R] group_name file 

通过chown命令改变用户所属者
    chown [-R] user_name:group_name file 
    示例:
        --》修改rh目录的所属者为kgc用户
        chown kgc rh/
        --》修改test.txt文件的所属者及所属组为kgc
        chown kgc:kgc test.txt
    -R:为迭代更改,修改目录时使用,可以将目录下的所有文件一同更改

三、vi/vim编辑器
vi是一个功能强大的全屏幕文本编辑器,是Linux上最常用的文本编辑器,作用是建立、编辑、显示文本文件。

三种模式:命令、插入、末行
1、命令模式
快速移动到最后一行 大写G
快速移动到第一行 小写gg
删除一行 小写dd
黏贴 小写p
撤销上一步的操作 小写u
复制 小写yy
复制n行 nyy(n为可带入数字)
删除n行 ndd
跳转到指定行 nG
通过小键盘的 ↑↓←→可以移动光标,另外可以通过以下字母来完成光标移动
k : 上
j : 下
h : 左
l : 右

2、插入模式
    光标位置退后一格插入: a / A
    光标当前位置插入:      i / I
    光标下新开始一行:      o / O
    退出插入模式按 Esc

3、最后行模式(末行模式)
    进入末行模式:必须从命令模式进入,输入Shift+:

    显示行号: set nu
    向下搜索: /[搜索内容]
    向上搜索: ?[搜索内容]
    保存: w
    退出: q
    保存并退出:wq
    强制退出: q!

    替换: 1,$s/nologin/666/g
            1 23    4     5  6
            1:开始行
            2:结束行  $ 最后一行
            3:替换
            4: 替换前的内容
            5:替换后的内容
            6:通行

重启命令:
init 6
shutdown -r now
reboot

关机命令:
init 0
shutdown -h now

四、赋予越权命令
当普通用户需要特殊的高级命令权限时,可以使用root用户给普通用户赋予相应权限

如:给普通用户赋予重启权限

1.   visudo

2.找到相应位置
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL

--》在其下方插入相应的越权命令
    kgc     ALL=(root)/sbin/shutdown -r now
    kgc     ALL=(root)/sbin/shutdown -h now

3.普通用户使用
    sudo -l 查看用户可执行的越权命令有哪些

    sudo [命令]       执行越权命令

练习:给一个普通用户赋予可执行任何命令的权限
    kgc     ALL=(root)  ALL
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容