您的位置:首页 > 运维架构 > Linux

Linux 下用户、组讲解及添加

2017-03-15 01:34 106 查看

    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)若删除的组是其他用户的主组,你会发下会报错,不能删除

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

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

~~后续会给大家带来关于权限方面的讲解,大家随时关注哦!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: