Linux学习(三):shell及shell命令之用户管理

1、shell介绍

英文单词Shell可直译为“贝壳”。“贝壳”是动物作为外在保护的一种工具。在Linux系统中,shell是命令行解释器,即用户输入命令,然后shell解释这些命令,根据不同的命令,给用户返回不同的结果。

Linux 支持的shell种类很多,目前比较流行shell有以下几种:

Bourne Shell(简称sh):BourneShell由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名。它是Unix的第一个Shell程序,早已成为工业标准。目前几乎所有的Linux系统都支持它。不过BourneShell的作业控制功能薄弱,且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。

C Shell(简称csh):CShell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进BourneShell的一些缺点,并使Shell脚本的编程风格类似于C语言,因而受到广大C程序员的拥护。不过CShell的健壮性不如Bourne Shell

Korn Shell(简称ksh):KornShell由David Korn开发,解决了BourneShell的用户交互问题,并克服了CShell的脚本编程怪癖的缺点。KornShell的缺点是需要许可证,这导致它应用范围不如BourneShell广泛。

Bourne Again Shell(简称bash):BourneAgain Shell由AT&T贝尔实验室开发,是BourneShell的增强版。随着几年的不断完善,已经成为最流行的Shell。它包括了早期的BourneShell和Korn Shell的原始功能,以及某些CShell脚本语言的特性。此外,它还具有以下特点:能够提供环境变量以配置用户Shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。

通常shell命令提示符采用以下的格式:

username:用户名,显示当前登录用户的账户名。

hostname:主机名,例如远程登录后,则显示登录的主机名。

direction:目录名,显示当前所处的路径,当在根目录下显示为“/,当在用户主目录下显示为“~

$Shell提示符,如果当前用户为超级用户,提示符为“#,其他用户的提示符均为“$

2、shell命令之用户管理

2.1 用户的定义

Linux是多用户多任务的操作系统,在系统中可以建立多个用户。

2.1.1 用户的属性

1、用户名
用户名就是账号,用来对应UID
2、口令
口令就是登陆账号的密码
3、用户ID(UID)
UID是账号的标识符。UID为0,表示为系统管理员账户。500-65535为普通账号
4、用户主目录(HOME)
默认用户家目录在“/home/用户名”目录下
5、用户shell
当用户登陆系统后就会取得一个shell来与系统的核心沟通以进行用户的操作任务。

2.1.2 用户与组

用户组是具有相同特征的用户的集合体,通过用户组可以让多个用户具有相同的权限。

2.1.3 相关配置文件

1、 etc/paddwd文件
/etc/passwd文件是系统能够识别的用户清单,用户登陆时,系统查询这个文件,确定用户的UID并验证用户口令。文件包括以下几部分内容,以“:”分割:
登陆名
经过加密的口令
UID
默认的GID
个人信息
主目录
登陆shell


linzhou:X:1006:1000:linzhou,1,1,1,2:/home/linzhou:bin/bash
这个的意思也就是说,登陆名称为linzhou,加密口令X,用户ID为1006,组ID为1000,个人信息为linzhou,1,1,1,2,主目录为/home/linzhou,默认的shell为bin/bash
2 、 /etc/shadow
/etc/shadow文件是加密的用户清单只有超级用户可以访问这个文件,用来保护加密口令的安全
1.登陆名
2.经过加密的口令
3.上次修改口令的时间
4.两次修改口令之间最少的天数
5.两次修改口令之间最多的天数
6.提前多少天警告用户口令即将过期
7.在口令过期之后多少天禁用账号
8.账号过期的日期
9.保留字段,目前为空




3、/etc/group文件
包含了UNIX组的名称和每个组中成员列表
每一行代表一个组,包括4个字段:
1、组名
2、加密的口令
3、GID号
4、成员列表,彼此用逗号隔开



 

2.2 用户组shell命令

2.2.1 添加用户adduser

语法:   adduser  <username>

实例: 
    # adduser  newuser

            添加用户名为newuser的新用户

2.2.2 删除用户deluser

语法:   deluser  <username>

使用方法:

  deluser --remove-home  user1

 

 添加--remove可以删除用户user1的同时删除用户的工作目录

2.2.3 修改用户属性usermod

语法:usermod   [-u uid [-o]] [-g group] [-G gropup, ]

                          [-d home [-m]] [-s shell] [-c comment]

                          [-l new_name] [-f inactive][-e expire]

                          [-p passwd] [-L|-U] name

参数说明:

 -u 修改用户ID

        -g 修改用户所属的组

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

-d 修改用户登录时的目录

-s 修改用户登录后所用shell

-c 修改用户账号的备注文字

-l 修改用户账号名称

   -f 修改在密码过期后多少天即关闭该账号

-e 修改账号的有效期限

-p 修改账户密码

 -L 锁定用户密码

-U 接触密码锁定         


2.2.4 添加组groupadd

每个用户都有一个用户组,通过用户组系统能对组中的所有用户进行集中管理。
语法: groupadd  


参数:
    -g,指定用户组的组ID

使用方法:

  groupadd -g 105 group

 添加一个组,组名为group,组ID为105

2.2.5 删除组

语法:   delgroup  groupname

使用方法:

  delgroup  groupname1

2.2.6 修改用户组属性

语法:groupmod [options] groupname
-g 为用户组指定新的组ID
-n 用户组的新组名
事例:
groupmod -g 10001 -n group1 group
将组名为group的组ID修改为1001,组名称修改为group1



        




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值