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 完成目的

原文地址:https://www.cnblogs.com/lyh421/p/7206050.html