学习linux-基础四(用户创建、修改、删除)

用户的创建、修改、删除

一、用户创建

useradd usermod userdel

useradd:创建用户:create a new user or update default new user information

useradd [options]… LOGIN

-u,–uid:指定新用户的UID

-o,配合-u使用,不检测用户UID的唯一性(可创建2个相同UID的帐号)

-g,–gid:指定新建用户的GID

-G,–group:指定新建用户的附加组,若指定多个组可用,分割

-d,–home:指定用户的家目录

但是其指定目录的父目录必须存在,否则无法创建其家目录

每个用户家目录都有其配置文件,所有新建用户的家目录中的文件均来自/etc/skel/文件中

若其指定的家目录已经存在,则不会复制/etc/skel/文件中的内容

-s,–shell;指定用户的默认shell

当前系统所有可用shell保存在/etc/shells文件中

-c,指定用户信息的注释信息

-r,–system:指定其创建的用户为系统用户,系统用户不会为其创建家目录

-N,不为用户创建同名的组作为用户基本组,而是使用users作为基本组

[[email protected] ~]# id zcg
uid=506(zcg) gid=507(zcg) groups=507(zcg)
[[email protected] ~]# useradd -ou 506 zcm
[[email protected] ~]# id zcm
uid=506(zcg) gid=513(zcm) groups=507(zcg)
[[email protected] ~]# useradd -g zcg -G zcm zcm1
[[email protected] ~]# id zcm1
uid=512(zcm1) gid=507(zcg) groups=507(zcg),513(zcm)
[[email protected] ~]# useradd -r zcm3
[[email protected] ~]# getent passwd zcm3   #从passwd库中得到账号zcm3的信息
zcm3:x:496:492::/home/zcm3:/bin/bash
[[email protected] ~]# id zcm3
uid=496(zcm3) gid=492(zcm3) groups=492(zcm3)
[[email protected] ~]# ls -d /home/zcm*
/home/zcm  /home/zcm1
[[email protected] ~]# useradd -N zcm4
 [[email protected] ~]# getent passwd zcm4
zcm4:x:513:100::/home/zcm4:/bin/bash
[[email protected] ~]# groups zcm4
zcm4 : users

useradd -D

显示创建用户的默认信息

useradd -D [options]

修改创建用户的默认信息,其本质是修改的/etc/default/useradd文件的内容

