博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【linux用户模块】用户/用户组的管理
阅读量:2156 次
发布时间:2019-05-01

本文共 6348 字,大约阅读时间需要 21 分钟。

大数据集群的用户管理是基于linux的用户权限的,linux的用户管理是直接复用到hdfs上面,所以想要搞清楚hdfs上面用户的管理,要先了解一下linux的用户管理,特别是用户在不同组的权限会不同的问题。

新增一个组

语法:groupadd [-g GID] groupname

1、[-g GID] 是用来自定义gid, 如果不自定义可以省略,会按照系统默认的gid创建组,跟用户一样,gid也是从500开始的。
2、创建组的时候,使用已存在的gid,组名都会报【已存在】错误

[root@cdh01 ~]# groupadd pgx02[root@cdh01 ~]# tail -n5 /etc/grouppgx:x:1001:supergroup:x:1002:pgxpgx01:x:1003:pgx001:x:1004:pgx02:x:1005:[root@cdh01 ~]#[root@cdh01 ~]# groupadd -g 1005 pgx02groupadd:“pgx02”组已存在[root@cdh01 ~]#[root@cdh01 ~]# groupadd -g 1005 pgx03groupadd:GID “1005”已经存在[root@cdh01 ~]#[root@cdh01 ~]# groupadd -g 1006 pgx03[root@cdh01 ~]# tail -n5 /etc/groupsupergroup:x:1002:pgxpgx01:x:1003:pgx001:x:1004:pgx02:x:1005:pgx03:x:1006:[root@cdh01 ~]#
删除一个组

语法: groupdel groupname

1、组里面有用户的时候不能删除这个组,要先删除这个用户或者将用户从这个组移除

[root@cdh01 ~]# tail -n5 /etc/groupsupergroup:x:1002:pgxpgx01:x:1003:pgx001:x:1004:pgx02:x:1005:pgx03:x:1006:[root@cdh01 ~]# groupdel pgx03[root@cdh01 ~]# tail -n5 /etc/grouppgx:x:1001:supergroup:x:1002:pgxpgx01:x:1003:pgx001:x:1004:pgx02:x:1005:[root@cdh01 ~]# # 删除用户后再删除组[root@cdh01 ~]# groupdel pgx02groupdel:不能移除用户“pgx_user_002”的主组[root@cdh01 ~]# userdel pgx_user_002[root@cdh01 ~]# groupdel pgx02[root@cdh01 ~]# tail -n5 /etc/groupspark:x:977:yarnpgx:x:1001:supergroup:x:1002:pgxpgx01:x:1003:pgx001:x:1004:# 修改用户的用户组后,删除用户组[root@cdh01 ~]# useradd -g pgx001 pgx_user_001[root@cdh01 ~]# groupdel pgx001groupdel:不能移除用户“pgx_user_001”的主组[root@cdh01 ~]# tail -n3 /etc/passwdpgx:x:1001:1001::/home/pgx:/bin/bashpgx01:x:1002:1003::/home/pgx01:/bin/bashpgx_user_001:x:1003:1004::/home/pgx_user_001:/bin/bash[root@cdh01 ~]# usermod -g pgx01 pgx_user_001[root@cdh01 ~]# tail -n3 /etc/passwdpgx:x:1001:1001::/home/pgx:/bin/bashpgx01:x:1002:1003::/home/pgx01:/bin/bashpgx_user_001:x:1003:1003::/home/pgx_user_001:/bin/bash[root@cdh01 ~]# groupdel pgx001[root@cdh01 ~]# tail -n5 /etc/groupimpala:x:978:spark:x:977:yarnpgx:x:1001:supergroup:x:1002:pgxpgx01:x:1003:
新增一个用户

语法:useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]

-u: 自定义UID
-g: 使其属于已经存在的某个组,后面可以跟组id, 也可以跟组名
-d: 自定义用户的家目录
-M: 不建立家目录
-s: 自定义shell

