Linux学习:Linux基础命令集(3)

本次记录以下命令如useradd, usermod, passwd, userdel, groupadd, groupmod, groupdel, gpasswd, su, id, chfn, chsh, chage, finger的使用格式、常用选项及它们有哪些使用实例等。

  • 用户和工作组管理相关命令

1. useradd 创建新用户命令

创建新用户命令格式:useradd [OPTION] LOGIN

OPTION:

-u 直接指定一个特定的UID给新建账号

-g 指定用户所属的基本组,此组必须事先存在

[[email protected] ~]# useradd -u 600 -g users t1

[[email protected] ~]# ll -d /home/t1

drwx------. 4 t1 users 4096 8月 31 19:31 /home/t1

-c 用户信息说明

-d 指定某个目录成为主文件夹,使用绝对路径

-G 指定所属的附加组(还可以加入的用户组)

[[email protected] ~]# useradd -u 3000 -g database -G sql -c DBA -d /home/database Oracle

[[email protected] ~]# grep Oracle /etc/passwd /etc/shadow /etc/group

/etc/passwd:Oracle:x:3000:502:DBA:/home/database:/bin/bash

/etc/shadow:Oracle:!!:16678:0:99999:7:::

/etc/group:sql:x:503:Oracle

[[email protected] ~]# id Oracle

uid=3000(Oracle) gid=502(database) 组=502(database),503(sql)

-s 指定用户shell

-M 不要创建用户主文件夹(系统账号默认值)

-m 要创建用户主文件夹(一般账号默认值)

-r 创建系统账户

[[email protected] ~]# useradd -r sysaccount

[[email protected] ~]# grep sysaccount /etc/passwd /etc/shadow /etc/group

/etc/passwd:sysaccount:x:495:491::/home/sysaccount:/bin/bash

/etc/shadow:sysaccount:!!:16678::::::

/etc/group:sysaccount:x:491:

useradd参考文件

[[email protected] ~]# useradd -D

GROUP=100                 <-- 默认用户组

HOME=/home              <-- 默认的主文件夹所在目录

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash          <-- 默认的shell

SKEL=/etc/skel             <-- 用户主文件夹的内容数据参考目录

CREATE_MAIL_SPOOL=yes

2. passwd设置密码命令

设置密码命令格式:passwd [OPTION] [USERNAME]

OPTION:

-l 使密码失效

-u未锁定密码

[[email protected] etc]# passwd -l Oracle

锁定用户 Oracle 的密码 。

passwd: 操作成功

[[email protected] etc]# passwd -S Oracle

Oracle LK 2015-08-31 0 60 7 10 (密码已被锁定。)

[[email protected] etc]# grep Oracle /etc/shadow

Oracle:!!$6$7f.VFz5z$TocJp42wo8V6DdsgcF.7TOxGLJwfsCQGuwpqyHSVhQ6hER6K3Kyr0CDQmdaPzCS.kyWySlwElYdTUwuNRuciG1:16678:0:60:7:10::

-n 多久不可修改密码天数

-x 多久内必须要改动密码

-w 密码过期前的警告天数

-i 密码失效日期

[[email protected] ~]# passwd lab_test1

更改用户 lab_test1 的密码 。

新的 密码:

无效的密码: 过短

无效的密码: 过于简单

重新输入新的 密码:

passwd: 所有的身份验证令牌已经成功更新。

-S 列出密码相关参数

[[email protected] etc]# passwd -S Oracle

Oracle PS 2015-08-31 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)

每60天需要更改密码,密码过期后10天未使用就宣告密码失效

[[email protected] etc]# passwd -x 60 -i 10 Oracle

调整用户密码老化数据Oracle。

passwd: 操作成功

[[email protected] etc]# passwd -S Oracle

Oracle PS 2015-08-31 0 60 7 10 (密码已设置,使用 SHA512 加密。)

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

[[email protected] etc]# echo "abcdefg" | passwd --stdin Oracle

更改用户 Oracle 的密码 。

passwd: 所有的身份验证令牌已经成功更新。

3. chage密码过期时间设置命令

修改账号和密码的有效期限。

密码过期时间设置命令格式:chage [OPTION]...LOGIN

OPTION:

-l 列出当前的设置(用户及密码的有效期限)

[[email protected] ~]# chage -l Oracle

Last password change : Aug 31, 2015

Password expires : Oct 30, 2015