[[email protected] ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[[email protected] ~]# useradd -D -s /bin/csh
[[email protected] ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/csh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

二、账号修改

usermod:修改用户属性 modify a user account

usermod [options]… LOGIN

-u,修改用户的ID,为用户指定行的UID

-g,修改用户的基本组

-G,修改用户的附加组,若指定多个组可用,分割

-a,与-G结合使用,追加用户的附加组,可以在修改附加组的时候,不覆盖当前用户附加组

-d,修改用户的家目录,但不会负责当前目录文件在指定目录中

-m,与-d结合使用,在修改用户家目录时候,会转移家目录下的文件,-md其实完成的工作是移动和重命名

-c,修改用户的注释信息

-s,修改用户的默认shell

-l,修改当前用户的用户名

-L:–lock:锁定用户密码,被锁定用户,cat /etc/shadow查看密码时,其密码前面有一个!

-U:–unlock:解锁用户密码

-c:YYYY-mm-dd:指定用户帐号过期时间

-f day:指定用户非活动时间

[[email protected] ~]# id admins
uid=509(admins) gid=510(admins) groups=510(admins)
[[email protected] ~]# usermod -g zcl1840 -aG zcl4,zcl5 admins

[[email protected] ~]# id admins
uid=509(admins) gid=500(zcl1840) groups=500(zcl1840),505(zcl4),506(zcl5)

[[email protected] ~]# id zcl4
uid=504(zcl4) gid=505(zcl4) groups=505(zcl4),501(zclgroup)
[[email protected] ~]# usermod -u 3000 -md /testdir/zcl4 -s /bin/csh zcl4  #目录zcl4会被创建
[[email protected] ~]# id zcl4
uid=3000(zcl4) gid=505(zcl4) groups=505(zcl4),501(zclgroup)
[[email protected] testdir]# getent passwd zcl4
zcl4:x:3000:505::/testdir/zcl4:/bin/csh
[[email protected] testdir]# ls -a /testdir/zcl4
.   .bash_logout   .bashrc  .mozilla
..  .bash_profile  .gnome2

 

[[email protected] testdir]#  usermod -c "hello ni hao" -l zcy zcl1    #zcy为为创建的账号,相当与将zcl1改名为zcy了
 [[email protected] testdir]#  usermod -c "hello ni hao" -l zcl1 zcy   #又改回原来的名字
[[email protected] testdir]# id zcy
id: zcy: No such user 
[[email protected] testdir]# getent passwd zcl1
zcl1:x:501:502:hello ni hao:/home/zcl1:/bin/bash

  

[[email protected] testdir]# usermod -L zcm                    #锁定密码
[[email protected] testdir]# getent shadow zcm
zcm:!$6$B9iJPCO8$it6Y3lFC4rKzdZQ4m34K11YJixutb1Pw1BPnX1Z5cMGq35qV2E3jQev8QOGiOdL.75Ml6hECXrOtDez2vdzY50:17143:0:99999:7:::
[[email protected] testdir]# usermod -U zcm                    #解锁定
[[email protected] testdir]# getent shadow zcm
zcm:$6$B9iJPCO8$it6Y3lFC4rKzdZQ4m34K11YJixutb1Pw1BPnX1Z5cMGq35qV2E3jQev8QOGiOdL.75Ml6hECXrOtDez2vdzY50:17143:0:99999:7:::

  

 三、删除用户

userdel:delete a user account and related files

userdel [options] LOGIN

-r:删除用户时一并删除其家目录

[[email protected] testdir]# ls -d /home/zcm*
/home/zcm  /home/zcm4
[[email protected] testdir]# userdel -r zcm4
[[email protected] testdir]# id zcm4
id: zcm4: No such user
[[email protected] testdir]# ls -d /home/zcm*
/home/zcm

 

id:显示用户的真实有效的UID和GID

id [OPTION]… [USERNAME]

-u:仅显示用户的UID

-g:仅显示用户的GID

-G:仅显示用户的附加组ID

-n:与-u -g -G结合使用,不显示用户的ID信息,而显示ID所对于的用户名或组名

[[email protected] testdir]# id -u zcm
506
[[email protected] testdir]# id -nu zcm
zcg
[[email protected] testdir]# id -g zcm
500
[[email protected] testdir]# id -ng zcm
zcl1840
[[email protected] testdir]# id -G zcm
500 507 502 503
[[email protected] testdir]# id -nG zcm
zcl1840 zcg zcl1 zcl2

 

su:切换用户或以其他用户身份执行命令

su [OPTION]… [-] [USER [ARG]…]

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

[[email protected] testdir]# su zcg
[[email protected] testdir]$

登录式切换,会读取目标用户的配置文件,模拟重新登录,切换至家目录,完全切换  

[[email protected] testdir]# su - zcg
[[email protected] ~]$ pwd
/home/zcg
[[email protected] testdir]# su -l zcg
[[email protected] ~]$ pwd
/home/zcg

 

id [OPTION]… [USERNAME]

-l,-u:锁定和解锁用户,用passwd给用户家的锁,其密码前面有2个!!

-d:清除用户密码串,并且强制用户下次登录时修改密码

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

-n:指定最短使用期限

-x:指定最多使用期限

-w:指定警告期限

-i:指定非活动期限(密码过期后必须修改密码才能登录的时间)

-uf:可以强制新创建的无密码的用户中的锁强制消除,即该用户可以直接登录

–stdin:从标准接收用户的密码

[[email protected] testdir]# echo "centos" | passwd -stdin zcg

  

四、组的创建、修改、删除

groupadd groupmod groupdel

groupadd:添加组

-g:指定新建组的GID

-r:指定新建组为系统组

[[email protected] testdir]# groupadd -g 3500 test
[[email protected] testdir]# getent group test
test:x:3500:
[[email protected] testdir]# groupadd -r test1
[[email protected] testdir]# getent group test1
test1:x:491:

 

groupmod:修改组属性

-g:修改组的GID

-n new_name:修改组的名字

[[email protected] testdir]# groupmod -g 3600 -n txt test
[[email protected] testdir]# getent group txt
txt:x:3600:

groupdel:删除组

当使用Groupdel一个组的时候,如果有用户把这个组当作主组,那么删除这个组时就会出现这个报错信息。解决方法就是更换用户的主组,使用usermod -g groupname username.当没有用户把这个组当作主组的时候,使用groupdel groupname时便可以把这个组删除掉。
注意usermod -g groupname username是把username的主组变成groupname,而usermod -G groupname username只是把用户加到groupname组,并没有改变主组。

[[email protected] testdir]# groupdel test
groupdel: cannot remove the primary group of user ‘test‘
[[email protected] testdir]# id test
uid=3001(test) gid=3001(test) groups=3001(test)
#若无法删除,更改主组
[[email protected] testdir]# usermod -g zcl1 test
[[email protected] testdir]# id test
uid=3001(test) gid=502(zcl1) groups=502(zcl1)
[[email protected] testdir]# groupdel test

gpasswd:修改组密码

gpasswd [OPTION] GROUP

gpasswd GROUP :给GROUP组设置密码,不能像passwd可以从标准输入捕捉数据,避免交互

-A user1,user2,…:设置GROUP组的管理者

-a user :把user添加进入GROUP组

-d user:把user从组GROUP中移除

newgrp 命令:

临时切换基本组;

如果用户本不属于此组,则需要组密码

groupmems:更改和查看组成员

groupmems [options] [action]

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

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

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

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

-g, –group groupname 更改为指定组,与-p-l选择组合使用完成特定组的操作(只有root)

groupmems -l -g GROUPNAME 查看组所属的用户列表

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

  

  

 

 

 

  

  

 

 

  

  

时间: 2024-10-19 06:37:03

学习linux-基础四(用户创建、修改、删除)的相关文章

Linux基础学习-用户的创建修改删除

用户添加修改删除 1 useradd添加用户 添加一个新用户hehe,指定uid为3000,家目录为/home/haha [[email protected] ~]# useradd -u 3000 -d /home/haha hehe hehe:x:3000:3000::/home/haha:/bin/bash [[email protected] ~]# ls /home/ haha 这里-u是uid,-g可以指定组id,不定值系统自动分配,-G可以指定附加组,如果不想让用户登录系统可以指定

Linux创建修改删除用户和组

Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先从用户信息开始分析,可以通过查询/etc/password文件,每一行代表一个用户信息 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin m

Linux学习笔记(十二)--命令学习(用户创建、删除等)

通过上面的几章学习,我们对linux有了一些了解,现在我们再继续进行下去.... 我们习惯的windows 界面系统中,只要在界面里去下鼠标,填写等这些就可以完成了一个用户创建.删除.添加所属组等,那我们在linux里又是怎么操作的呢??? 下面在学习如何使用命令进行一系列的操作时,我们要先了解一些别的: 在linux系统里除了我们要新建的用户外,还有一些特定的用户,我们称呼它为:伪用户. -----------------------------------------------------

打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demoback.lalalaweb.com  前台:demo.lalalaweb.com 演示过程中可能会发现bug,希望即时留言反馈,谢谢 源码下载:https://github.com/sutianbinde/classweb               //不是全部的代码,每次更新博客才更新代码 学

linux基础知识---用户

用户和组 一.用户和组的概念 随着计算机对多用户需求越来越多,才引入了用户和组的概念.所谓的用户就是操作系统用来标识登陆系统的.就是用户和组是实现计算机资源分配的核心要素.组:是具有相同计算机资源(主要指权限)用户的一个集合. 在计算机内核中,用户和组都是一个数字,我们称之为UID和GID.UID和GID在系统中具有唯一性.实现这个过程进行名称解析才能完成,在Linux系统中使用glib库中的系统调用来完成. 二.用户识别 识别用户通过3A(Authentication,Authorizatio

(赵小明RHCE笔记)linux基础之三 用户、组及权限

一.user1.每个用户将指派唯一用户ID(UID)  root的ID为0  普通用户ID从500开始(0-500系统使用)2.用户名和用户ID存在 /etc/passwd中3.当用户登陆时系统自动为其分配一个用户家目录4.用户无法读.写.执行其他用的文件二.changing file ownership1.only root can change a file's owner2.only root or the owner can change a file's group3.ownershi

Drupal 7 建站学习手记(四):修改Nivo Slider模块的宽高

背景 Nivo Slider模块默认大小是用的height: 100%, width 100%, 但IE7及以下的浏览器是不支持百分比宽高的, 而我的项目目标用户基本都是使用XP系统,项目需求是必须兼容IE7. 因此需要对其CSS修改成绝对像素大小. 问题 修改之后却出现了问题,因为用户上传的图片长宽比是不一样的, 指望用户每次上传的时候先用PS裁剪一下明显不现实, 于是我在CSS里将其拉伸了,这样就不会导致图片只显示一部分. .block-nivo-slider img { width: 45

DDL 数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

/*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修改: alter 删除: DROP DATABASE [IF EXISTS] 库名; */ #一 : 库的管理 #1 库的创建 CREATE DATABASE books; CREATE DATABASE IF NOT EXISTS books; #2/库的修改 #库名的修改,需要停止服务器,然后修

学习linux/unix编程方法的建议,学习Linux的四个步骤(转)

解答:学习Linux的四个步骤假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式系统编程推荐<高级unix环境编程>,黑话叫APUE还有<unix网络编程>这时候