Linux基础篇--用户和组管理命令

用户和组管理命令

用户管理命令:useradd  usermod  userdel  passwd

组管理命令:groupadd  groupmod  groupdel  groupmems   gpasswd

其他相关命令:newusers  chpasswd  chage  newgrp  id  su

 

用户管理命令

useradd    添加用户

    命令用法:useradd  [options]  LOGIN

          useradd  -D

          useradd  -D  [options]

    选项:

-u UID 指定UID

-o 配合-u 选项,不检查UID的唯一性

-g GID指明用户所属基本组,可为组名,也可以GID

-c更改用户的注释信息

-d HOME_DIR: 指定用户家目录(该目录为系统不存在的路径)

-s SHELL: 指明用户的默认shell类型   可用列表在/etc/shells文件中

-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在

-N 不创建私用组做主组,使用users组做主组

-r 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000

-m 创建家目录,用于系统用户

-M 不创建家目录,用于非系统用户

示例:

useradd -D   显示或更改默认设置

useradd –D -s SHELL

useradd –D –b BASE_DIR

useradd –D –g GROUP

useradd默认值设定目录:/etc/default/useradd

 

新建用户的相关文件和命令

    /etc/default/useradd

    /etc/skel/*

    /etc/login.defs

    newusers  passwd格式文件   批量创建用户

    chpasswd  批量修改用户口令,该命令用法与newusers一致

/etc/default/useradd文件内容   

/etc/sekl 表示家目录下用户目录的环境变量信息

查看该文件发现与家目录下文件一致

当新建用户时,系统会把/etc/skel目录下文件复制到用户家目录下

/etc/login.defs  该目录包含了关于用户的默认设置信息。

newusers  paswd格式文件   批量创建新用户

chpasswd  批量修改用户口令

 

usermod   用户属性修改

    命令用法: usermod  [options]  login

    选项:

-u UID: 新UID,指定用户UID

-g GID: 新主组,指定用户主组

-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-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: 设定非活动期限

 

userdel    删除用户

命令用法:userdel  [OPTION]... login

    选项:

        -r 删除用户家目录

 

密码管理

passwd  设置密码

    命令用法:passwd  [OPTIONS]  UserName

    选项:

-d:删除指定用户密码

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登录修改密码

原理:更改用户最后一次登录时间为1970.1.1,因此下次登录必须更改口令

-f: 强制操作

--stdin:从标准输入接收用户密码

echo "PASSWORD" | passwd --stdin USERNAME  修改密码(使用管道技术)

修改用户密码策略

chage    修改密码策略

    命令用法:chage [OPTION]... LOGIN

    选项:

-d LAST_DAY

-E --expiredate EXPIRE_DATE

-I --inactive INACTIVE

-m --mindays MIN_DAYS

-M --maxdays MAX_DAYS

-W --warndays WARN_DAYS

–l 显示密码策略

示例:

        chage -d 0 tom 下一次登录强制重设密码,相当于passwd  -e

 

组管理命令

groupadd   创建组

    命令用法:groupadd  [OPTION]... group_name

    选项:

-g GID: 指明GID号;[GID_MIN, GID_MAX]

-r: 创建系统组

CentOS 6版本:ID号1-499

CentOS 7版本:ID号1-999

 

groupmod  修改组属性

    用法:groupmod  [OPTION]... group

    选项:

-n group_name: 指定组名

-g GID: 指定组GID

 

groupdel  删除组

groupdel  组名   删除组

 

更改组密码

gpasswd   组密码

    命令用法:gpasswd  [OPTION]  GROUP

    选项:

-a user 将user添加至指定组中

-d user 从指定组中移除用户user

-A user1,user2,... 设置有管理权限的用户列表

newgrp    临时切换主组

 

groupmems    更改和查看组成员

    命令用法:groupmems  [options]  [action]

    选项:

    options:

-g, --group groupname 更改为指定组 (只有root)

    Actions:

-a, --add username 指定用户加入组

-d, --delete username 从组中删除用户

-p, --purge 从组中清除所有成员

-l, --list 显示组成员列表

    groups  [OPTION]  [USERNAME]...  查看用户所属组列表

 

id和su

id  查看用户ID信息

    命令用法:id  [OPTION]...  [USER]

    选项:

-u: 显示UID

-g: 显示GID

-G: 显示用户所属的组的ID

-n: 显示名称,需配合ugG使用

su  switch user  切换用户

    命令用法:su  [options...]  [-]  [user [args...]]

    切换用户方式:

su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录

su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

    root  su至其他用户无须密码;非root用户切换时需要密码

    换个身份执行命令:

        su  [-]  UserName  -c  'COMMAND'

    选项:

        -l  --login

        示例:su  -l  UserName 相当于 su - UserName

 

练习:

1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"

.2、创建下面的用户、组和组成员关系

名字为webs 的组

用户nginx 使用webs 作为附属组

用户varnish,也使用webs 作为附属组

用户mysql,不可交互登录系统,且不是webs 的成员,nginx,varnish,mysql密码都是magedu

参考答案:

1、useradd -G bin,root -s /bin/csh -c ""

2、groupadd webs

useradd -G webs nginx

useradd -G webs varnish

useradd -s /sbin/nologin mysql

echo magedu |passwd --stdin nginx

echo magedu |passwd --stdin varnish

echo magedu |passwd --stdin mysql

猜你喜欢

转载自blog.csdn.net/u013168176/article/details/81271003