• 用户与用户组


    1.新建test1用户并为该用户设置密码
     adduser/useradd test1
     passwd test1

    2.新建group1用户组
     groupadd group1

     删除组
     groupdel group1

     修改组
     groupmod -n group2 group1         将group1改名为group2

    3.新建test1用户,同时增加到group1用户组
     useradd -g test1 group1


    4.给已有的test1用户增加工作组group2
     usermod -G group2 test1
    或者:
     gpasswd -a test1 group2

    usermod -d /home/test -G test2 test
    注:-g 所属组 -d 家目录 -s 所用的SHEL

    将test用户的登录目录改成/home/test,并加入test2组,注意这里是大G。

    gpasswd -d test1 group2 将用户test1从group2组中移出


    5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*   
      就可以了。想恢复该用户,去掉*即可。
      或者使用如下命令关闭用户账号:
      passwd peter –l
      重新释放:
      passwd peter –u

    6、永久性删除用户账号
      userdel peter
      groupdel peter
      usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录)

    7、从组中删除用户
    编辑/etc/group 找到GROUP1那一行,删除 A
    或者用命令
    gpasswd -d A GROUP

    查看用户
    a),查看当前登录用户
    [root@krlcgcms01 ~]# w
    功能说明:显示目前登入系统的用户信息。 
    语  法:w [-fhlsuV][用户名称] 
    补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w 
    指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。 
    参  数: 
    -f  开启或关闭显示用户从何处登入系统。 
    -h  不显示各栏位的标题信息列。 
    -l  使用详细格式列表,此为预设值。 
    -s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。 
    -u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。 
    -V  显示版本信息。

    [root@krlcgcms01 ~]# who
    功能说明:显示目前登入系统的用户信息。 
    语  法:who [-Himqsw][--help][--version][am i][记录文件] 
    补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的    终端机,登入时间以及从何处登入或正在使用哪个X显示器。 
    参  数: 
    -H或--heading  显示各栏位的标题信息列。 
    -i或-u或--idle  显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。 
    -m  此参数的效果和指定"am i"字符串相同。 
    -q或--count  只显示登入系统的帐号名称和总人数。 
    -s  此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。 
    -w或-T或--mesg或--message或--writable  显示用户的信息状态栏。 
    --help  在线帮助。 
    --version  显示版本信息。

    b),查看自己的用户名
    [root@krlcgcms01 ~]# whoami
    功能说明:先似乎用户名称。 
    语  法:whoami [--help][--version] 
    补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令。 
    参  数: 
    --help  在线帮助。 
    --version  显示版本信息。 

    c),查看单个用户信息
    [root@krlcgcms01 ~]# finger apacheuser
    finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。 
    该命令的一般格式为: 
    finger [选项] [使用者] [用户@主机] 
    命令中各选项的含义如下: 
    -s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。 
    -l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。 
    -p 除了不显示.plan文件和.project文件以外,与-l选项相同。  
    [例]在本地机上使用finger命令。 
    $ finger xxq 
    Login: xxq Name: 
    Directory: /home/xxq Shell: /bin/bash 
    Last login Thu Jan 1 21:43 (CST) on tty1 
    No mail. 
    No Plan.  
    $ finger 
    Login Name Tty Idle Login Time Office Office Phone 
    root root *1 28 Nov 25 09:17 
    ……

    [root@krlcgcms01 ~]# id apacheuser

    d),查看用户登录记录
    [root@krlcgcms01 ~]# last 查看登录成功的用户记录
    [root@krlcgcms01 ~]# lastb 查看登录不成功的用户记录

    e),查看所有用户
    [root@krlcgcms01 ~]# cut -d : -f 1 /etc/passwd
    [root@krlcgcms01 ~]# cat /etc/passwd |awk -F : ‘{print $1}’
    ------------------------------------------------------- 
    vlock(virtual console lock) 
    功能说明:锁住虚拟终端。 
    语  法:vlock [-achv] 
    补充说明:执行vlock指令可锁住虚拟终端,避免他人使用。 
    参  数: 
    -a或--all  锁住所有的终端阶段作业,如果您在全屏幕的终端中使用本参数,则会将用键盘 
    切换终端机的功能一并关闭。 
    -c或--current  锁住目前的终端阶段作业,此为预设值。 
    -h或--help  在线帮助。 
    -v或--version  显示版本信息。 
    ------------------------------------------------------- 
    userconf 
    功能说明:用户帐号设置程序。 
    语  法:userconf [--addgroup <群组>][--adduser <用户ID><群组><用户名称>][--delgroup <群组>][--deluser <用户ID>][--help] 
    补充说明:userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类帐号。若不加任何参数,即进入图形界面。 
    参  数: 
    --addgroup<群组>  新增群组。 
    --adduser<用户ID><群组><用户名称>  新增用户帐号。 
    --delgroup<群组>  删除群组。 
    --deluser<用户ID>  删除用户帐号。 
    --help  显示帮助。 
    ------------------------------------------------------- 
    whois 
    功能说明:查找并显示用户信息。 
    语  法:whois [帐号名称] 
    补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions 的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。  

     

    查看组
    a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apacheuser
    b),查看所有组 cat /etc/group
    c),有的linux系统没有/etc/group文件的,这个时候看下面的这个方法
    cat /etc/passwd |awk -F [:] ‘{print $4}’ |sort|uniq | getent group |awk -F [:] ‘{print $1}’
    这里用到一个命令是getent,可以通过组ID来查找组信息,如果这个命令没有的话,那就很难查找系统中所有的组了.
    /etc/shadow和/etc/passwd系统存在的所有用户名

    修改当前用户所属组的方法:
    usermod 或者可以直接修改 /etc/passwd文件即可
    usermod 
    功能说明:修改用户帐号。 
    语  法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号] 
    补充说明:usermod可用来修改用户帐号的各项设定。 
    参  数: 
    -c<备注>  修改用户帐号的备注文字。 
    -d登入目录>  修改用户登入时的目录。 
    -e<有效期限>  修改帐号的有效期限。 
    -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。 
    -g<群组>  修改用户所属的群组。 
    -G<群组>  修改用户所属的附加群组。 
    -l<帐号名称>  修改用户帐号名称。 
    -L  锁定用户密码,使密码无效。 
    -s  修改用户登入后所使用的shell。 
    -u  修改用户ID。 
    -U  解除密码锁定。

    Linux 用户(user)和用户组(group)管理概述
    Linux 是一个多用户、多任务的操作系统,理解Linux的单用户多任务,多用户多任务;

    用户的角色区分:
    用户在系统中是分角色的,在Linux 系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和识别的,特别是UID;在系统管理中,系统管理员一定要坚守UID 唯一的特性;


    root 用户:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;
    虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系

                    统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后

                    来添加的,当然我们也可以添加虚拟用户;
    普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容,权限有限,这类用户都是系统管理员自行添加的;
    如果您想了解Linux系统的一些帐号,请查看 /etc/passwd ;
    用户和用户组的对应关系是:一对一、多对一、一对多或多对多;

    与用户(user)和用户组(group)相关的配置文件:
    1)与用户(user)相关的配置文件;
    /etc/passwd 注:用户(user)的配置文件;
    /etc/shadow 注:用户(user)影子口令文件;

    2)与用户组(group)相关的配置文件;
    /etc/group 注:用户组(group)配置文件;
    /etc/gshadow 注:用户组(group)的影子文件;

    管理用户(user)和用户组(group)的相关工具或命令:
    1)管理用户(user)的工具或命令;
    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 功能差不多

    2)管理用户组(group)的工具或命令
    groupadd   注:添加用户组;
    groupdel   注:删除用户组;
    groupmod   注:修改用户组信息
    groups     注:显示用户所属的用户组
    grpck
    grpconv    注:通过/etc/group和/etc/gshadow 的文件内容来同步或创
                 建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
    grpunconv  注:通过/etc/group 和/etc/gshadow 文件内容来同步或创
                 建/etc/group ,然后删除gshadow文件;

    3、/etc/skel 目录;
    /etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境;

    [root@localhost beinan]# ls -la /etc/skel/
    总用量 92
    drwxr-xr-x    3 root root  4096  8月 11 23:32 .
    drwxr-xr-x  115 root root 12288 10月 14 13:44 ..
    -rw-r--r--    1 root root    24  5月 11 00:15 .bash_logout
    -rw-r--r--    1 root root   191  5月 11 00:15 .bash_profile
    -rw-r--r--    1 root root   124  5月 11 00:15 .bashrc
    -rw-r--r--    1 root root  5619 2005-03-08  .canna
    -rw-r--r--    1 root root   438  5月 18 15:23 .emacs
    -rw-r--r--    1 root root   120  5月 23 05:18 .gtkrc
    drwxr-xr-x    3 root root  4096  8月 11 23:16 .kde
    -rw-r--r--    1 root root   658 2005-01-17  .zshrc
    /etc/skel 目录下的文件,一般是我们用useradd 和adduser 命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然后要用chown 来改变新用户家目录的属主;

    4、/etc/login.defs 配置文件;
    /etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;

    比如Fedora 的 /etc/logins.defs 文件内容;
    # *REQUIRED*
    #   Directory where mailboxes reside, _or_ name of file, relative to the
    #   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
    #   QMAIL_DIR is for Qmail
    #
    #QMAIL_DIR      Maildir
    MAIL_DIR        /var/spool/mail  注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;
    #MAIL_FILE      

    # Password aging controls:
    #
    #       PASS_MAX_DAYS   Maximum number of days a password may be used.
    #       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
    #       PASS_MIN_LEN    Minimum acceptable password length.
    #       PASS_WARN_AGE   Number of days warning given before a password expires.
    #
    PASS_MAX_DAYS   99999     注:用户的密码不过期最多的天数;
    PASS_MIN_DAYS   0        注:密码修改之间最小的天数;
    PASS_MIN_LEN    5          注:密码最小长度;
    PASS_WARN_AGE   7      

    #
    # Min/max values for automatic uid selection in useradd
    #
    UID_MIN                   500  注:最小UID为500 ,也就是说添加用户时,UID是从500开始的;
    UID_MAX                 60000   注:最大UID为60000;

    #
    # Min/max values for automatic gid selection in groupadd
    #
    GID_MIN                   500   注:GID 是从500开始;
    GID_MAX                 60000

    #
    # If defined, this command is run when removing a user.
    # It should remove any at/cron/print jobs etc. owned by
    # the user to be removed (passed as the first argument).
    #
    #USERDEL_CMD    /usr/sbin/userdel_local

    #
    # If useradd should create home directories for users by default
    # On RH systems, we do. This option is ORed with the -m flag on
    # useradd command line.
    #
    CREATE_HOME     yes   注:是否创用户家目录,要求创建;

    5、/etc/default/useradd 文件;
    通过useradd 添加用户时的规则文件;
    # useradd defaults file
    GROUP=100
    HOME=/home         注:把用户的家目录建在/home中;
    INACTIVE=-1           注:是否启用帐号过期停权,-1表示不启用;
    EXPIRE=                   注:帐号终止日期,不设置表示不启用;
    SHELL=/bin/bash    注:所用SHELL的类型;
    SKEL=/etc/skel        注: 默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户

                                           家目录下的文件,都是从这个目录中复制过去的。

  • 相关阅读:
    Spring MVC系列之Hello World(SpringBoot)(六)
    SpringBoot系列之注解@Autowired VS @Qualifier VS @Primary(五)
    SpringBoot系列之注解@Component VS @Bean(四)
    SpringBoot系列之@PropertySource和@Value注解(二)
    SpringBoot系列之入门篇(一)
    不要叫我,我会叫你(控制反转原理)
    EntityFramework Core 3多次Include导致查询性能低之解决方案
    EntityFramework Core 3.0查询
    Java入门系列之集合HashMap源码分析(十四)
    浅析性能测试策略及适用场景
  • 原文地址:https://www.cnblogs.com/vurtne-lu/p/6550619.html
Copyright © 2020-2023  润新知