美文网首页
Linux——用户管理

Linux——用户管理

作者: _羊羽_ | 来源:发表于2019-01-10 19:14 被阅读152次

    用户权限存储文件

    权限文件地址 权限信息
    /etc/group 存储当前系统中所有用户组信息
    /etc/gshadow 存储当前系统中用户组的密码信息
    /etc/passwd 存储当前系统中所有用户的信息
    /etc/shadow 储存当前系统中所有用户的密码信息
    /etc/nologin 默认不存在,当创建这个名称的文件则禁止非root用户登录

    /etc/passwd
    从文件名称看是存储密码相关的,但是这个已经是历史,心在主要存储的使用户名称

    # cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    

    1、账号名称
    2、原先用来保存密码的,现在密码都放在/etc/shadow中,所以这里显示x
    3、UID,也就是使用者ID。默认的系统管理员的UID为0,我们添加用户的时候最好使用1000以上的UID,1-1000范围的UID最好保留给系统用。
    4、GID,也就是群组ID
    5、关于账号的一些说明信息(暂时可以忽略)
    6、账号的家目录,家目录就是你登陆系统后默认的那个目录
    7、账号使用的shell
    总结起来就是 用户名:密码:UID:GID:用户全名:home 目录:shell
    /etc/group

    # cat /etc/group
    root:x:0:
    bin:x:1:
    daemon:x:2:
    sys:x:3:
    adm:x:4:
    tty:x:5:
    disk:x:6:
    lp:x:7:
    mem:x:8:
    kmem:x:9:
    wheel:x:10:
    

    其数据含义是组名称:组密码:GID:用户组类的用户名

    useradd

    在centos版本中adduser和useradd这两个命令是一样的。
    增加用户

    useradd(选项)(要创建的用户名)
    

    选项

    -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中
    -d<登入目录>:指定用户登入时的启始目录;
    -D:变更预设值;
    -e<有效期限>:指定帐号的有效期限;
    -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
    -g<群组>:指定用户所属的群组;
    -G<群组>:指定用户所属的附加群组;
    -m:自动建立用户的登入目录;
    -M:不要自动建立用户的登入目录;
    -n:取消建立以用户名称为名的群组;
    -r:建立系统帐号;
    -s<shell>:指定用户登入后所使用的shell;
    -u<uid>:指定用户
    

    usermod

    用于修改用户的基本信息

    usermod(选项)(用户名称)
    

    选项

     -c, --comment 注释            GECOS 字段的新值
      -d, --home HOME_DIR           用户的新主目录
      -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
      -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
      -g, --gid GROUP               强制使用 GROUP 为新主组
      -G, --groups GROUPS           新的附加组列表 GROUPS
      -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,
                                    并不从其它组中删除此用户
      -h, --help                    显示此帮助信息并推出
      -l, --login LOGIN             新的登录名称
      -L, --lock                    锁定用户帐号
      -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)
      -o, --non-unique              允许使用重复的(非唯一的) UID
      -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码
      -R, --root CHROOT_DIR         chroot 到的目录
      -s, --shell SHELL             该用户帐号的新登录 shell
      -u, --uid UID                 用户帐号的新 UID
      -U, --unlock                  解锁用户帐号
      -Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射
    

    passwd

    如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。
    语法

    passwd [选项...] <帐号名称>
    

    选项

    -k, --keep-tokens       保持身份验证令牌不过期
      -d, --delete            删除已命名帐号的密码(只有根用户才能进行此操作)
      -l, --lock              锁定指名帐户的密码(仅限 root 用户)
      -u, --unlock            解锁指名账户的密码(仅限 root 用户)
      -e, --expire            终止指名帐户的密码(仅限 root 用户)
      -f, --force             强制执行操作
      -x, --maximum=DAYS      密码的最长有效时限(只有根用户才能进行此操作)
      -n, --minimum=DAYS      密码的最短有效时限(只有根用户才能进行此操作)
      -w, --warning=DAYS      在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
      -i, --inactive=DAYS     当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
      -S, --status            报告已命名帐号的密码状态(只有根用户才能进行此操作)
      --stdin                 从标准输入读取令牌(只有根用户才能进行此操作)
    

    userdel

    用于删除给定的用户

    userdel(选项)(用户名)
    

    选项

    -f:强制删除用户,即使用户当前已登录
    -r:删除用户的同时,删除与用户相关的所有文件
    

    su

    切换用户名

    su(选项)(切换用户名)
    

    选项

    -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
    -f或--fast:适用于csh与tsch,使shell不用去读取启动文件;
    -l或--login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
    -m,-p或--preserve-environment:变更身份时,不要变更环境变量;
    -s<shell>或--shell=<shell>:指定要执行的shell;
    --help:显示帮助;</pre>
    显示帮助;
    --version;显示版本信息。</pre>
    

    groupadd

    创建一个新的工作组

    groupadd(选项)(用户组名)
    

    选项

    -g:指定新建工作组的ID号
    -r:创建系统工作组,系统工作组的组ID小于500;
    -K:覆盖配置文件“/ect/login.defs”;
    -o:允许添加组ID号不唯一的工作组。
    

    groupdel

    删除用户组

    groupdel (用户组名)
    
    gpasswd

    管理工作组
    用法

    gpasswd [选项] 组
    

    选项:

      -a, --add USER                向组 GROUP 中添加用户 USER
      -d, --delete USER             从组 GROUP 中添加或删除用户
      -h, --help                    显示此帮助信息并推出
      -Q, --root CHROOT_DIR         要 chroot 进的目录
      -r, --delete-password         remove the GROUP's password
      -R, --restrict                向其成员限制访问组 GROUP
      -M, --members USER,...        设置组 GROUP 的成员列表
      -A, --administrators ADMIN,...    设置组的管理员列表
    

    newgrp

    切换用户所在用户组命令 登入另一个群组。
    用法:

    newgrp [-] [组]
    

    id

    显示指定用户信息,包括用户编号,用户名

    groups

    显示每个输入的用户名所在的全部组,如果没有指定用户名则默认为当前进程用户(当用户组数据库发生变更时可能导致差异)。
    用法:

    groups [选项]... [用户名]...
    

    sudo

    在Ubuntu或者fedora偏向于日常使用,所有在除root用户以为存在管理员角色可以执行sudo命令 但是在centos等服务器版本的一般除了root其他用户是无法使用sudo命令的

    $ sudo cat /etc/passwd
    [sudo] test 的密码:
    test 不在 sudoers 文件中。此事将被报告。
    

    修改/etc/sudoers

    ## Allow root to run any commands anywhere
    root    ALL=(ALL)   ALL
    
    ## Allows members of the 'sys' group to run networking, software,
    ## service management apps and more.
    # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
    
    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)   ALL
    

    wheel 用户无需密码使用sudo权限,一般不建议开启

    ## Same thing without a password
    # %wheel    ALL=(ALL)   NOPASSWD: ALL
    

    因此我们可以执行将当前用户增加到wheel组

    usermod -g wheel test
    

    相关文章

      网友评论

          本文标题:Linux——用户管理

          本文链接:https://www.haomeiwen.com/subject/jponbftx.html