Linux用户管理:用户管理相关命令

图片[1]-Linux用户管理:用户管理相关命令-不念博客

用户分类(三类)

1、超级管理员  
2、虚拟用户(系统用户)(傀儡)
实际存在的用户,但又不允许它登录
能满足文件或进程运行属主的要求,但又不会带来管理风险
3、普通用户
实际存在的用户,允许它登录。由1创建,帮助1管理系统的
权限仅限制家目录,进不了root目录,一些系统目录只能读不能写


在Cent OS7中:
用户UID         系统中约定的含义
0               超级管理员(拥有最高权限) root堪比皇帝UID为0 换句话 UID为0的都有皇帝权限
1-200           系统用户,由系统分配给系统进程使用
201-999         系统用户,用来运行服务账户,不需要登陆系统(动态分配)如:mysql
1000+           常规普通用户


注意: 在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户

用户管理相关命令

useradd或adduser( adduser 命令软链接指向useradd命令)

useradd + 选项 + 用户名
 '-c' 创建时指定用户注释信息
 '-d' 创建时指定用户家目录 默认在home下
#  '-u' 指定用户的UID,不能和现有ID冲突
# '-g' 指定用户gid
 '-G' 指定用户附加组,用逗号隔开添加多个附加组
# '-M' 强制,不建立家目录。(系统账号默认值)一般创建系统用户(虚拟用户)时不用创建家目录,部署服务时需要创建虚拟用户。
  -m 强制,要建立家目录。(一般账号默认值)
# '-s' 指定用户登录的shell,不加-s默认/bin/bash (除了bash还有/sbin/nologin、halt等halt登的话会掉线额)
# '-r' 创建一个系统账户


例子:
//创建zls用户,指定UID5001,基本组students 附加组sa,dba 注释信息:one newB user, 登陆的shell:/bin/bash
[root@zls ~]# groupadd sa
[root@zls ~]# groupadd dba
[root@zls ~]# groupadd students
[root@zls ~]# usera
dd -u 5001 -g students -G sa,dba -c "one newB user" -d /home/zls -s /bin/bash zls
[root@zls ~]# tail -1 /etc/passwd
zls:x:5001:505:one newB user:/home/zls:/bin/bash


//创建系统用户,不建立用户家目录 指定nologin使其用户无法登陆系统 如mysql只是运行服务
[root@zls ~]# useradd mysql -M -s /sbin/nologin
[root@zls ~]# useradd -r dba -s /sbin/nologin

userdel


语法 : userdel + [选项] +用户名
-r 连同用户家目录一起删除
如果不加用户会删除,但home里依旧有用户目录

使用usermod命令修改用户

usermod 跟上面很像
usermod + [选项] + 用户名(必须存在)
'-u'   修改用户的UID
'-g'   修改用户所属的基本组GID(前提是必须存在)
'-G'   修改用户附加组(前提是必须存在), 使用逗号隔开多个附加组, 覆盖原有的附加组
'-a'   追加更多的附加组, 必须和-G使用: -aG 追加附加组,不覆盖原来的
'-c'   修改用户的注释信息
'-d'   指定用户的家目录新位置  
'-m'   家目录迁移, 必须和-d一起使用, 移动用户的家目录到新的位置
'-s'   更改用户使用的shell


'-l'   更改用户登录名
'-L'   锁定用户
'-U'   解锁用户


[root@zls ~]# grep "zls" /etc/passwd
zls:x:5001:505:2018 new student:/home/zls:/bin/bash


//修改用户uid,gid, 附加组, 注释信息, 用户家目录, 登录shell, 登录名


//建立组,指定组gid
[root@zls ~]# groupadd -g 5008 network_sa
[root@zls ~]# groupadd -g 5009 devops


//修改用户属性
[root@zls ~]# usermod -u 6001 -g5008 -a -G 5009 -c "2019 new student" -md /zls -s /bin/sh -l zls_zls zls


//检查是否修改成功
[root@zls ~]# grep "zls" /etc/passwd
zls_zls:x:6001:5008:2019 new student:/zls:/bin/sh


[root@zls ~]# id zls_zls
uid=6001(zls_zls) gid=5008(network_sa) groups=5008(network_sa),503(sa),504(dba),5009(devops)


//验证家目录
[root@zls ~]# ll -d /zls
drwx------. 2 zls_zls network_sa 4096 2014-09-23 00:13 /zls



id
whoami
当然还有很多命令可以查看用户的信息,以下简单列举一些,都是我们压根不用的,了解即可
1)使用finger命令查询用户信息以及登录信息
2)使用chfn命令修改用户信息
等等
© 版权声明
THE END