Password inactive : Nov 09, 2015

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 60

Number of days of warning before password expires : 7

-d 最近一次更改密码的日期,格式YYYY-MM-DD

让用户在第一次登录时强制他们一定要更改密码后才能够使用系统资源

[[email protected] ~]# useradd agetest

[[email protected] ~]# echo "agetest" | passwd --stdin agetest

更改用户 agetest 的密码 。

passwd: 所有的身份验证令牌已经成功更新。

[[email protected] ~]# chage -d 0 agetest

You are required to change your password immediately (root enforced)

WARNING: Your password has expired.

You must change your password now and login again!

Changing password for user agetest.

Changing password for agetest.

(current) UNIX password:                         <-- 这个账号被强制要求必须更改密码!

-E 账号失效日,格式YYYY-MM-DD

-I 密码失效日期

-m密码最短保留天数

-M密码多久需要进行更改

-W密码过期前警告日期

4. usermod账号属性修改命令

用于修改用户的基本信息,它不允许你改变正在线上的使用者账号名称。当usermod命令用来改变user id,必须确认这名user没有在电脑上执行任何程序。

账号属性修改命令格式:usermod [OPTION]...LOGIN

OPTION:

-c修改账号的说明

[[email protected] ~]# usermod -c "lab_test1 is test Account" lab_test1

[[email protected] ~]# grep lab_test1 /etc/passwd

lab_test1:x:501:501:lab_test1 is test Account:/home/lab_test1:/bin/bash

-u 修改用户ID

-g 修改用户所属的基本组

-G 修改用户所属的附加组

-l 修改用户账号名称

-d 修改用户登入时的目录(主文件夹)

[[email protected] ~]# usermod -u 666 -g root -G lab_test1 -l test1_lab -d /account_lab lab_test1

lab_test1:x:501:501::/home/lab_test1:/bin/bash

[[email protected] /]# grep "test1_lab" /etc/passwd /etc/shadow /etc/group

/etc/passwd:test1_lab:x:666:0:lab_test1 is test Account:/account_lab:/bin/bash

/etc/shadow:test1_lab:$6$r26qUB6T$udvZrhtQh342s40B.QPX.gjkBi.jv8YZitOAu8F40k/9iJ0cBS3b/cz.2qDO5j3rrmIYT6d.BgdTWSW5Zr3xl.:16678:0:99999:7:::

/etc/group:lab_test1:x:501:test1_lab

-L 锁定用户密码,使密码无效

-U 解除密码锁定

-s 修改用户登入后所使用的shell

5. userdel删除账号命令

用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户账号,而不删除相关文件。

删除账号命令格式:userdel [OPTION]...LOGIN

OPTION:

-f 强制删除用户,即使用户当前已登录

-r 删除用户的同时,删除与用户相关的所有文件

用户账号/密码相关参数:/etc/passwd, /etc/shadow

用户组相关参数:/etc/group, /etc/gshadow

用户个人文件数据:/home/username, /var/spool/mail/username

t1:x:600:100::/home/t1:/bin/bash

[[email protected] ~]# userdel -r t1

[[email protected] ~]# ll -d /home/t1

ls: 无法访问/home/t1: 没有那个文件或目录

6. groupadd创建新工作组命令

创建一个新的工作组,其信息将被添加到系统文件中。

创建新工作组命令格式:groupadd [OPTION]...GROUPNAME

OPTION:

-g 指定新建工作组的ID

-r 创建系统工作组,系统工作组的组ID小于500

[[email protected] ~]# groupadd -g 600 lab_group1

[[email protected] ~]# grep lab_group1 /etc/group /etc/gshadow

/etc/group:lab_group1:x:600:

/etc/gshadow:lab_group1:!::

7. groupmod工作组属性更改命令

工作组属性更改命令格式:

groupmod [OPTION]...GROUPNAME

OPTION:

-g 修改既有的GID

-n 修改既有的组名称

[[email protected] ~]# groupmod -g 488 -n group1 lab_group1

[[email protected] ~]# grep group1 /etc/group /etc/gshadow

/etc/group:group1:x:488:

/etc/gshadow:group1:!::

8. groupdel删除工作组命令

删除指定的工作组,本命令要修改的系统文件包括/etc/group和/etc/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

删除工作组命令格式:groupdel GROUPNAME

[[email protected] ~]# groupdel group1

[[email protected] ~]# grep group1 /etc/group /etc/gshadow

