linux下如何添加用户并给用户添加权限?

274 2024-02-18 16:35

一、linux下如何添加用户并给用户添加权限?

一、添加用户

添加账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

1、添加新的用户账号使用 useradd命令,其语法如下: 

代码:

useradd 选项 用户名

其中各选项含义如下:

代码:

-c comment 指定一段注释性描述。

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-g 用户组 指定用户所属的用户组。

-G 用户组,用户组 指定用户所属的附加组。

-s Shell文件 指定用户的登录Shell。

-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

用户名 指定新账号的登录名。

例1:

代码:

# useradd –d /usr/sam -m sam

此命令创建了一个用户sam,

其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

例2:

代码:

# useradd -s /bin/sh -g group –G adm,root gem

此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

这里可能新建组:#groupadd group及groupadd adm 

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。

二、分配权限

chown -R hadoop:hadoop /usr/hadoop/

让普通用户拥有root的权限

1.root登录

2.adduser 用户名

3.passwd 用户名

确定密码

4.修改/etc/passwd即可,把用户名的ID和ID组修改成0。

二、用户权限 php

用户权限 PHP教程

用户权限 PHP教程

用户权限是现代网站开发中必不可少的一个重要功能。它允许网站管理员对不同的用户账号赋予不同的权限,从而控制其在网站中所能执行的操作。本篇教程将介绍如何使用PHP来实现用户权限功能。

1. 数据库设计

在开始之前,我们首先需要设计一个数据库来存储用户信息和权限信息。我们可以创建两个表:用户表和权限表。

1.1 用户表

用户表用于存储用户的基本信息,包括用户名、密码等。

CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL );

1.2 权限表

权限表用于存储不同的权限信息,包括权限名称和描述。

    
      CREATE TABLE permissions (
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(255) NOT NULL,
        description TEXT
      );
    
    

2. 用户注册和登录

在实现用户权限之前,我们首先需要实现用户的注册和登录功能。我们可以创建两个PHP文件来处理用户的注册和登录请求。

2.1 注册

用户注册页面可以包含一个表单,用于用户输入用户名和密码。

    
      <form action="register.php" method="post">
        <input type="text" name="username" placeholder="用户名">
        <input type="password" name="password" placeholder="密码">
        <button type="submit">注册</button>
      </form>
    
    

在register.php文件中,我们可以通过使用PHP的mysqli扩展来将用户信息插入到数据库中。

2.2 登录

用户登录页面也可以包含一个表单,用于用户输入用户名和密码。

    
      <form action="login.php" method="post">
        <input type="text" name="username" placeholder="用户名">
        <input type="password" name="password" placeholder="密码">
        <button type="submit">登录</button>
      </form>
    
    

在login.php文件中,我们可以通过使用PHP的mysqli扩展来验证用户输入的用户名和密码是否正确。

3. 实现用户权限

当用户成功登录后,我们可以通过查询数据库来获取用户的权限信息,并将其保存到会话(session)中。在PHP中,可以使用$_SESSION变量来存储会话数据。

    
      session_start();

      // 验证用户名和密码

      // 查询用户权限
      $sql = "SELECT p.name 
              FROM users u 
              JOIN user_permissions up ON u.id = up.user_id 
              JOIN permissions p ON up.permission_id = p.id 
              WHERE u.username = ?";
      $stmt = $mysqli->prepare($sql);
      $stmt->bind_param("s", $username);
      $stmt->execute();
      $result = $stmt->get_result();
      $permissions = array();
      while ($row = $result->fetch_assoc()) {
        $permissions[] = $row['name'];
      }

      // 保存用户权限到会话
      $_SESSION['permissions'] = $permissions;
    
    

4. 使用用户权限

一旦用户的权限已保存到会话中,我们可以在页面中使用这些权限来控制用户所能执行的操作。以下是一个示例:

    
      <?php if (in_array('edit', $_SESSION['permissions'])) : ?>
        <a >编辑</a>
      <?php endif; ?>
    
    

在上面的示例中,只有具有"edit"权限的用户才会看到"编辑"链接。

总结

通过使用PHP,我们可以轻松地实现用户权限功能。首先,我们需要设计一个数据库来存储用户信息和权限信息。然后,我们可以使用PHP来实现用户的注册和登录功能。最后,通过查询数据库并将权限保存到会话中,我们可以使用这些权限来控制用户所能执行的操作。

三、后台管理权限系统设计:1、怎么满足用户随意添加的权限要求?随意扩展角色的权限或补充权限?

三个模块搭建后台用户角色权限管理系统

  • 用户角色权限系统说明
  • 用户角色权限系统建设的三大模块
  • 案例分析
  • Q&A

第一章:用户角色权限系统说明

