淘先锋技术网

首页 1 2 3 4 5 6 7

Linux用户权限管理命令

Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号(用户名)。

文件的用户与用户组分为超级管理员,普通用户和系统用户。

1)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UID\GID都为0时,那么这个用户系统就认为是超级管理员。

2)普通用户(管理员添加的),默认它的UID\GID是从500-65535,权限很小,只能操作自己的家目录中文件及子目录(注:nobody它的UID\GID是65534)。

3)系统用户,也称虚拟用户,也就是安装系统时就默认存在的且不可登陆系统,它们的UID\GID是1-499。

我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:

创建用户

useradd user1 创建用户user1

useradd -e 12/30/2021 user2 创建用户user2,有效期到2021-12-30

设置用户密码

passwd user1 设置密码,有设置密码的用户不能用

这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题

这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的password requisite

和password sufficient两行注释掉,如下图:

创建用户组

groupadd –g 888 users 创建一个组users,其GID为888

groupadd users 不用g参数,使用默认的组ID

命令 gpasswd为组添加用户

只有root和组管理员能够改变组的成员:

gpasswd –a user1 users 把 user1加入users组

gpasswd –d user1 users 把 user1退出users组

命令groupmod修改组

groupmod –n user2 user1 修改组名user1为user2

groupdel删除组

groupdel users 删除组users

真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。

linux修改用户属组命令

Linux修改用户所属组

1、设置某个用户所在组

usermod -g 用户组 用户名

注:-g|--gid,修改用户的gid,该组一定存在

2、把用户添加进入某个组(s)

usermod -a -G 用户组 用户名

注:

-a|--append,把用户追加到某些组中,仅与-G选项一起使用

-G|--groups,把用户追加到某些组中,仅与-a选项一起使用

内容扩展

用户管理命令

useradd 注:添加用户

adduser 注:添加用户

passwd 注:为用户设置密码

usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;

pwcov 注:同步用户从/etc/passwd 到/etc/shadow

pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;

pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;

finger 注:查看用户信息工具

id 注:查看用户的UID、GID及所归属的用户组

chfn 注:更改用户信息工具

su 注:用户切换工具

sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;

visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;

sudoedit 注:和sudo 功能差不多;

linux一条命令能创建多个用户组吗?

linux一条命令不能创建多个用户组。Linux中创建用户组的命令是groupadd,这个命令只能创建一个用户组。

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

1、增加一个新的用户组使用groupadd命令。其格式如下:

代码:

groupadd选项用户组

可以使用的选项有:

代码:

-gGID指定新用户组的组标识号(GID)。

-o一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

例1:代码:#groupaddgroup1

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有最大组标识号基础上加1。

例2:代码:#groupadd-g101group2

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

2、如果要删除一个已有的用户组,使用groupdel命令。其格式如下:

代码:

groupdel用户组

例如:代码:#groupdelgroup1

此命令从系统中删除组group1。

3、修改用户组的属性使用groupmod命令。其语法如下:

代码:

groupmod选项用户组

常用的选项有:

代码:

-gGID为用户组指定新的组标识号。

-o与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。

-n新用户组将用户组的名字改为新名字

例1:代码:#groupmod-g102group2

此命令将组group2的组标识号修改为102。

例2:代码:#groupmod_g10000-ngroup3group2

此命令将组group2的标识号改为10000,组名修改为group3。

4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:代码:$newgrproot

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

linux中如何新建一个用户组并设置它的gid为800

1)增加一个新用户

在Linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名meelo的用户。

sudo useradd meelo

但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录。

完成了这一操作后,你还应该使用passwd命令为其设置一个初始密码。输入该命令后,会系统会请求输入密码。

sudo passwd 用户名

2)删除一个用户

删除用户,只需使用一个简单的命令:

sudo userdel 用户名

不过最好将它留在系统上的文件也删除掉,你可以使用“userdel -r 用户名”来实现这一目的。

3)增加一个组

如下命令将创建一个名称为avatar的用户组:

sudo groupadd avatar

4)删除一个组

同样的,我们有时会需要删除一个组,它的命令就是groupdel。

LINUX中GID和UID分别是什么啊?

Linux系统中,每个用户的ID都有两种,即用户ID(User ID,简称UID)和组ID(Group

ID,简称GID),这与文件拥有者和拥有群组两种属性所对应。

文章开头也提到了,Linux系统并不认识我们的用户名和密码,那问题来了,文件是如何判别它的拥有者名称及群组名称的呢?

每个文件都有自己的拥有者ID和群组ID,在显示文件属性时,系统会根据/etc/passwd和/etc/group文件中的内容,分别找到UID和GID所对应的用户名和群组名,最终显示出来。

在/etc/passwd文件中,利用UID可以找到所对应的用户名,在/etc/group文件中,利用GID可以找到所对应的群组名。

可以做个小实验,在Linux操作系统中,常用的有两个账户,分别为root超级管理员账户和普通账户,我们可以先使用root账号登录并执行命令vim

/etc/passwd,在该文件中找到普通用户并将其UID随意改一个数字,这是你会发现,当你查看普通账户所拥有的文件时,你会发现所有文件的拥有者并不是普通用户,而是数字。

一般情况下,当登录Linux操作系统后,会先寻找/etc/passwd是否有输入账号,如果没有,则跳出,如果有,则读取对应的UID与GID,随后进入/etc/shadow核对密码,一切完成后,则进入shell管控。

由此可见,UID与GID在日常的账户管理中,发挥着非常重要的作用,因为一不小心就可能访问不了自己的文件,所以温馨提示大家,不要随便改动自己的/etc/passwd与/etc/group文件。

linux--13、用户身份UID和GID

root用户拥有极高的系统所有权,能够管理系统的各项功能,真正让root成为“超级用户”的原因是它的UID值。

每个用户都有对应的 唯一UID值 ,可以分成三类用户:

用户的UID保存在 /etc/passwd 文件中,而账户密码保存在 /etc/shadow 文件中。

例如,输入命令 $ cat /etc/passwd ,可以查看所有的用户信息,下面是三类用户的例子:

第一行为root超级用户,第二行为ftp系统用户,第三行为test普通用户。

每行用户信息都以 “:” 作为分隔符,划分为7个字段,每个字段所表示的含义如下:

用户名:密码:UID:GID:描述性信息:主目录:默认Shell

其中,默认shell为 /bin/bash 表示可以登录,为 /sbin/nologin 时表示不可以登录。

GID 是用户组的编号,可以将多个用户加入到某个组中,方便指派任务或工作。

每个用户在被创建时均会创建一个默认组(其GID与UID相同,叫作基本组或初始组),而后加入的组叫作扩展组或附加组。

用户组名和GID则保存在 /etc/group 文件中。

输入命令 $ cat /etc/group 可以查看所用用户组的信息,例如:

每行的用户组的信息都以 “:” 作为分割符,划分为4个字段,每个字段所表示的含义如下:

组名:密码:GID:该用户组中的用户列表

其中,组密码保存在 /etc/gshadow 文件中,用户组密码一般没用;组中的用户列表只包括附加用户,如果该组是某个用户的初始组,则这个用户不会出现在这个用户列表中。