9. gpasswd工作组密码设定命令

如果系统管理员没时间帮用户加入到指定工作组内,这时可新建“用户组管理员”来管理指定账号加入/移出有关用户组。

工作组密码设定命令格式:gpasswd [OPTION]...GROUPNAME

OPTION:

不带任何参数,表示给予groupname一个密码(/etc/gshadow)

-A 指定某用户账号为指定工作组的管理员

[[email protected] ~]# gpasswd -A Allen users

[[email protected] ~]# grep users /etc/group /etc/gshadow

/etc/group:users:x:100:

/etc/gshadow:users::Allen:

-r 将groupname的密码删除

-R 让groupname密码栏失效

-a 添加用户到指定组中

-d 从指定组中删除用户

[[email protected] ~]$ gpasswd -a lab_test2 users

Adding user lab_test2 to group users

[[email protected] ~]$ grep users /etc/group

users:x:100:lab_test2

  • 用户功能相关命令

10. finger查看用户信息命令

用于查看用户信息,包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。(大部分是/etc/passwd里面的信息)

单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。

查看用户信息命令格式:finger [OPTION] USERNAME OPTION:

-s 列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;

[[email protected] ~]# finger -s

Login Name Tty Idle Login Time Office Office Phone

root root pts/1 Sep 1 10:28 (10.10.6.240)

[[email protected] ~]# finger root

Login: root Name: root

Directory: /root Shell: /bin/bash

On since 二 9月 1 10:28 (CST) on pts/1 from 10.10.6.240

New mail received 二 9月 1 10:28 2015 (CST)

Unread since 二 10月 8 12:23 2013 (CST)

11. chfn改变finger显示信息命令

改变finger命令显示的信息。这些信息都存放在/etc目录里的passwd文件里。若不指定任何选项,则chfn命令会进入问答式界面。

改变finger显示信息命令格式:chfn [OPTION] [USERNAME] OPTION:

-f 设置真实姓名

-h 设置家中的电话号码

-o 设置办公室地址

-p 设置办公室的电话号码

[[email protected] ~]# chfn -f Allen.Huang

Changing finger information for root.

Finger information changed.

[[email protected] ~]# grep root /etc/passwd

root:x:0:0:Allen.Huang:/root:/bin/bash

12. chsh更改shell命令

更换登录系统时使用的shell。若不指定任何参数与用户名称,则chsh会以应答的方式进行设置。

更改shell命令格式:chsh [OPTION] [USERNAME]

OPTION:

-l 列出目前系统可用的shell清单(/etc/shells)

[[email protected] ~]$ chsh -l

/bin/sh

/bin/bash

/sbin/nologin

/bin/dash

/bin/tcsh

/bin/csh

-s 更改用户预设的shell环境

[[email protected] ~]# chsh -s /bin/csh Allen; grep Allen /etc/passwd

Changing shell for Allen.

Shell changed.

root:x:0:0:Allen.Huang:/root:/bin/bash

Allen:x:500:500:Allen.Huang:/home/Allen:/bin/csh

13. id查询账户信息命令

显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。

查询账户信息命令格式:id [OPTION] [USERNAME]

OPTION:

-g显示用户所属群组的ID

-G显示用户所属附加群组的ID

-u显示用户ID

[[email protected] ~]# id root

uid=0(root) gid=0(root) 组=0(root)

14. su切换用户身份命令

用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

切换用户身份命令格式:su [OPTION]...[USERNAME]

OPTION:

- 代表切换为root身份

-l 改变身份时,也同时变更工作目录,以及HOME,SHELL, USER, LOGNAME。也会变更PATH变量

-m,-p变更身份时,不要变更环境变量

-c执行完指定的指令后,即恢复原来的身份

使用root切换成为任何用户时,并不需要输入新用户的密码。

[[email protected] ~]# su -l Allen

[[email protected] ~]$ env |grep Allen                      <--用户的环境变量

HOME=/home/Allen

USER=Allen

LOGNAME=Allen

PWD=/home/Allen

GROUP=Allen

MAIL=/var/spool/mail/Allen

[[email protected] ~]$ useradd –D               <--此用户无权限执行此命令

useradd: Command not found.

[[email protected] ~]$ su - -c "useradd -D"         <--Root权限执行此命令

密码:

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

[[email protected] ~]$ su -

密码:

[[email protected] ~]#

时间: 2024-08-04 07:06:17

