`

Linux - 用户管理 - 用户

阅读更多
【基本介绍】
Linux系统的一大块就是用户管理,管理用户的信息,这里介绍用户。
常用的命令有useradd , userdel , usermod , users

【基本操作】
添加用户
[root@bogon ~]# useradd --help
Usage: useradd [options] LOGIN

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping


简单实例
useradd -c "This user cannot login to a shell" -s /sbin/nologin username
#添加用户,但是不能登入shell
useradd -c "This user login by bash" -s /bin/bash username
#添加用户登入用后环境是bash
useradd -d /usr/username  username
#添加用户并指定加目录,默认是/home下面
useradd -s /bin/sh -g group -G adm,root gem
#添加用户指定shell,主组是group,从组是adm,root,gem


删除用户
[root@bogon ~]# userdel --help
Usage: userdel [options] LOGIN

Options:
  -f, --force                   force removal of files,
                                even if not owned by user
  -h, --help                    display this help message and exit
  -r, --remove                  remove home directory and mail spool
  -Z, --selinux-user            remove SELinux user from SELinux user mapping


简单实例
userdel username
#删除用户(passwd ,shadow),但是不会删除该用户的家目录
userdel -r username
#删除用户,包括家目录



修改用户
[root@bogon ~]# usermod --help
Usage: usermod [options] LOGIN

Options:
  -c, --comment COMMENT         new value of the GECOS field
  -d, --home HOME_DIR           new home directory for the user account
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP as new primary group
  -G, --groups GROUPS           new list of supplementary GROUPS
  -a, --append                  append the user to the supplemental GROUPS
                                mentioned by the -G option without removing
                                him/her from other groups
  -h, --help                    display this help message and exit
  -l, --login NEW_LOGIN         new value of the login name
  -L, --lock                    lock the user account
  -m, --move-home               move contents of the home directory to the
                                new location (use only with -d)
  -o, --non-unique              allow using duplicate (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new password
  -s, --shell SHELL             new login shell for the user account
  -u, --uid UID                 new UID for the user account
  -U, --unlock                  unlock the user account
  -Z, --selinux-user            new SELinux user mapping for the user account


简单实例
usermod -d /usr/tttt -m tttt
#移动家目录到/usr/tttt
usermod -d /usr/tttt tttt
#修改家目录到/user/tttt,原来的/home/tttt还保留
usermod -s /bin/ksh -d /home/z -g developer sam
#用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer


查看用户信息:finger , id
NAME
     finger - user information lookup program
SYNOPSIS
     finger [-lmsp] [user ...] [user@host ...]
DESCRIPTION
     The finger displays information about the system users.


finger 用户名 ----可以查看用户的相关信息,包括用户的主目录,启动shell,用户名等
finger -l 用户名----以长格式显示用户信息
finger -s 用户名 ----以短格式显示用户信息
[root@bogon srv]# finger spark
Login: spark                            Name: Spark
Directory: /home/spark                  Shell: /bin/bash
On since Tue Jul 15 16:56 (CST) on tty1 from :0
   23 days 18 hours idle
No mail.
No Plan.


[root@bogon srv]# id --help
Usage: id [OPTION]... [USERNAME]
Print user and group information for the specified USERNAME,
or (when USERNAME omitted) for the current user.

  -a              ignore, for compatibility with other versions
  -Z, --context   print only the security context of the current user
  -g, --group     print only the effective group ID
  -G, --groups    print all group IDs
  -n, --name      print a name instead of a number, for -ugG
  -r, --real      print the real ID instead of the effective ID, with -ugG
  -u, --user      print only the effective user ID
      --help     display this help and exit
      --version  output version information and exit



【参考】
http://www.g-loaded.eu/2005/11/06/manage-users-from-the-command-line/
http://www.cnblogs.com/end/archive/2011/05/25/2057129.html
分享到:
评论

相关推荐

    util-linux-ng-util-linux-ng-2.17.2-12.24.el6_8.1.zip

    util-linux-ng是一个在Linux系统中不可或缺的工具集,它包含了众多用于系统管理、磁盘处理和文件系统检查的重要程序。这个压缩包"util-linux-ng-util-linux-ng-2.17.2-12.24.el6_8.1.zip"是util-linux-ng的特定版本...

    linux-用户和用户组管理视频教程

    07.1.1 用户和用户组管理-用户配置文件-用户信息文件.mp4 07.1.2 用户和用户组管理-用户配置文件-影子文件.mp4 07.1.3 用户和用户组管理-用户配置文件-组信息文件.mp4 07.2 用户和用户组管理-用户管理相关文件....

    jdk-8u171-linux-x64.rpm/jdk-8u171-linux-x64.tar.gz

    首先,`jdk-8u171-linux-x64.rpm`是一个RPM(Red Hat Package Manager)格式的文件,主要用于基于RPM包管理系统的Linux发行版,如Fedora、CentOS或Red Hat Enterprise Linux。RPM包提供了方便的安装、升级和卸载功能...

    arm-linux-gnueabihf-gcc-linaro-7.5.0-x86_64.tar.xz.zip

    而Linux内核则是操作系统的核心部分,负责管理硬件资源。由于许多嵌入式设备的处理器采用ARM架构,因此需要一个特定于ARM的交叉编译器来构建这些系统软件,因为在开发主机上通常运行的是不同的CPU架构(例如x86_64)...

    wrapper-linux-x86-64-3.5.55 社区版

    总的来说,"wrapper-linux-x86-64-3.5.55 社区版"是Linux环境中的一款强大工具,通过它可以轻松地管理和监控Java应用,提高系统的可靠性。对于那些依赖Java服务的企业和开发者,熟悉并掌握Wrapper技术是提升运维效率...

    jdk-8u144-linux-x64.zip

    RPM是一种用于在Linux发行版中安装、升级和管理软件的包管理器。"亲测可用,纯净版"意味着这个JDK版本经过测试,可以在Linux x64系统上顺利运行,且未包含任何额外的软件或修改,保证了其原生的纯净性。 标签"jdk-8...

    qt-opensource-linux-x64-5.8.0.run.zip

    Qt Creator提供了代码编辑器、项目管理器、调试器和构建系统,极大地简化了Qt应用的开发流程。对于C++开发者,可以利用Qt的API编写程序,而对于熟悉JavaScript或者QML的开发者,Qt Quick提供了一种声明式语言,能够...

    linux-firmware-20191215

    Linux固件(linux-firmware)是操作系统与硬件设备交互的关键组件,主要负责为硬件设备提供必要的驱动支持。在Linux环境中,固件通常指的是那些非开源的、...因此,了解并及时更新固件对于Linux用户来说是至关重要的。

    eclipse-java-2023-09-R-linux-gtk-x86-64.tar.gz

    Eclipse为Linux提供了GTK(GIMP Toolkit)图形用户界面,这是Linux下的标准窗口系统库,用于构建图形界面应用。 “eclipse-java”标签进一步强调了这个Eclipse版本专注于Java开发,其中包含了对Java开发所需的各种...

    jdk-8-linux-x64.rar

    RPM包的使用意味着用户可以通过Linux的包管理器来安装、更新或卸载JDK,简化了管理和维护过程。 标签“jdk-8-linux-x64”简洁地概括了这个软件包的主要属性,即与JDK 8、Linux操作系统和64位架构相关。 在压缩包内...

    aarch64-linux-android-4.9

    标题中的"aarch64-linux-android-4.9"是一个针对Android平台的交叉编译工具链的标识符,它主要用于在非Android系统(如x86架构的Linux或Windows)上构建适用于Android设备的ARM64架构(aarch64)的应用程序和库。...

    Linux-PAM-1.3.0.tar.gz_PAM_linux_pam 1.3.1

    通过PAM,系统管理员可以集中管理用户的登录、文件访问、网络服务等各种操作的认证过程,而无需修改服务本身的代码。这种模块化的设计使得PAM能够适应不断变化的安全需求和认证协议。 在Linux-PAM-1.3.0中,我们...

    jdk-8u181-linux-x64.tar.gz

    通常,Linux用户会将其安装在像/usr/lib/jvm这样的标准目录下,然后通过更新环境变量(例如JAVA_HOME, PATH)来确保系统可以找到并使用这个JDK版本。 标签"jdk8"、"linux"、"jdk8"进一步强调了这是与Java 8有关的...

    linux-xlnx-xilinx-v2017.4.tar.gz

    这个压缩包包含了完整的软件堆栈,使得用户能够在Xilinx FPGA硬件平台上运行Linux操作系统,并充分利用FPGA的可编程特性。下面我们将深入探讨其中涉及的关键知识点。 首先,Xilinx是一家知名的半导体公司,其主要...

    helm-v3.2.1-linux-amd64.tar.gz

    Helm 是 Kubernetes(K8s)生态系统中的一个关键组件,用作管理 Kubernetes 应用程序的包管理工具,类似于 Linux 系统中的 apt 或 yum。 在 Kubernetes 中,Helm 提供了一种方式来定义、安装和升级 Kubernetes 应用...

    arm-linux-gcc-4.5.1(友善之臂提供的最新交叉编译器)

    在"opt"这个文件夹中,可能包含的是编译器的安装文件、库文件、配置文件等,用于在用户系统上安装和设置这个交叉编译环境。通常,这些文件会被安装到系统的特定目录下,例如`/usr/local`,以便系统能够找到并使用这...

    The Linux-Pam Application Developer's Guide.pdf

    9. **账户验证管理**:通过 `pam_acct_mgmt()` 函数,开发者可以检查用户的账户是否有效。 10. **更新认证令牌**:为了保持会话的安全性,可以使用 `pam_update_authtok()` 函数来更新认证令牌。 11. **启动 PAM ...

    Anaconda3-2022.05-Linux-aarch64.rar

    通过Anaconda3-2022.05-Linux-aarch64,用户可以在Linux环境下高效地进行数据处理、科学计算和机器学习项目,享受便捷的包管理和多环境隔离带来的益处。同时,它也为开发者提供了一个统一的平台,降低了软件部署和...

    i86bi-linux-l2-adventerprisek9-15.1a.bin

    同时,由于这些镜像是基于Linux的,因此需要对Linux操作系统有一定的了解,以便正确地在虚拟化平台上(如VMware ESXi, VirtualBox, QEMU等)运行和管理。 总的来说,Cisco IOU-SW通过提供高度仿真的网络设备软件,...

    Anaconda3-2021.05-Linux-x86-64.sh

    标题中的"Anaconda3-2021.05-Linux-x86-64.sh"指的是Anaconda发行版的安装脚本...通过这个安装脚本,用户可以在Linux系统上轻松安装Anaconda,进而安装和管理Spark及其相关的数据科学工具,实现高效的数据处理和分析。

Global site tag (gtag.js) - Google Analytics