useradd 创建的新的系统用户
-u UID(唯一号)
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息 useradd -c "zhangyide" laosan
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6之前: ID<500,CentOS7 以后: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
-p 指定加密的密码
[root@CentOS ~]# useradd zhangfei #创建用户
[root@CentOS ~]# id zhangfei #查看
uid=1001(zhangfei) gid=1001(zhangfei) 组=1001(zhangfei)
[root@CentOS ~]# useradd -u 1234 guanyu #创建用户 指定uid
[root@CentOS ~]# id guanyu
uid=1234(guanyu) gid=1234(guanyu) 组=1234(guanyu)[root@CentOS ~]# useradd -u 1050 -g 2000 wei #创建用户指定uid,指定组
[root@CentOS ~]# id wei
uid=1050(wei) gid=2000(wei) 组=2000(wei)[root@CentOS ~]# useradd -G cmcc zhangliu #指定附加组
[root@CentOS ~]# id zhangliu
uid=1235(zhangliu) gid=1235(zhangliu) 组=1235(zhangliu),2001(cmcc)
groupadd创建组
-g GID 指明GID号;[GID_MIN, GID_MAX]
-r 创建系统组,CentOS 6之前: ID<500,CentOS 7以后: ID<1000
[root@CentOS ~]# groupadd -g 2000 wei #创建组
groupmod修改组
-n group_name: 新名字
-g GID: 新的GID
usermod 命令可以修改用户属性
-u UID: 新UID
-g GID: 新主组
-G 新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字
-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限,即宽限期
[root@CentOS ~]# getent passwd |tail #查看
zhangfei:x:1001:1001::/home/zhangfei:/bin/bash
[root@CentOS ~]# usermod -u 1002 zhangfei
[root@CentOS ~]# getent passwd |tail #修改uid
zhangfei:x:1002:1001::/home/zhangfei:/bin/bashusermod -G '' wei #把附加组都清空
userdel 可删除Linux 用户
-f, --force 强制
-r, --remove 删除用户家目录和邮箱 彻底删干净
groupdel 删除组
-f, --force 强制删除,即使是用户的主组也强制删除组,但会导致无主组的用户不可用无法登录
gpasswd 修改用户组
a user 将user添加至指定组中
-d user 从指定附加组中移除用户user
-A user1,user2,... 设置有管理权限的用户列表
-r移除群组的密码,仅 root 用户可用。
-R让群组的密码失效,仅 root 用户可用。
-M 将 user1,... 加入到此群组中,仅 root 用户可用。
groupmems 更改组成员 (多数需要和-g配合)
-g, --group groupname 更改为指定组 (只有root)
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有除主组的成员
-l, --list 显示组成员列表
getent -- 查看记录
查看文件 /etc/protocols 中的所有记录
[root@htlwk0001host ~]# getent protocols
ip 0 IP
hopopt 0 HOPOPT
icmp 1 ICMP
igmp 2 IGMP
ggp 3 GGP
ipv4 4 IPv4
st 5 ST
根据主机名称,查看对应的IP地址
例如,你知道主机名称 ubuntu,要查看对应的IP地址,可以执行下面的命令:
[root@htlwk0001host ~]# getent hosts ubuntu
127.0.1.1 ubuntu
192.168.0.2 ubuntu
getent 命令会读取文件 /etc/hosts 中的内容,检索 ubuntu 有关的条目,将检索到的结果输出。
根据域名查找对应的IP
[root@htlwk0001host ~]# getent hosts myhost.mydomain.com
15.77.3.40 myhost.mydomain.com myhost
根据用户名查找对应的UID
[root@htlwk0001host ~]# getent passwd greys
greys:x:1000:1000:Gleb Reys:/home/greys:/bin/bas
getent 命令会读取文件 /etc/passwd 的内容,检索 greys 有关的条目,并输出检索到的结果。
获取当前登陆用户的信息
[root@htlwk0001host ~]# getent passwd `whoami`
root:x:0:0:root:/root:/bin/bash
注意:whoami 使用反撇号引起来。
根据UID查找用户名
[root@htlwk0001host ~]# getent passwd 1000
greys:x:1000:1000:Gleb Reys,,,:/home/greys:/bin/bash
查找那个服务在使用特定端口
[root@htlwk0001host ~]# getent services 22
ssh 22/tcp
[root@htlwk0001host ~]# getent services 21
ftp 21/tcp
[root@htlwk0001host ~]# getent services 25
smtp 25/tcp mail