Linux学习:Linux基础命令集(3)的相关文章

linux学习之——基础命令

Linux体系基础命令: Linux是一个命令行组成的操作体系!精华在命令行,岂论图形界面成长到什么水平这个原理是不会变的,Linux命令有许多壮大的效用:从简单的磁盘操作.文件存取.到举办庞大的多媒体图象和流媒体文件的制造. 安设和登录命令:login. shutdown. hwoulsternbyive. rekick out .mount.umount .chsh文件执掌命令:file. mkdir. grep.dd. find. mv .ls .diff. cby. ln体系管理相关命令

linux学习笔记——基础命令、快捷键与认识虚拟机

虚拟机[[email protected] Desktop]$ rht-vmctl start desktop     ###开启Starting desktop.[[email protected] Desktop]$ rht-vmctl view desktop    ##显示[[email protected] Desktop]$ rht-vmctl stop desktop    ##正常关闭虚拟机[[email protected] Desktop]$ rht-vmctl powero

Linux学习日记--基础命令(5)--用户和组概念与管理--文件权限

用户和组管理: 以下区间区别于centos6,和centos7  Linux用户:Username/UID        管理员:root, 0        普通用户:1-65535            系统用户:1-499, 1-999                 对守护进程获取资源进行权限分配:            登录用户:500+, 1000+                交互式登录: Linux组:Groupname/GID         管理员组:root, 0    

Linux学习日记--基础命令(3)

文件操作 cp, mv, rm 复制命令:cp        cp [OPTION] SOURCE DEST cp SRC DEST            SRC是文件:                如果目标不存在:新建DEST,并将SRC中内容填充至DEST中:                如果目录存在:                    如果DEST是文件:将SRC中的内容覆盖至DEST中:                        此时建议为cp命令使用-i选项:      

Linux学习之基础命令

绝对路径:从根开始相对路径:不是从根开始的路径(相对于当前所处路径而谈) ls: [[email protected] ~]# ls -l total 190316 -rw-r--r--  1 root root         0 Jul  4  2012 1 -rw-r--r--  1 root root         8 Jun  2  2015 1.txt-:查看文件详细信息 -l:查看文件详细信息 文件类型        -:普通文件        d:目录文件        b:块

Linux学习日记--基础命令(4)--文本处理,重定向,管道

打开的文件都有一个fd: file descriptor (文件描述符) 标准输入:keyborad, 0        标准输出:monitor, 1        标准错误输出:monitor, 2 I/O重定向:改变标准位置 输出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS            >:覆盖重定向,目标文件中的原有内容会被清除:            >>: 追加重定向,新内容会追加至目标文件尾部: # set

Linux学习日记--基础命令(7)--bash中的变量,配置文件

变量的定义和使用 变量类型 强类型:定义变量时必须指定类型.参与运算必须符合类型要求:调用未声明变量会产生错误: 弱类型:无须指定类型,默认均为字符型:参与运算会自动进行隐式类型转换:变量无须事先定义可直接调用: 变量命名法则:                1.不能使程序中的保留字:例如if, for;                 2.只能使用数字.字母及下划线,且不能以数字开头:                3.见名知义,         bash中的变量的种类:          

Linux学习日记--基础命令(10)--文件查找

文件查找: 文件查找:locate, find        非实时查找(数据库查找):locate        实时查找:find    locate:        依赖于事先构建的索引:索引的构建是在系统较为空闲时自动进行(周期性任务):手动更新数据库(updatedb): 索引构建过程需要遍历整个根文件系统,极消耗资源: 工作特点:            查找速度快:            模糊查找:            非实时查找: locate KEYWORD     find:

Linux学习日记--基础命令(6)--grep及正则表达式

grep: Global search REgular expression and Print out the line.        作用:文本搜索工具,根据用户指定的"模式"对目标文本逐行进行匹配检查:打印匹配到的行:            模式:由正则表达式字符及文本字符所编写的过滤条件:            REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或通配的功能:                分两类:         

Linux学习 -- Shell基础 -- 概述

Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串  双引号 -- 支持转义字符串 \e[1;31m xxx  开启颜色 \e[0m    关闭颜色 首行:#!/bin/bash #写好注释 执行方式: 方式1 sh xxx.sh 方式2 chmod 755 xxx.sh  ./xxx.sh 或 绝对路径 Linux学习 -- Shell基础 -- 概述