linux 新建用户、用户组 以及为新用户分配权限(转)

本文转自https://www.cnblogs.com/clicli/p/5943788.html

感谢作者。

[En]

Thanks to the author.

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
要实现用户账号管理,需要完成的主要任务如下:

[En]

To realize the management of user accounts, the main tasks to be completed are as follows:

添加、删除和修改用户帐户。

[En]

Add, delete and modify user accounts.

管理用户密码。

[En]

Management of user passwords.

管理用户组。

[En]

Management of user groups.

一、Linux系统中用户帐号的管理

[En]

I. Management of user accounts in Linux system

用户账号的管理主要涉及用户账号的添加、修改和删除。

[En]

The management of user accounts mainly involves the addition, modification and deletion of user accounts.

添加用户帐号就是在系统中新建一个帐号,然后为新帐号分配用户编号、用户组、主目录、登录外壳等资源。您刚刚添加的帐户已锁定,无法使用。

[En]

To add a user account is to create a new account in the system, and then assign resources such as user number, user group, home directory and login Shell to the new account. The account you just added is locked and cannot be used.

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

[En]

Code:

useradd 选项 用户名
这些选项的含义如下:

[En]

The meanings of the options are as follows:

代码:

[En]

Code:

-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名指定新帐户的登录名。

[En]

The user name specifies the login name of the new account.

例1:
代码:

[En]

Code:

useradd –d /usr/sam -m sam

此命令创建用户SAM

[En]

This command creates a user sam

-d和-m选项用于为登录名Sam生成主目录/usr/sam(/usr是默认用户主目录所在的父目录)。

[En]

The-d and-m options are used to generate a home directory / usr/sam for the login name sam (/ usr is the parent directory where the default user home directory is located).

例2:
代码:

[En]

Code:

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

该命令创建一个新的用户gem,其登录外壳为/bin/sh,它属于组用户组以及adm和根用户组,其中组用户组是其主要组。

[En]

This command creates a new user gem whose login Shell is / bin/sh, which belongs to the group user group, as well as to the adm and root user groups, where the group user group is its primary group.

可以在此处创建新组:#groupaddgroup和groupaddadm

[En]

New groups may be created here: # groupadd group and groupadd adm

添加用户帐号就是在/etc/passwd文件中向新用户添加一条记录,同时更新其他系统文件,如/etc/dow、/etc/group等。

[En]

To add a user account is to add a record to the new user in the / etc/passwd file, while updating other system files such as / etc/shadow, / etc/group, etc.

Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。
2、删除帐号
如果用户的帐户不再使用,则可以将其从系统中删除。删除用户帐户就是删除系统文件中的用户记录,如有必要,还可以删除用户的主目录。使用以下格式的userdel命令删除现有用户帐户:

[En]

If a user’s account is no longer in use, it can be deleted from the system. To delete a user account is to delete the user record in system files such as / etc/passwd and, if necessary, the user’s home directory. Delete an existing user account using the userdel command in the following format:

代码:

[En]

Code:

userdel 选项 用户名
常见的选项是-r,它一起删除用户的主目录。

[En]

The common option is-r, which deletes the user’s home directory together.

例如:

[En]

For example:

代码:

[En]

Code:

userdel sam

此命令删除系统文件中用户Sam的记录(主要是/etc/passwd、/etc/dow、/etc/group等)。并删除用户的主目录。

[En]

This command deletes the records of the user sam in the system files (mainly / etc/passwd, / etc/shadow, / etc/group, etc.) and deletes the user’s home directory.

3、修改帐号
修改用户账号就是根据实际情况修改用户的相关属性,如用户号码、主目录、用户组、登录外壳等。

[En]

To modify the user account is to change the relevant attributes of the user according to the actual situation, such as user number, home directory, user group, login Shell and so on.

使用usermod命令修改现有用户的信息,格式如下:

[En]

Use the usermod command to modify the information of an existing user in the following format:

代码:

[En]

Code:

usermod 选项 用户名
常见选项包括-c、-d、-m、-g、-G、-s、-u和-o,它们的含义与UserAdd命令中的选项相同,可以为用户指定新的资源值。此外,某些系统可以使用以下选项:

[En]

Common options include-c,-d,-m,-g,-G,-s,-u, and-o, which have the same meaning as the options in the useradd command and can specify new resource values for the user. In addition, some systems can use the following options:

代码:

[En]

Code:

-l 新用户名
此选项指定新帐户,将原始用户名更改为新用户名。

[En]

This option specifies a new account, changing the original user name to the new user name.

例如:

[En]

For example:

代码:

[En]

