2019-07-12 17:53:04
在Linux系统中,用户组分为主组和附属组两种。一个用户有且只有一个主组,可以有多个附属组;一个组可以作为多个用户的主组,可以作为多个用户的附属组;个人认为,附属组存在的意义在于使一个用户除了拥有主组的权限外,还可以拥有其他所在的附属组的权限。
新建或修改用户时使用 -g 指定用户主组,不指定时,会默认创建一个与用户同名的主组,在/etc/passwd主显示的组ID是用户的主组ID。
新建或修改用户时使用 -G 指定用户附属组,在/etc/group中显示的用户是该组作为附属组时组内的成员
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新
文件结构:组名:密码占位符:组ID:(该组作为用户附属组时的)组成员 如:demogroup:x:1001:Jonh,Sara
[root@hadoop1 ~]# cat /etc/group demogroup:x:1001:Jonh,Sara Jonh:x:1004: Sara:x:1005:
文件结构:用户名:密码占位符:用户ID:主组ID:注释:主目录:解释器shell 如:demo:x:1002:1001::/data/demo:/bin/bash
[root@hadoop1 demo]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin demo:x:1002:1001::/data/demo:/bin/bash ng:x:1003:1001::/data/ng:/bin/bash Jonh:x:1004:1004::/data/jonh:/bin/bash Sara:x:1005:1005::/data/sara:/bin/bash
zk:!!:18479:0:99999:7:::
#用户名:密码:上次改口令时间:最小改口令间隔:最大改口令间隔:口令到期前几天预警:口令到期后几天禁用:口令到期日期 zk:!!:18479:0:99999:7:::
-g, --gid GID use GID for the new group 指定组id新增
[root@hadoop1 ~]# groupadd -g 1001 demogrp [root@hadoop1 ~]# cat /etc/group |grep demogrp demogrp:x:1001:
-g, --gid GID change the group ID to GID 修改组id
[root@hadoop1 ~]# groupmod -g 1002 demogrp [root@hadoop1 ~]# cat /etc/group |grep demogrp demogrp:x:1002:
-n, --new-name NEW_GROUP change the name to NEW_GROUP 修改组名
[root@hadoop1 ~]# groupmod -n demogroup demogrp [root@hadoop1 ~]# cat /etc/group |grep demo demogroup:x:1002:
[root@hadoop1 ~]# groupdel demogroup [root@hadoop1 ~]# cat /etc/group |grep demogroup
新增用户当不指定时,默认用户ID为1000以后递增(centos7),自动创建同名的主组,/home下创建同名主目录,解释器shell为/bin/bash
-u, --uid UID 指定用户id
-g, --gid GROUP 指定用户主组
-G, --groups GROUPS 指定用户附属组
-d, --home HOME_DIR 指定用户主目录
[root@hadoop1 /]# useradd -u 1002 -g demogroup -G demogroup -d /data/demo demo [root@hadoop1 /]# cat /etc/passwd |grep demo demo:x:1002:1001::/data/demo:/bin/bash
[root@hadoop1 etc]# echo 'demo#1' | passwd --stdin demo Changing password for user demo. passwd: all authentication tokens updated successfully. #修改用户密码 [root@hadoop1 etc]# echo 'demo:demo#1' | chpasswd
-l, --login NEW_LOGIN 修改用户名
-u, --uid UID 修改用户id
[root@hadoop1 /]# usermod -l newdemo demo [root@hadoop1 /]# cat /etc/passwd |grep demo newdemo:x:1002:1001::/data/demo:/bin/bash
删除用户不指定时,默认不删除用户主目录
-r, --remove 同时删除用户主目录和邮件池
[root@hadoop1 /]# userdel demo [root@hadoop1 /]# ls /data demo newdemo [root@hadoop1 /]# userdel -r newdemo [root@hadoop1 /]# ls /data demo [root@hadoop1 /]#
-, -l, --login 同时切换用户及工作环境(HOME, SHELL, USER, LOGNAME and PATH)
[root@hadoop1 etc]# su demo [demo@hadoop1 etc]$ exit exit [root@hadoop1 etc]# su - demo [demo@hadoop1 ~]$
sudo权限是指可以让普通用户具有部分或全部的超级管理员权限
visudo指令修改/etc/sudoers文件,在wheel行下添加需要赋权的用户,设置为免密执行sudo指令
[root@hadoop1 etc]# visudo ## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL demo ALL=(ALL) NOPASSWD: ALL