Linux 下用户、组讲解及添加

    Linux 下用户、组讲解及添加

    在Linux系统中,用户和组的相关权限是Linux系统管理的基本内容。只有在特定用户、组和相对应的权限下,Linux系统才能更好更安全的运行。

    针对这部分内容,我在培训学习时根据自己整理的笔记总结如下:

创建组和用户:

1.创建组

组的定义:是权限的集合

创建组的命令:groupadd

例如:

groupadd abc

在组创建成功后,用如下命令查看已创建的组:
tail -l /etc/group

指定组的id也就是gid:
groupadd -g 1001 abcde
gid建议指定500以上的,500以下的可能系统已经用了,如果没有指定gid,那么默认gid会是你创建的上一个组的gid顺延值
继续创建oinstall组和dba组,gid也按顺序指定(gid可以自己定义)
[root@vastedu home]# groupadd -g 1002 oinstall
[root@vastedu home]# groupadd -g 1003 dba
组创建好是没有任何权限的,给组添加权限会在后面介绍


2.创建用户

在组创建好之后再创建用户:

首先用tail命令查看/etc/passwd文件查看系统现有的一些用户,tail命令默认查看后10行。

[root@vastedu home]# tail -l /etc/passwd
abrt:x:173:173::/etc/abrt:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
test:x:1002:1002::/home/test:/bin/bash
test2:x:1003:1002::/home/test2:/bin/bash
test1:x:1008:1009::/home/test1:/bin/bash

test3:x:1100:2001::/home/test3:/bin/bash

id加用户:如id test3

此命令是查看用户test3的uid、gid等

[root@vastedu home]# id test3
uid=1100(test3) gid=2001(dbdeep) groups=2001(dbdeep),1002(oinstall),1003(dba)


下面添加用户:

其中需要注意,给用户自己手动分配的id不要与现有的用户uid重复,一般建议设置成500以后的

下面就具体添加一个用户,就以添加用户test4为例:

[root@vastedu home]# useradd -u 1200 -g oinstall test4

其中命令中定义的参数具体意义如下:

-u:指定uid

-g:指定gid,是指定主组,只能有一个主组
[root@vastedu home]# id test4
uid=1200(test4) gid=1002(oinstall) groups=1002(oinstall)
因有时环境不同,需要将一个用户加到不同的组里,其中一个为主组,其他为辅组。

具体追加辅组命令如下:

首先查看现有组:

[root@vastedu home]# tail -l /etc/group
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
oinstall:x:1002:test3
dba:x:1003:test,test3
abc:x:1009:
dbdeep:x:2001:
ddd:x:2002:
ddddd:x:2003:

接着根据用户管理内容不同,将用户加到不同的辅组里,命令如下:

给test1用户追歼辅助组:
usermod -aG dba test4
-aG 和 -a -G 一样
-a是追加,-G是辅组

[root@vastedu home]# id test4
uid=1200(test4) gid=1002(oinstall) groups=1002(oinstall),1003(dba)

通过id test4命令就可查看到用户test4已经属于主组oinstall辅组dba组了。

或者直接通过一条命令在创建用户的同时,将用户加到主组和辅组:

[root@vastedu home]# useradd -u 1012 -g oinstall -G dba test6
[root@vastedu home]# id test6
uid=1012(test6) gid=1002(oinstall) groups=1002(oinstall),1003(dba)

-G 后面跟的是要加的辅组,可以跟多个,需要用逗号隔开,-g后面的是主组

注意:在安装oracle RAC 时,两边gid和uid都得一样

3.组和用户的删除

注意:此操作一定要慎重,生产系统中建议不使用的用户进行锁定处理,不建议删除操作,但为了学习,需牢记这块内容,避免出错。

首先查看etc下的passwd文件和group确定所以得用户和组,确定好要删除的用户和组,一定要慎重!!!

[root@vastedu home]# cat /etc/passwd

pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
test:x:1002:1002::/home/test:/bin/bash
test3:x:1100:2001::/home/test3:/bin/bash
test7:x:1013:1002::/home/test7:/bin/bash

[root@vastedu home]# cat /etc/group

stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
oinstall:x:1002:test3
dba:x:1003:test,test3,test4,test5,test6,test7
abc:x:1009:test7
dbdeep:x:2001:
ddd:x:2002:

ddddd:x:2003:


以删除用户test7和组dba为例:

首先进行用户删除,执行命令如下:

[root@vastedu home]# userdel test7
[root@vastedu home]# id test7
id: test7: No such user

再进行删除组:
groupdel + 组名

[root@vastedu home]# id test3
uid=1100(test3) gid=2001(dbdeep) groups=2001(dbdeep),1002(oinstall),1003(dba)
[root@vastedu home]# groupdel dba
[root@vastedu home]# id test3
uid=1100(test3) gid=2001(dbdeep) groups=2001(dbdeep),1002(oinstall)
[root@vastedu home]# tail -l /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
oinstall:x:1002:test3
dbdeep:x:2001:
ddd:x:2002:
ddddd:x:2003:

[root@vastedu home]# groupdel dbdeep
groupdel: cannot remove the primary group of user 'test3'
[root@vastedu home]# 

通过执行删除命令你会发下,有以下两点需要注意:

1)若删除的组是辅助组,可以直接删除

2)若删除的组是其他用户的主组,你会发下会报错,不能删除

那么出现主组不能删除情况需要怎么解决呢?

首先你需要将该组作为主组的用户删除,然后才能删除该组,但任何情况下,除了自己测试机,不会进行盲目的删除操作,所以一定要注意。


~~后续会给大家带来关于权限方面的讲解,大家随时关注哦!!!

你可能感兴趣的:(操作系统)