Code:

usermod -s /bin/ksh -d /home/z –g developer sam

该命令将用户Sam的登录Shell更改为ksh,将主目录更改为/home/z,将用户组更改为Developer。

[En]

This command changes the login Shell of user sam to ksh, the home directory to / home/z, and the user group to developer.

4、用户口令的管理
用户密码管理是用户管理的重要内容之一。该用户帐户是在没有密码的情况下创建的,但已被系统锁定,无法使用。即使指定了空密码,也必须为其分配密码才能使用。

[En]

One of the important contents of user management is the management of user password. The user account was created without a password, but it is locked by the system and cannot be used. It must be assigned a password before it can be used, even if an empty password is specified.

用于指定和修改用户密码的外壳命令为passwd。超级用户可以为自己和其他用户指定密码,普通用户只能使用它来更改自己的密码。该命令的格式为:

[En]

The Shell command to specify and modify a user password is passwd. Superusers can specify passwords for themselves and other users, and ordinary users can only use it to change their own passwords. The format of the command is:

代码:

[En]

Code:

passwd 选项 用户名
可用选项:

[En]

Available options:

代码:

[En]

Code:

-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
如果使用默认用户名,则修改当前用户的密码。

[En]

If the default user name is used, the password of the current user is modified.

例如,假设当前用户为Sam,则以下命令将修改用户自己的密码:

[En]

For example, assuming that the current user is sam, the following command modifies the user’s own password:

代码:

[En]

Code:

$ passwd
Old password:**
New password:
*
Re-enter new password:
*
如果您是超级用户,则可以按以下格式指定任何用户的密码:

[En]

If you are a superuser, you can specify the password of any user in the following form:

代码:

[En]

Code:

passwd sam

New password:*
Re-enter new password:*
当普通用户修改其密码时,passwd命令首先询问原始密码,进行验证,然后要求用户输入两次新密码。如果两次输入的密码相同,则将密码分配给用户,而超级用户在将密码分配给用户时不需要知道原始密码。

[En]

When an ordinary user modifies his password, the passwd command asks the original password first, verifies it, and then asks the user to enter the new password twice. If the password entered twice is the same, the password is assigned to the user, while the superuser does not need to know the original password when assigning the password to the user.

出于系统安全考虑,用户应选择更复杂的密码,如8位长密码,包含大小写字母和数字,应不同于姓名、生日等。

[En]

For the sake of system security, users should choose more complex passwords, such as 8-digit long passwords, which contain uppercase, lowercase letters and numbers, and should be different from names, birthdays, and so on.

为用户指定空密码时,请执行以下形式的命令:

[En]

When you specify an empty password for the user, execute the following form of command:

代码:

[En]

Code:

passwd -d sam

此命令删除用户Sam的密码,以便用户Sam下次登录时,系统不再要求输入密码。

[En]

This command removes the password for user sam so that the next time user sam logs in, the system no longer asks for the password.

passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:
代码:

[En]

Code:

passwd -l sam

创建新的用户例外:

[En]

Create a new user exception:

useradd -d /usr/hadoop -u 586 -m hadoop -g hadoop
1 Creating mailbox file: 文件已存在
删除rm-rf/var/spool/mail/用户名

[En]

Delete the rm-rf / var/spool/mail/ username

2 useradd: invalid numeric argument ‘hadoop’
这是因为Hadoop组不存在。请先创建Hadoop组。

[En]

This is because the hadoop group does not exist. Please create the hadoop group first.

您可以通过cat/etc/passwd查看用户的通道

[En]

You can view a user’s pass through cat / etc/passwd

cat /etc/shadow 可以查看用户名
cat /etc/group 可以查看 组

linux下创建用户(二)
二、Linux系统中用户组的管理

[En]

II. Management of user groups in Linux system

每个用户都有一个用户组,系统可以集中管理用户组中的所有用户。不同的Linux系统对用户组有不同的规则,例如,Linux下的用户属于一个同名的用户组,该用户组是在创建用户的同时创建的。

[En]

Each user has a user group, and the system can centrally manage all users in a user group. Different Linux systems have different rules for user groups, for example, users under Linux belong to a user group with the same name, which is created at the same time as the user is created.

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

[En]

The management of user groups involves the addition, deletion and modification of user groups. Group additions, deletions, and modifications are actually updates to the / etc/group file.

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

代码:

[En]

Code:

groupadd 选项 用户组

您可以使用的选项包括:

[En]

The options you can use are:

代码:

[En]

Code:

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

例1:

代码:

[En]

Code:

groupadd group1

