美文网首页
Linux用户相关命令

Linux用户相关命令

作者: 单矢sandy | 来源:发表于2020-03-19 20:19 被阅读0次

    最近用到了linux用户管理,因此写个文章记录一下

    1. 用户操作
    • 添加用户
      格式:useradd [-选项] [用户名]
    选项:
      -s, --shell SHELL     新账户的登录 shell
      -u, --uid UID         新账户的用户 ID
      -b, --base-dir BASE_DIR   新账户的主目录的基目录
      -d, --home-dir HOME_DIR       新账户的主目录
     -e, --expiredate EXPIRE_DATE  新账户的过期日期
      -f, --inactive INACTIVE       新账户的密码不活动期
      -g, --gid GROUP       新账户主组的名称或 ID
      -l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
      -m, --create-home 创建用户的主目录
      -M, --no-create-home      不创建用户的主目录
      -N, --no-user-group   不创建同名的组
      -U, --user-group      创建与用户同名的组
      -p, --password PASSWORD       加密后的新账户密码
      -r, --system                  创建一个系统账户
    
    • 修改口令
      passwd 用户名;不加用户名就是修改自己账户的口令
    • 删除用户
      格式:userdel [选项] 用户名
    选项:
      -r, --remove                  删除主目录和邮件池
    
    • 切换用户
      su [-] [用户名]
      注:su后面可以加-,也可以不加。一般用户执行su命令不加用户名的情况下,默认切换到root用户
    • sudo命令
      这个命令默认root才可以使用,普通用户要使用的话需要在/etc/sudoers中添加规则
    [dandelion@localhost skel]$ sudo touch readme.md
    [sudo] dandelion 的密码:
    dandelion 不在 sudoers 文件中。此事将被报告。
    

    vi /etc/sudoers

    ## Next comes the main part: which users can run what software on
    ## which machines (the sudoers file can be shared between multiple
    ## systems).
    ## Syntax:
    ##
    ##      user    MACHINE=COMMANDS
    ##
    ## The COMMANDS section may have other options added to it.
    ##
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    dandelion ALL=(ALL)     ALL
    ## 用户名  所有主机=(获取哪个用户的身份)  sudo可以使用的命令
    
    [dandelion@localhost skel]$ sudo touch readme.md
    [sudo] dandelion 的密码:
    [dandelion@localhost skel]$ ls
    readme.md
    [dandelion@localhost skel]$
    
    • linux用户信息存储在/etc/passwd文件当中
      文件格式:用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
      例如:
    shylock:x:1001:1001::/home/shylock:/bin/bash
     第一个字段:用户名,代表用户账号的字符串;
     第二个字段:存放的是该账户的口令;此处为x是因为后来基于安全因素,讲其放入了 /etc/shadow中了,这里用x代替;
     第三个字段:这个数字代表用户识别号,也称为uid;同样,如果把test用户的uid修改 为0,系统就会认为root和test是同一个账户。(uid的取值范围是0~65535,实 际上已经可以支持到429 496 7294)
     第四个字段:这个数字表示组标识号,也称为gid;它对应着/etc/group中的一条记录。
     第五个字段:注释说明,没有实际意义;
     第六个字段:用户的家目录,当用户登录时,就处在这个目录下;
     最后一个字段:用户为用户的shell;用户登录后,要启动一个进程,用来将用户下达的指 令传给内核;
    

    参考网站CSDN:第五章:Linux系统用户与用户组管理

    • linux用户密码信息存储在文件/etc/shadow当中
      存储的内容包括加密后的密码,密码过期时间,密码过期提示天数等
      例如:
    shylock:$6$doIEJZ1r$I2b2dqfVYr/0cE5vHoKVEnvUPeWVeabwon2C.EV87NVv0suoe1d1y1WrnkmVEsx85hyWIHbtkBEkPhGdeavxQ/:18311:0:99999:7:::
     第一个字段:用户名,与/etc/passwd对应;
     第二个字段:用户密码;是该账号的真正密码,这个密码已经加密。
     第三个字段:上次更改密码的日期;
     第四个字段:要过多少天才可以更改密码;
     第五个字段:密码多少天后才可以更改密码;默认为0,即不受限制。
     第六个字段:密码到期前的警告期限;默认为99999,可以理解为永远不需要改。
     第七个字段:账号的生命周期;
     第八个字段:账号的生命周期;
     最后一个字段:做保留用的,无意义;
    

    参考网站CSDN:第五章:Linux系统用户与用户组管理

    • 文件/etc/default/useradd,通过useradd添加用户时的规则文件
    [dandelion@localhost default]$ cat /etc/default/useradd
    # useradd defaults file
    GROUP=100  
    HOME=/home  //用户的家目录创建的位置
    INACTIVE=-1  //是否启用账号过期停权,-1表示不启用
    EXPIRE=  //账号终止日期,不设置表示不启用
    SHELL=/bin/bash  //所用shell的类型
    SKEL=/etc/skel  //创建用户时,默认在用户家目录创建的文件(创建的文件都是从这个目录下拷贝过去的)
    CREATE_MAIL_SPOOL=yes
    
    1. 用户组操作
    • 添加用户组
      groupadd 用户组名或者groupadd -g 用户指定GID 用户组名
      如果不加-g,则会按系统默认的gid创建组,跟uid一样,gid也是从1000开始的
    • 删除用户组
      groupdel 用户组名
    • 显示用户所属的用户组
      groups
    • 修改用户组信息
      groupmod
    [root@localhost etc]# groupmod
    用法:groupmod [选项] 组
    
    选项:
      -g, --gid GID                 将组 ID 改为 GID
      -h, --help                    显示此帮助信息并推出
      -n, --new-name NEW_GROUP      改名为 NEW_GROUP
      -o, --non-unique              允许使用重复的 GID
      -p, --password PASSWORD   将密码更改为(加密过的) PASSWORD
      -R, --root CHROOT_DIR         chroot 到的目录
    
    • gpasswd用法
      格式:gpasswd [选项] 组
    选项:
      -a, --add USER                向组 GROUP 中添加用户 USER
      -d, --delete USER             从组 GROUP 中添加或删除用户
      -r, --delete-password         remove the GROUP's password
      -R, --restrict                向其成员限制访问组 GROUP
      -M, --members USER,...        设置组 GROUP 的成员列表
      -A, --administrators ADMIN,...    设置组的管理员列表
    除非使用 -A 或 -M 选项,不能结合使用这些选项。
    
    设置用户组密码:gpasswd 用户组名
    设置用户组管理员命令:gpasswd -A 用户名 用户组名
    添加某账号到组命令:gpasswd -M 用户名 用户组名
    从组中删除某账号命令:gpasswd -d 用户名 用户组名
    

    相关文章

      网友评论

          本文标题:Linux用户相关命令

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