Linux教程

Linux总结--用户和组

本文主要是介绍Linux总结--用户和组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

2019-07-12 17:53:04

用户和组关系

在Linux系统中,用户组分为主组和附属组两种。一个用户有且只有一个主组,可以有多个附属组;一个组可以作为多个用户的主组,可以作为多个用户的附属组;个人认为,附属组存在的意义在于使一个用户除了拥有主组的权限外,还可以拥有其他所在的附属组的权限。

新建或修改用户时使用 -g 指定用户主组,不指定时,会默认创建一个与用户同名的主组,在/etc/passwd主显示的组ID是用户的主组ID。

新建或修改用户时使用 -G 指定用户附属组,在/etc/group中显示的用户是该组作为附属组时组内的成员

组文件:/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:

用户文件:/etc/passwd

文件结构:用户名:密码占位符:用户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

密码管理文件:/etc/shadow 如:zk:!!:18479:0:99999:7:::

#用户名:密码:上次改口令时间:最小改口令间隔:最大改口令间隔:口令到期前几天预警:口令到期后几天禁用:口令到期日期
zk:!!:18479:0:99999:7:::

组管理

新增组:groupadd [options] GROUP

-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:

修改组:groupmod [options] GROUP

-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:

删除组:groupdel [options] GROUP

[root@hadoop1 ~]# groupdel demogroup
[root@hadoop1 ~]# cat /etc/group |grep demogroup

用户管理

新增用户:useradd [options] LOGIN

新增用户当不指定时,默认用户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

设置用户密码:passwd LOGIN  或  echo 'PASSWD' | passwd --stdin LOGIN

[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

修改用户:usermod [options] LOGIN

-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

删除用户:userdel [options] LOGIN

删除用户不指定时,默认不删除用户主目录

-r, --remove  同时删除用户主目录和邮件池

[root@hadoop1 /]# userdel demo
[root@hadoop1 /]# ls /data
demo  newdemo
[root@hadoop1 /]# userdel -r newdemo
[root@hadoop1 /]# ls /data
demo
[root@hadoop1 /]#

切换用户:su [OPTION]... [-] [USER [ARG]...]

-, -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权限

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
这篇关于Linux总结--用户和组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!