该命令向系统添加一个新的组GROUP1,并且新组的组标识号在当前最大的组标识号上加1。

[En]

This command adds a new group group1 to the system, and the group identification number of the new group is added 1 to the current largest group identification number.

例2:

代码:

[En]

Code:

groupadd -g 101 group2

此命令向系统添加一个新组GROUP2,并指定新组的组标识号为101。

[En]

This command adds a new group group2 to the system and specifies that the group identification number of the new group is 101.

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

代码:

[En]

Code:

groupdel 用户组

例如:

[En]

For example:

代码:

[En]

Code:

groupdel group1

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

[En]

This command removes the group group1 from the system.

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

代码:

[En]

Code:

groupmod 选项 用户组

常见选项包括:

[En]

Common options are:

代码:

[En]

Code:

-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

例1:

代码:

[En]

Code:

groupmod -g 102 group2

此命令将组GROUP2的组标识号更改为102。

[En]

This command changes the group identification number of the group group2 to 102.

例2:

代码:

[En]

Code:

groupmod –g 10000 -n group3 group2

此命令将组GROUP2的标识号更改为10000,将组名更改为GROUP3。

[En]

This command changes the identification number of the group group2 to 10000 and the group name to group3.

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

代码:

[En]

Code:

$ newgrp root

此命令将当前用户切换到根用户组,前提是根用户组确实是用户的主要组或附加组。与用户账户管理类似,用户组的管理也可以通过集成的系统管理工具来完成。

[En]

This command switches the current user to the root user group, provided that the root user group is indeed the primary or additional group of the user. Similar to the management of user accounts, the management of user groups can also be accomplished through integrated system management tools.

权限分配

[En]

Authority assignment

分配权限

[En]

Assign permissions

chown -R hadoop:hadoop /usr/hadoop/

让普通用户拥有超级用户权限

[En]

Let ordinary users have the authority of root

1.root登录
2.adduser 用户名
3.passwd 用户名
确定密码

[En]

Determine the password

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