1. RBAC权限设计模型

  • RBAC:

(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联,从而获得某些功能的使用权限。权限被赋予给角色,而不是用户,但是一个用户可以拥有若干个角色,当一个角色被赋予给某一个用户时,此用户就拥有了该角色所包含的功能权限。简单地说,一个用户拥有若干角色,每一个角色拥有若干功能权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

2. 三大模块搭建后台用户角色权限系统

如上所述,一个后台的用户角色权限系统总是可以大概划分为三个打的模块的:用户管理、角色管理、权限管理。用户管理往往随着行政部门划分或者随着业务线部门划分,对应部门或者小组内的用户有着基本相似的功能需求和权限等级;角色管理相对来讲更加固定,它往往是基于业务管理需求而预先在系统中设定好的角色标签,一般不会随意更改,更像是一个用户分组标签;权限管理内容相对更加庞杂和丰富,主要包含了目标、操作和许可权三个部分,当某一功能权限授权给用户时,也就相当于为该用户开通了可以操作某个目标功能的许可权。

角色权限系统属于策略设计的范畴,它的设计非常考验一个PM对业务的理解力以及对自己后台所有功能的熟悉程度。做角色权限系统之前一定要先深度了解业务流程以及后台的所有功能模块,在不了解的情况下,多向相关同事请教,避免角色权限系统设计过程中出差错和逻辑漏洞。

第二章:用户角色权限系统建设的三大模块

1. 用户管理

  • 用户管理中的用户主要是功能系统的使用者,这些用户是一个一个的员工个体,这些个体往往从两个维度来进行划分:行政关系(部门架构)、业务部门(业务架构)。用户管理就是在此两个维度来给员工个体进行关联性的初步分群或者分组。按照行政部门或者按照业务线部门划分后,对应部门或者小组内的用户有着基本相似的系统功能使用需求和权限等级;

2. 角色管理

  • 角色管理:

角色往往是基于业务管理需求而预先在系统中设定好的固定标签,每个角色对应明确的系统权限,其所拥有的系统权限一般不会随意更改,并且角色也不会随着用户的被添加和被移除而进行改变,相较于用户管理而言更加稳定;

  • 自动赋权:用户自动进入角色

如果角色与行政关系下的组织部门存在绑定关系,那么如果一个用户进入到该组织部门后,该用户会自动被加入到对应的角色中,并且拥有该角色所有的系统权限。如一个财务人员【小张】入职财务部后,那么该用户无需进行额外的授权即可在对应财务报表系统查看该部门员工可查看的财务数据报表和对应的操作权限(比如操作财务审批等);

  • 角色赋权:用户被添加进角色

业务是不断创新和发展的,随着业务的发展,会有越来越多的新的角色被设置和创建,比如公司新启动了一个企业团餐项目,项目部横向的从各个部门找了多个员工组建项目团队,并且该项目的业务权限也只是授权给这批员工可查看和操作,那么,在此项目中,会产生一个新的角色 “ 财务1 ”,系统高级管理员会把从财务部门选中的财务【小张】添加到“ 财务1 ”这个角色中,那么【小张】即可获得查看企业团餐项目业务数据报表和操作的权限。这种权限的授予无法通过用户行政关系的自动绑定来实现;

  • 角色继承:角色权限的继承

权限可以是独有的,也可以是继承的。每个角色都有自己的权限集,角色继承其实也就是继承父系角色的权限,一般角色在继承其父系角色的全部权限的基础上增加拥有一些自己的权限。而系统角色继承往往存在于用户分级管理比较明确的团队或者公司;

  • 角色互斥:角色包含的权限互斥

角色互斥的业务背景:当一个业务流程由于风控的原因,需要将其操作给划分成分开的几个步骤时,需要给这几个不同的步骤授权不同的角色,并且这些角色之间需要进行互斥。比如大额财务报销审批流程,财务人员【小张】拥有了审批人权限后,就无法将审核确认的权限再授予小张,以此来规避一个人完成大额报销而带来的财务风险;

  • 临时角色:

临时角色往往是针对特殊群体设置的,比如公司有特殊访问团队莅临,需要给这些特殊的客户一些临时身份来体验某些功能操作。那么把这些人添加到部门的组织架构中显然是不合适的,因为这些人只是临时的摆放者,不是企业员工;其次,这些客户需要体验的功能操作往往是横跨多个业务模块和产品线的(比较繁杂),一般公司并没有现成的固定角色符合拥有客户所需的全部操作权限,因此需要给这些客户开设临时角色,并且支持给临时角色最大的权限选择空间;

  • 黑白名单

3. 权限管理

  • 权限管理:

权限管理更多是从功能菜单、功能操作、数据参数三个不同颗粒度等级来考量的。具体颗粒度的大小视公司结构和团队规模而定,如果不是业务属性一定要求将权限控制到非常精细的级别,其实就没有必要将权限的颗粒度拆分到具体某一项操作或者某一个按钮,毕竟后台产品的核心是业务管理平台,主要目标是辅助业务的管理和推进。

  • 功能菜单权限:

对于后台产品来讲,针对功能菜单来划分用户权限其实是比较粗颗粒度的一种管理方式,这种模式下用户一旦获得授权即可使用该菜单栏下的全部数据查看权限和功能操作权限;

  • 功能操作权限:

功能操作层级的权限相对于功能菜单会更为深入,这种情况下,不同角色的用户可以进入同一菜单页后台查看相同的数据字段信息,但是他们可执行的功能操作不同;

  • 数据字段权限:

数据字段层面是较细颗粒度的拆分,他会实现不同角色用户在进入同一菜单页后台时,可见的数据字段都有差异。比如销售人员进入某销售业绩管理后台时,可以看到自己的业绩提升数据,但是财务人员看到的是业务工单的费用字段,这些字段共存在一个菜单页中,只是受限于不同的角色权限而已。

第三章:案例分析

1. 促销活动权限系统权限对接

  • 促销活动后台接入权限系统前:

在促销活动后台接入权限系统之前,几乎全部的系统权限都处于裸奔的状态,所有人业务线成员都可以查看该后台的运营活动内容和运营结果数据,并且可以执行相对敏感的操作。这种情况显然是存在一定的管理风险的,因此该后台系统需要对接权限管理系统进行系统化管理和风险控制;

  • 促销活动后台接入权限系统时:

促销活动在接入权限管理系统过程中,需要拆解该功能模块的权限元素(到一定颗粒度),因此需要根据业务特征来判断需要拆分的颗粒度,是到功能菜单、功能操作还是数据字段的级别,明确拆分颗粒度之后,权限管理系统才可以给不同角色按照颗粒度授予权限;

  • 促销活动后台接入权限系统后:

促销活动在接入权限管理系统过程后,当对应角色的用户再次登录这个后台时,首先后台会校验该用户的角色是否拥有该功能模块的权限,以及该角色权限对应的操作权限和数据字段权限,校验结果经服务端处理会在产品端展示给用户可见。这个时候,同一用户再该后台可见和可执行的操作与接入权限管理系统之前可能有很大的不同,这就是基于用户角色的权限管理系统带来的改变。

Q&A:

1. 一个用户拥有多个角色,多角色之间如果存在互斥关系如何处理?

  • 如果一个用户已经被添加到某一角色范围下,那么,当给该用户添加一个与当前角色存在权限互斥关系的角色时,系统会进行互斥性判断,后面的角色就无法给该用户添加成功;

2. 业务发展过程中,如何保证不同角色之间权限拆分清晰?

  • 随着业务的快速发展,一定会不断新增不同的角色和更多的功能模块,而且这些角色和功能权限之间的关系也会日益混乱,这个时候需要产品经理和业务方一起,及时的面对业务的发展变化,及时、快速的梳理业务调整范围,作出对应的改变;

3. 用户权限管理系统核心难点是前期的产品设计吗?

  • 用户权限管理系统核最难的不是前期的产品设计,而是后续的运营维护,因为权限系统的结构往往不会随意变更,但是随着业务发展快速出现的角色和功能模块,为了防止角色和功能权限之间的关系变得混乱,在建立新的角色和分配权限的时候需要思路清晰且慎重调整。

四、域共享文件权限用户该怎么添加?

域管理对于管理局域网的电脑是十分安全、方便。

1、局域网内的每台电脑都应该加入域,每台电脑名称要有规律地统一命名。

2、域服务器要建立有规律的终端用户名,这些用户名就是提供给各终端电脑使用。

3、在域服务器里建设的共享文件夹,就可以分配权限,可以指定给哪个用户访问,可以指定给哪个用户有删除或者添加的权限。

4、终端电脑就是通过域服务器提供的用户和密码登录本机,域服务器才可以对终端电脑进行有效的管理。域服务器的共享,终端电脑之间的共享,都会变得十分简单、方便。

5、更多电脑技术知识的介绍www.yuyuntian.com/?cat=7

五、添加用户权限拒绝访问怎么办?

本地管理员是有权限设置本地文件夹域用户访问权限的,出现拒绝访问的主要原因在于C盘中有很多目录,默认管理员是没有权限写入的(如安全性选项卡中ACL列表为空),需要用管理员权限C盘安全性界面你的高级中设置Administrators组取得所有权并替换子目录的所有权,这样就可以设置普通域用户的权限了。

但注意,一般我们不建议对整个C盘设置用户的访问权限,存有一定的风险。

六、怎么给elasticsearch添加用户管理权限?

可以利用setfacl命令实现

1.编辑/etc/fstab文件,在你那个文件夹所在的文件系统那行的defaults后添加,acl

2.重启:shutdown-rnow

3.这里假设你的文件夹是/home/share,输入以下两条命令:

setfacl-mu:A:rwx/home/share

setfacl-mu:B:rwx/home/share

通过以上3个步骤就可以实现你的要求了,全手工手打,请笑纳~^-^

七、组策略怎么添加用户管理员权限?

方法/步骤:

1.

在win7系统桌面上,点击左下角的菜单按钮选择运行选项进入。

2.

在弹出运行对话框,输入gpedit.msc命令然后点击确定按钮进入。

3.

进入本地组策略编辑器界面,请依次点击展开计算机管理-Windows设置-安全设置-...

4.

在右边策略明细框,找到并双击帐户:管理员帐户状态策略。

八、git怎么给远成仓库添加用户权限?

1、新建用户

将用户的公钥文件 如 **.pub 拷贝到 gitolite-admin\keydir文件夹下,做一次提交,并push到服务器。

2、新建仓库和设置用户权限

修改 gitolite-admin\conf\gitolite.conf 文件,加入权限和需要新建的仓库名,做一次提交,并push到服务器,这时候在服务器上就生成了新建的仓库。

例如:

@group = user1 user2

repo test

RW+C = user3

RW br1 = @group

RW refs/tags/ = user1 user3

2.1 @group = user1 user2 group组有 user1、user2 两个用户

2.2 repo test test 是仓库名

2.3 RW+C = user3 user3 有“读、写、强制更新、创建分支 ”权限

2.4 RW br1 = @group group组对br1分支有读写权限

2.5 RW refs/tags/ = user1 user3 user1和user3有打tag的权限

九、在WinCC里怎样将按钮添加用户权限?

可以利用变量改变按钮的可操作权限属性来实现解锁和锁定:

1、新建一个变量tag,BOOL型;

2、在工程画面上新插入一个按钮,命名:“解锁操作—允许”;

3、选中:“解锁操作—允许”设置左键单击处插入一段VBS或者C语言。让操作人员在单击此按钮后在对话框中输入正确的密码时改变tag的值;

4、选中你需要的锁定的按钮,设置可操作权限静态为否。动态对话框中选取变量tag,格式为布尔型。为1时真,为0时假。变量名和按钮名可自定义第三步的另一种实现方法:可以另做一个密码输入画面(至少应有供密码输入的输入输出域和确定两个按钮,输入输出域要设置隐藏输入,单击确定时改变tag的值),并创建一个变量(此变量的格式要和输入输出域的格式一至,并连接到此输入输出域)控制此画面的显示和隐藏来达到,不需要编程知识。这两种密码输入方法对付一般的操作人员应不成问题这里提供的是两种思路,仅供参考

十、如何添加共享权限组或用户名?

设置权限问题一直是比较重要的,只要熟悉掌握好权限的分配设置,那么在共享的技术上你就可以游刃有余了。首先鼠标右键共享文件,点击共享和安全;

2

打开的共享文件属性里面除了设置共享名,没有别的设置。怎么办?

3

这一步比较重要的,请大家仔细看。点击工具里面的文件夹选项;

4

点击查看,找到使用简单文件共享,把前面的钩钩打掉,然后确定退出;

5

再次右击共享文件选择共享和安全;

6

这时共享文件夹属性里面是不是多了几项设置,奇怪了、刚刚明明没有的~其实简单文件共享就是针对简单二字来说的。只要我们把它前面的勾打掉,就能变成高级文件共享了。废话少说,接着点击权限;

7

默认的是everyone的只读权限,我们为了安全起见,通常都会添加一个用户和组来增加权限分配。

8

在添加用户和组里点击高级;

9

一般性查询里面点击立即查找;

10

权限最高的就是administrator和administrators。这两个一个是管理员一个是管理员组。我给大家讲讲两种之间的区别。所谓管理员这个大家都是比较明白的,只要在登陆共享页面输入共享文件所在主机的管理员用户和密码,就能在共享资源里面享有最大权限。而administrators则需要把用户在本地用户和组属性里面添加到管理员组里,这样用户也就成了管理员了,只要使用这个用户名和密码登陆共享也能跟administrator的权限一致了。

步骤阅读

11

同样的道理,guest用户跟guests组权限相同。选定好相应的权限,点击确定。接着确定。

12

虽然原则上默认的同样是读取的权限,但是我们可以自己设定权限。设置权限时,点击选中用户,然后在下面的完全控制、更改、读取设置允许和拒绝。最后设置完成别忘了点击应用并确定。这样就算是大功告成了。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片