# -u 自定义uid# 不加-g的情况下,则会创建一个跟用户名同样名字的组。[root@cdh01 ~]# useradd -u 1008 user_pgx_001[root@cdh01 ~]# tail -n5 /etc/passwduser_pgx_01:x:1004:1004::/home/user_pgx_01:/bin/bashuser_pgx_02:x:1005:1003::/home/user_pgx_02:/bin/bashuser_pgx_03:x:1006:1003::/home/user_pgx_03:/bin/bashuser_pgx_04:x:1007:1003::/home/user_pgx_04:/bin/bashuser_pgx_001:x:1008:1008::/home/user_pgx_001:/bin/bash[root@cdh01 ~]# tail -n5 /etc/grouppgx:x:1001:supergroup:x:1002:pgxpgx01:x:1003:user_pgx_01:x:1004:user_pgx_001:x:1008:# -M 是不建立家目录,但可以看到在passwd下面还能看到这个主目录路径,不过实际上是没有创建的[root@cdh01 ~]# useradd -u 1009 -M  user_pgx_002[root@cdh01 ~]# tail -n3 /etc/passwduser_pgx_04:x:1007:1003::/home/user_pgx_04:/bin/bashuser_pgx_001:x:1008:1008::/home/user_pgx_001:/bin/bashuser_pgx_002:x:1009:1009::/home/user_pgx_002:/bin/bash[root@cdh01 ~]# [root@cdh01 ~]# ll /home/user_pgx_002ls: 无法访问/home/user_pgx_002: 没有那个文件或目录# -s 自定义shell# 不加的时候默认是/bin/bash# 如果不想让这个用户登录,可以使用-s /sbin/nologin[root@cdh01 ~]# useradd -u 1010 -M -s /sbin/nologin user_pgx_003[root@cdh01 ~]# tail -n3 /etc/passwduser_pgx_001:x:1008:1008::/home/user_pgx_001:/bin/bashuser_pgx_002:x:1009:1009::/home/user_pgx_002:/bin/bashuser_pgx_003:x:1010:1010::/home/user_pgx_003:/sbin/nologin[root@cdh01 ~]# su user_pgx_003This account is currently not available.[root@cdh01 ~]# # 使用-g的时候,指定的组必须已存在,否则报错[root@cdh01 ~]# useradd -g group_not_exist user_pgx_02useradd:“group_not_exist”组不存在# -g: 使用户属于已经存在的某个组,后面可以跟组id, 也可以跟组名[root@cdh01 ~]# tail -n5 /etc/groupspark:x:977:yarnpgx:x:1001:supergroup:x:1002:pgxpgx01:x:1003:user_pgx_01:x:1004:[root@cdh01 ~]# useradd -g pgx01  user_pgx_03[root@cdh01 ~]# useradd -g 1003  user_pgx_04[root@cdh01 ~]# tail -n3 /etc/passwduser_pgx_02:x:1005:1003::/home/user_pgx_02:/bin/bashuser_pgx_03:x:1006:1003::/home/user_pgx_03:/bin/bashuser_pgx_04:x:1007:1003::/home/user_pgx_04:/bin/bash[root@cdh01 ~]#
删除一个用户

语法 : userdel [-r] username

-r: 删除账户的时候连带账户的主目录一起删除

# 删除时 带上 -r 则会将账号对于的主目录删除[root@cdh01 ~]# tail -n5 /etc/passwduser_pgx_03:x:1006:1003::/home/user_pgx_03:/bin/bashuser_pgx_04:x:1007:1003::/home/user_pgx_04:/bin/bashuser_pgx_001:x:1008:1008::/home/user_pgx_001:/bin/bashuser_pgx_002:x:1009:1009::/home/user_pgx_002:/bin/bashuser_pgx_003:x:1010:1010::/home/user_pgx_003:/sbin/nologin[root@cdh01 ~]# [root@cdh01 ~]# ll /home/user_pgx_03总用量 0[root@cdh01 ~]# userdel -r user_pgx_03[root@cdh01 ~]# ll /home/user_pgx_03ls: 无法访问/home/user_pgx_03: 没有那个文件或目录# 不使用 -r 账号对于的主目录不会被删除[root@cdh01 ~]# tail -n5 /etc/passwduser_pgx_02:x:1005:1003::/home/user_pgx_02:/bin/bashuser_pgx_04:x:1007:1003::/home/user_pgx_04:/bin/bashuser_pgx_001:x:1008:1008::/home/user_pgx_001:/bin/bashuser_pgx_002:x:1009:1009::/home/user_pgx_002:/bin/bashuser_pgx_003:x:1010:1010::/home/user_pgx_003:/sbin/nologin[root@cdh01 ~]# ll /home/user_pgx_02总用量 0[root@cdh01 ~]# userdel user_pgx_02[root@cdh01 ~]# ll /home/user_pgx_02总用量 0[root@cdh01 ~]#
更新用户