Original: https://www.cnblogs.com/panxuejun/p/10586671.html
Author: THISISPAN
Title: linux 新建用户、用户组 以及为新用户分配权限(转)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/7077/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux实例启动常见服务并查询端口监听状态的方法

    当您无法访问Linux实例中的服务时,可能的问题原因之一是该服务对应的进程未处于运行中。以下列举几个Linux实例中常见的服务以及这些服务未运行时产生的影响 服务名称 描述 默认监…

    Linux 2022年8月24日
    0250
  • git 查看最近或某一次提交修改的文件列表相关命令整理

    声明 本文转载自:https://www.phpernote.com/linux/1362.html 正文 git 查看最近或某一次提交修改的文件列表相关命令整理。 git log…

    Linux 2022年8月30日
    0500
  • Prometheus Operator部署

    传统的Prometheus监控Kubernetes集群,有所缺陷,比如Prometheus、Alertmanager等组件的高可用,虽然可以通过自定义的方式实现,但是不够灵活。那么…

    Linux 2022年8月26日
    0320
  • docker 安装redis

    1: 搜索镜像, docker search redis2:&#xA0;<strong>docker pull redis:6.0.6</strong&g…

    Linux 2022年9月14日
    0180
  • 利用Vmware 创建Linux虚拟机的方法

    我们将其分为两步,1:新建虚拟机;2:安装Red Hat Enterprse Linux 6操作系统 1.首先我们新建一个虚拟机,先不安装操作系统,稍后再对其安装Linux系统。 …

    2022年8月24日
    0600
  • vue-qiankun公司微前端项稳定目落地后的总结(附github仓库demo,将会持续更新)

    ⚠️本文为博客园社区首发文章,未获授权禁止转载 大家好,我是aehyok🎋,一个住在深圳城市的佛系码农🧚🏻‍♀️,如果你喜欢我的文章📚,可以通过点赞帮我聚集灵力⭐️。 个人gith…

    Linux 2022年8月30日
    0440
  • 十四、linux内核裁剪

    一、下载解压linux内核源码 我这里下载的是5.4.191版本(仅做实验),为了和我ubuntu虚拟机的交叉编译环境匹配。 二、清理临时文件 三、配置内核 得到系统源文件下的co…

    Linux 2022年8月24日
    0340
  • Linux查找命令

    1、查找操作 2、替换操作 2015年9月16日 把/mnt及其子目录的全部替换掉。sed -i “s/oldstring/newstring/g” gre…

    Linux 2022年8月20日
    0240
  • Linux下安装dart sdk并配置环境变量

    正式安装: 新建dart sdk目录 sudo mkdir -p /opt/dart_sdk 进入dart sdk目录 cd /opt/dart_sdk/ 打开dart sdk官网…

    2022年8月26日
    0620
  • Redis6 源码调式

    Redis6 源码调式 安装Cygwin 1、下载安装Cygwin 去Cygwin的官方网站http://www.cygwin.com/ window 64位请选择 setup-x…

    Linux 2022年9月14日
    0220
  • 使用Shell创建GitHub仓库

    Github的代码仓库分为2种类型: 用户自己的代码仓库 组织的代码仓库 下面就使用Shell脚本创建这2种类型的代码仓库,脚本如下 创建用户自己的代码仓库 #!/bin/bash…

    Linux 2022年8月30日
    0290
  • Linux RAID卡优化

    我们的生产服务器经常会做raid存储,但是单单做了raid就能保证性能高效和数据安全吗?答案是否定的,我们一般建议使用带电池保护的RAID卡,这样既能保证性能有能保证数据安全,但是…

    Linux 2022年8月24日
    0300
  • 如何新建github项目

    1、建的时候不要加任何预订制文件,就会出现以下屏幕提示,按操作执行即可: echo "# int" >> README.md git init gi…

    Linux 2022年8月30日
    0340
  • linux查看防火墙开放端口如何操作

    很多人听过防火墙这三个字,但真的知道什么是防火墙吗?知道防火墙的功能吗?用linux查看防火墙开放端口到底该如何操作,下面带大家一起探索一下防火墙强大的功能和运用linux查看防火…

    2022年8月20日
    0300
  • Git版本管理流程与规范-生活圈

    分支定义及含义说明分支流程中包含5类分支,分别是master、release、test、dev、hotfix,各类分支作用和生命周期各不相同。 【master 】:(仅一个)该分支…

    Linux 2022年8月30日
    0260
  • 使用PowerShell收集多台服务器的性能计数器

    写在前面 当管理多台Windows Server服务器时(无论是DB、AD、WEB以及其他的应用服务器),当出现性能或其他问题后,参阅性能计数器都是一个非常好的维度从而推测出问题可…

    Linux 2022年9月14日
    0230
  • Linux中添加新硬盘后对硬盘的分区以及挂载

    转自:https://www.linuxidc.com/Linux/2018-06/152958.htm 我将使用VM来进行模拟 先使用df看下我的电脑硬盘信息: df -h 可以…

    2022年8月20日
    0450
  • 搭建redis集群

    这里总结性给出搭建步骤: 1、 至少6个节点,三主三从 2、 编译redis源码 3、放置集群的配置文件redis.conf 创建工作目录: 每个文件夹下新建redis.conf …

    Linux 2022年9月14日
    0160
  • shell 获取进程号

    # Shell最后运行的后台PID(后台运行的最后一个进程的进程ID号) $! # Shell本身的PID(即脚本运行的当前进程ID号 $$ Original: https://w…

    Linux 2022年9月14日
    0480
  • Is TCP PACING enabled by default on linux?

    Asked 5 years agoActive 2 years, 10 months agoViewed 3k times I want to ask a basic questi…

    Linux 2022年8月24日
    0290
  • ubuntu 16.04 安装teamviewer

    很多人可能会问,为什么要在ubuntu上安装teamview?shell不就够用了吗?但实际上,很多时候,在远程连接linux的时候,我们需要在图形用户界面上进行操作。现在我就遇到…

    Linux 2022年8月26日
    0300
  • ubuntu 切换到 root 用户

    如果登录账户不是 root,则需要执行 sudo -H -s 切换为 root 账户 Original: https://www.cnblogs.com/qingsong/p/15…

    Linux 2022年8月26日
    0330
  • Ubuntu 卸载重装 IntelliJ Idea Community

    参考: https://stackoverflow.com/questions/22983101/how-to-uninstall-intellij-idea-on-ubuntu-…

    Linux 2022年8月26日
    0390
  • Linux:VMware创建Linux虚拟机并更改时间,时间自动还原问题解决

    Linux时间类型 Linux系统有系统时间和硬件时间之分: 系统时间 : 一般说来就是我们执行 date命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令…

    Linux 2022年8月26日
    0360
  • linux ssh

    SSH 是建立在应用层和传输层基础上的一种安全协议。 SSH传输数据是 加密的,可以有效防止传输过程被截取数据保障安全。 SSH的数据是经过 压缩的,所以可以加快传输的速度 首先查…

    Linux 2022年8月24日
    0350
  • Linux-进程描述符 task_struct 详解

    为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块 PCB(Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录…

    Linux 2022年8月24日
    0300

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部