• 2017.7.18 linux下用户、组和文件的操作


    参考来自:《鸟叔的linux私房菜(基础学习篇)-第14章》

    0 目的

    在linux下搭建ELK环境时,因为elasticsearch不能在root下操作,所以要为其新增一个用户,以及随之的一些操作。

    主要涉及:

    1 创建新用户组和新用户
    2 将新用户添加到新组
    3 创建用户主目录
    4 让新用户获得其主目录有文件的拥有权限
    5 设置新用户的密码

    1 etc/passwd、 etc/shadow、etc/group

    1.1 etc/passwd 文件

    etc/passwd 保存了账号信息,可以查看现在已经建立好了elkuser的账号。

    一行代表一个账号,字段依次为:账号名称,密码(全用x代替,实际存放在etc/shaow中),UID(0为系统管理员,1~499为系统账号,其他为普通账号),GID,用户信息说明,主文件夹(这里为elkuser),shell(默认使用bash)。

    1.2 etc/shadow文件

    etc/shadow里保存了密码和权限等信息。一行代表一个账号,一共9个字段,详细的就略过了。

    1.3 etc/group文件

    (1)文件内容

    etc/passwd 保存了群组信息,可以查看现在已经建立好了elkgroup的群组。

    一行代表一个账号,字段依次为:群组名称,密码(全用x代替,实际存放在etc/shaow中),GID(可以看到和前面passwd中elkuser的GID列数字相同),此用户组支持的账户(可以看到这里为空,后面有解释)

    (2)有效群组和初始群组

    a.存储在etc/passwd中GID列对应的群组,即为该账号的initial group初始群组,不需要写在etc/group文件中的第四列

    实际上,查询一下groups,可以知道elkuser是属于elkgroup的。

    b.如果将elkuser加入到另一个群组anothergroup中,那么必须要将elkuser加入到etc/group中对应的行中第四列,即非initial group,必须要显示写在etc/group文件里。

    c.现在elkuser同时属于:elkgroup、anothergroup。如果现在要新建一个文件或目录,那么这个新文件的组是elkgroup,还是anothergroup?

    输入命令groups,结果中的第一列即为effective group。这个新文件属于这个effective group

    d.切换effective group使用命令:

    1 newgrp anothergroup

    2 账号管理

    2.1 新增用户

    1 -u:指定userid
    2 -g:指定initial group,没有-g则默认创建和user同名的group
    3 -G:指定其他group
    4 -m:强制创建主文件夹,与user同名
    5 其他的-xxx命令略。

    2.2 设置密码

    使用useradd创建用户时,默认情况下,账户是被锁定的。因为密码没有设置。ps:这里提示的密码过短的错误可以无视。修改密码也可以用这个命令。

    不加后面的用户名lyhtest,表示修改当前用户的密码,所以一定要小心!

    2.3 修改用户

    1 -l:修改username
    2 -d:修改主目录
    3 -g:修改initial group
    4 -G:修改普通group

    修改了名字之后,同时要注意的是lyhtestuser的主目录并没有同步更改。

    2.4 删除用户

    1 -r:同时删除主目录

    3 用户组管理

    3.1 新增用户组

    1 -g:指定id
    2 -r:指定groupname

    3.2 修改用户组

    1 -g:修改groupid,最好不要改
    2 -n:修改groupname

    3.3 删除用户组

     

    但是删除elkgroup时报了错,因为elkuser还在,它的初始用户组elkgroup不能被删掉。

    3.4 用户组管理员

    如果系统管理员比较忙碌,那么可以为某一个用户组增加一个用户组管理员,这个用户组管理员就可以管理这个用户组的账号加入/移除。

     可以看到lyhtestuser已经成为了用户组管理员:

    转换到此用户登录,将用户lyhtestuser2加入/移除到用户组里。

    这里要注意的是:系统管理员root为用户组lyhtestgroup增加用户组管理员lyhtestuser时,用的是-A,而用户组管理员lyhtestuser为用户组lyhtestgroup增加用户lyhtestuser2时,用的是-a。另外,从用户组删除用户是-d。

    4 完成目的

  • 相关阅读:
    暑假集训Day14 I (莫队)
    暑假集训Day14 G (gcd 数学)
    暑假集训Day13 H (进制转换 数学)
    暑假集训Day13 C (二分+贪心)
    暑假集训Day13 I (区间DP)
    暑假集训Day12 H (数论 STL)
    Java8中list转map方法总结
    Typora ---一款简洁的Markdown编辑器
    java8 map flatmap
    Elasticsearch基本查询总结
  • 原文地址:https://www.cnblogs.com/lyh421/p/7206050.html
Copyright © 2020-2023  润新知