语法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]

-c: 修改用户帐号的备注文字。
-d: 修改用户登入时的目录。
-e: 修改帐号的有效期限。
-f: 修改在密码过期后多少天即关闭该帐号。
-g: 强制使用 GROUP 为新主组。 后面跟gid或者groupname都可以
-G: 修改用户所属的附加群组。
-a: 将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户
-l: 修改用户帐号名称。
-L: 锁定用户密码,使密码无效。
-s: 修改用户登入后所使用的shell。
-u: 修改用户ID。
-U: 解除密码锁定

# 使用-g修改用户所属的组, -g后面跟gid和groupname都可以[root@cdh01 ~]# tail -n3 /etc/groupg_pgx_001:x:1011:u_pgx_002g_pgx_002:x:1012:g_pgx_003:x:1013:[root@cdh01 ~]# tail -n3 /etc/passwdu_pgx_001:x:1011:1011::/home/u_pgx_001:/bin/bashu_pgx_002:x:1012:1011::/home/u_pgx_002:/bin/bashu_pgx_003:x:1013:1011::/home/u_pgx_003:/bin/bash[root@cdh01 ~]# usermod -g g_pgx_002 u_pgx_002[root@cdh01 ~]# tail -n3 /etc/passwdu_pgx_001:x:1011:1011::/home/u_pgx_001:/bin/bashu_pgx_002:x:1012:1012::/home/u_pgx_002:/bin/bashu_pgx_003:x:1013:1011::/home/u_pgx_003:/bin/bash[root@cdh01 ~]## -G 的作用是附加群组,主要配合-a使用,将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户# 每个用户有自己的一个主组,如果想要将这个用户添加到别的组,拥有那个组的权限,就要使用-a -G的方式添加[root@cdh01 ~]# groups u_pgx_002u_pgx_002 : g_pgx_002[root@cdh01 ~]# usermod -a -G g_pgx_001 u_pgx_002[root@cdh01 ~]# groups u_pgx_002u_pgx_002 : g_pgx_002 g_pgx_001[root@cdh01 ~]# usermod -a -G g_pgx_003 u_pgx_002[root@cdh01 ~]# groups u_pgx_002u_pgx_002 : g_pgx_002 g_pgx_001 g_pgx_003[root@cdh01 ~]#
修改用户密码

语法:passwd [username]

1、只有root可以修改其他账户的密码
2、passwd 后面不跟用户名的情况下,默认修改本账号的密码

参考学习:

转载地址:http://dulwb.baihongyu.com/

你可能感兴趣的文章
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
查看>>
Java集合详解2:一文读懂Queue和LinkedList
查看>>
Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
查看>>
Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
查看>>
Java集合详解5:深入理解LinkedHashMap和LRU缓存
查看>>
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
查看>>
Java集合详解8:Java集合类细节精讲,细节决定成败
查看>>
Java并发指南1:并发基础与Java多线程
查看>>
Java并发指南2:深入理解Java内存模型JMM
查看>>
Java并发指南3:并发三大问题与volatile关键字,CAS操作
查看>>
Java并发指南4:Java中的锁 Lock和synchronized
查看>>
Java并发指南5:JMM中的final关键字解析
查看>>
Java并发指南6:Java内存模型JMM总结
查看>>
Java并发指南7:JUC的核心类AQS详解
查看>>
Java并发指南8:AQS中的公平锁与非公平锁,Condtion
查看>>
Java网络编程和NIO详解6:Linux epoll实现原理详解
查看>>
Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
查看>>
Java网络编程与NIO详解8:浅析mmap和Direct Buffer
查看>>