admin 管理员组文章数量: 887021
liunx-基本指令集合--2
- 一:用户
-
- 1> useradd 、userdel
- 2> passwd
-
- 1. 修改用户密码
- 2. 显示账号密码信息
- 3. 帐户密码状态
- 4. 锁定、解锁用户
- 5. 更改用户密码使用情况
- 6. /etc/shadow各字段含义
- 3> 用户处理
-
- 1. 删除
- 2. 切换用户
- 4> 添加批量用户
- 二: 权限管理
-
- 1> 用户组管理
-
- 1. 用户账号管理
-
- A:useradd
- 2> 用户口令的管理
- 3> 用户组的管理
-
- 1. 主组和附加组的关系
- 2. 用户组配置文件/etc/group
- 3. 新增组命令
- 4. 删除组命令
- 5. 修改用户组的属性命令
- 6. 管理用户入组
- 7. 组切换
- 4> ACL权限
- 5> 文件相关
-
- 1. df -h磁盘使用情况统计
- 2. mount 挂载
- 三: 其他常用命令一览
-
- 1> date 时间
- 2> ps 显示当前进程的状态
- 3> top 监控linux的系统状况
- 4> pidof指定名称进程的进程
- 5> kill
-
- 1. kill 删除执行中的程序
- 2. killall杀死进程
- 6> ifconfig显示或配置网络设备的命令
- 7> uname显示操作系统信息
- 8> uptime 时间和系统的平均负载
- 9> free 物理和交换内存总量
- 10> who&last&history
-
- 1. who显示系统使用者正在上面
- 2. last 显示用户最近登录信息
- 3. history显示与管理历史记录
- 11> sosreport 数据收集工具
- 12> pwd显示工作目录
- 13> wc 用于计算字数
- 14> stat 显示 inode 内容
- 15> cut 显示起 num1-num2 文字
- 16> diff 比较文件的差异
- 17> dump 备份文件系统
- 18> restore 写回
- 19> cp 制文件和目录
- 20> mv 移动
- 21> rm 删除
- 22> dd 读取、转换并输出数据
- 23> file 辨识文件类型
- 24> lsof 列出已经打开的所有文件
-
- 1. 基本输出
- 2. demo
- 25> vmstat 展现服务器的状态值
-
- 1. 介绍
- 2. demo
- 26> dmesg 显示开机信息
- 27> path 环境变量
-
- 1. 介绍
- 2. PATH demo
- 28> read 从标准输入读取数值
-
- 1. 介绍
- 2. demo
- 29> rsyslog 系统日志的处理转发
-
- 1. 介绍
- 2. facility:设施、信道
- 3. 日志级别
- 4.rsyslog配置
- 四:Vim 与 Shell 命令
一:用户
1> useradd 、userdel
作用:
命令用于建立用户帐号
useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码
使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中。
userdel
删除帐号
格式:
useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号]
参数说明:
参数 | 说明 |
---|---|
-c<备注> | 加上备注文字。备注文字会保存在passwd的备注栏位中。 |
-d<登入目录> | 指定用户登入时的起始目录。 |
-D | 变更预设值. |
-e<有效期限> | 指定帐号的有效期限。 |
-f<缓冲天数> | 指定在密码过期后多少天即关闭该帐号。 |
-g<群组> | 指定用户所属的群组。 |
-G<群组> | 指定用户所属的附加群组。 |
-m | 自动建立用户的登入目录。 |
-M | 不要自动建立用户的登入目录。 |
-n | 取消建立以用户名称为名的群组. |
-r | 建立系统帐号。 |
-s | 指定用户登入后所使用的shell。 |
-u | 指定用户ID |
用法:
新添加的用户指定home目录
useradd -d /home/user aa
2> passwd
linux passwd命令用来更改使用者的密码
语法:
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
必要参数说明:
参数 | 说明 |
---|---|
-d | 删除密码 |
-f | 强迫用户下次登录时必须修改口令 |
-w | 口令要到期提前警告的天数 |
-k | 更新只能发送在过期之后 |
-l | 停止账号使用 |
-S | 显示密码信息 |
-u | 启用已被停止的账户 |
-x | 指定口令最长存活期 |
-g | 修改群组密码 |
-i | 口令过期后多少天停用账户 |
选择参数:
参数 | 说明 |
---|---|
–help | 显示帮助信息 |
–version | 显示版本信息 |
使用: |
1. 修改用户密码
passwd runoob
2. 显示账号密码信息
passwd -S runoob
3. 帐户密码状态
passwd --status 帐户
LK:密码被锁定
NP:没有设置密码
PS:密码已设置
4. 锁定、解锁用户
passwd -l oldboy #锁定用户 oldboy 的密码
passwd -u oldboy # 解锁用户 oldboy 的密码
5. 更改用户密码使用情况
chage
参数 | 含义 |
---|---|
-d | 设置最近一次更改密码时间,0下次登陆系统强制修改密码 |
-m | 设置用户两次改变密码之间使用“最小天数” |
-M | 设置用户两次改变密码之前使用“最大天数” |
-W | 设置密码更改告警时间,将过期警告天数设为“警告天数” |
-I | 设置密码过期天数后,密码为失效状态 |
-E | 设置用户过去时间,账户失效后无法登陆 |
-l | 显示用户详细信息(各个时间段) |
chage -m 2 oldboy
chage -M 10 oldboy
chage -W 5 oldboy
6. /etc/shadow各字段含义
cat /etc/shadow
ceshi1:!!:18183:0:99999:7:::
/etc/shadow 由’:'分割成9个字段,每个字段的具体含义如下
字段名称 | 含义 |
---|---|
用户登陆名 | 用户的账户名称 |
加密后的密码 | 用户密码,这是加密过的口令(未设置密码为!!) |
最近一次密码更改时间 | 从1970年到最近一次更改密码时间之间过了多少天 |
密码最少使用几天 | 密码最少使用几天才可以更改密码(0表示无限制) |
密码最长使用几天 | 密码使用多少天需要修改密码(默认99999永不过期) |
密码到期前警告期限 | 密码过期前多少天提醒用户更改密码(默认过期提前7天告警) |
密码到期后保持活动的天数 | 在此期间内,用户依然可以登陆系统并更改密码,指定天数过后,账户被锁定 |
账户到期时间 | 从1970年起,账户在这个日期前可使用,到期后失效 |
标志 | 保留 |
3> 用户处理
1. 删除
userdel -r username
-r 选项表示在删除用户的同时删除用户的家目录;在删除用户的同时如果不删除用户的家目录,那么家目录就会变成没有属主和属组的目录,也就是垃圾文件
同时可以手动删除,但一些文件要删除赶紧后才能新建此账户成功;
2. 切换用户
当前用户: who ami
切换用户: su root
查看用户环境信息:env
#代表root用户
$代表普通用户
参数
字段名称 | 含义 |
---|
- | 当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 - 选项可省略用户名,默认会切换为 root 用户。
-l | 同 - 的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号。
-p | 表示切换为指定用户的身份,但不改变当前的工作环境(不使用切换用户的配置文件)。
-m | 和 -p 一样;
-c 命令 | 仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令。
su -c 'passwd -S u-dev2' root
- 选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的
who am i与whoami
在未切换用户身份之前,whoami 和 who am i 命令的输出是一样的,但使用 su 命令切换用户身份后,使用 whoami 命令打印的是切换后的用户名,而 who am i 命令打印的仍旧是登陆系统时所用的用户名
4> 添加批量用户
先编辑一个文本用户文件:每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下:
cat user.txt
user01:x:1010:1010:user dec1:/home/user01:/bin/bash
user02:x:1003:1011:user dec2:/home/user02:/bin/bash
以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户
newusers < user.txt
然后可以执行命令 vipw 或 vi /etc/passwd 检查 /etc/passwd 文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建
grep user /etc/passwd /etc/shadow
执行命令/usr/sbin/pwunconv:将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password 功能
[root]# pwunconv
[root]# grep user /etc/passwd /etc/shadow
/etc/passwd:user01:$6$4nRCI2BqG8/$MUVJvj4AUHvCigCJa209ALwmtlqqb7x89/akPLQV4C5tvtxQSSyGF.N74HQimPyAezJl9riS.Q/0vHCJ1u1Nm1:1010:1010:user dec1:/home/user01:/bin/bash
文件-格式
用户名:密码
实例文件 passwd.txt 内容如下:
user01:123456
user02:123456
以 root 身份执行命令 /usr/sbin/chpasswd:创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏
vi passwd.txt
chpasswd < passwd.txt
rep user /etc/passwd /etc/shadow
打印:/etc/passwd:user01:$6$eFL/r/bByqMA$U1RmOwaGvKnR6eYc3LrWLij2r6xoSvVMZQq/COOgMKDkkkas8JdjOHZzmxPq07vqk/s2lkYYwyZbLyjWGrBv21:1010:1010:user dec1:/home/user01:/bin/bash
#密码和初始密码不一样了,说明passwd.txt中的密码已经被转码到/etc/passwd文件中
确定密码经编码写入/etc/passwd的密码栏后:执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow
pwconv
grep user /etc/passwd /etc/shadow
就完成了大量用户的创建了,之后可以到/home下检查这些用户宿主目录的权限设置是否都正确,并登录验证用户密码是否正确
su - user01 下面输入密码
二: 权限管理
1> 用户组管理
Linux中管理用户一般需要完成以下三个方面的工作:
用户账号的添加、删除和修改
用户口令的管理
用户组的管理
1. 用户账号管理
在Linux中,用户的账号类型大体可以分为两种,一种是超级管理员用户 root,root用户拥有对系统的全部权限,另外一种是普通用户
用户账号配置文件/etc/passwd
在Linux当中,一切皆为文件,不管你做什么操作实际上都是操作系统上的一个又一个的文件;通过/etc/passwd这个文件来管理用户的账号信息
[root@Server01 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
………………………中间部分省略……………………………
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:977:975::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
rngd:x:976:974:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
UID和GID:普通的用户可以通过用户名和组名去识别相关信息,但是Linux中它并不会识别用户名,它只认识ID,因为计算机只识别二进制数,所以对于数字更加敏感。管理员用户的UID为0,普通用户的UID是从1000起。
查看用户的UID和GID
id user01
uid=1000(user01) gid=1000(user01) 组=1000(user01)
按照UID进行分类的话可以将Linux的用户分为三类
分类 | UID |
---|---|
root 用户 | UID:0 |
伪(系统)用户 | UID:1-999(其中1-200为系统保留账号,系统自动创建的,201-999是预留给用户创建系统账号的。) |
普通用户 | UID:1000-60000 |
伪用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。简单来说伪用户就是用来方便运行系统或服务使用的
比如以下这些伪用户
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用
A:useradd
useradd 【选项】 用户名
选项类型 | 含义 |
---|---|
-c comment | 指定一段注释性描述;useradd -c test-user user1(对照/etc/passwd文件 user1❌1001:1001:test-user:/home/user1:/bin/bash) |
-d | 目录 指定用户主目录;useradd -d /home/user10 user02 (/etc/passwd对照 user02❌1002:1002::/home/user10:/bin/bash) |
-g | 用户组 指定用户所属的用户组。//所属组一般是用户初始组,只能是一个,建议不要修改,默认组名和用户名同名 //此例在后续用户组管理的时候进行演示 |
-G | 用户组,用户组 指定用户所属的附加组。 //此例在后续用户组管理的时候进行演示 |
-s | Shell文件 指定用户的登录Shell。 |
-u | 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号 |
删除用户 |
userdel 【选项】 用户名
选项类型
-r,它的作用是把用户的主目录、自动创建的邮件目录一起删除
2> 用户口令的管理
删除用户
修改用户密码
usermod 【选项】 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
在上面有部分介绍
3> 用户组的管理
将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。一般情况下,用户的主组和用户同名
1. 主组和附加组的关系
用户的主组是用户一登录的时候就会有该用户组的权限。当有一个用户属于该主组的时候,这个主组不可被删除。例如user01的主组为user01,此时使用删除组的命令groupdel user01会失败
但是可以修改用户的主组,之后再删除
usermod -g user02 user01
cat /etc/passwd # 查看权限
groupdel user01
2. 用户组配置文件/etc/group
[root@Server01 ~]# cat /etc/group
root:x:0:
……以下省略
用户的组配置文件的含义一般如下:组名:口令:组标识号:组内用户列表
参数 | 含义 |
---|---|
组名 | 用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。 |
口令 | 字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。 |
组标识号 | 与用户标识号类似,也是一个整数,被系统内部用来标识组。 |
组内用户列表 | 是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。 |
3. 新增组命令
groupadd 【选项】 用户组
参数 | 含义 |
---|---|
-g | GID 指定新用户组的组标识号(GID)。 |
-o | 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同 |
4. 删除组命令
groupdel 用户组
5. 修改用户组的属性命令
参数 | 含义 |
---|---|
-g | GID 为用户组指定新的组标识号。 |
-o | 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。 |
-n | 新用户组 将用户组的名字改为新名字 |
6. 管理用户入组
gpasswd 【选项】 组名 (这里的组是指的是附加组)
参数 | 含义 |
---|---|
-a用户名 | 把用户加入组 |
-d 用户名 | 把用户从组中删除 |
7. 组切换
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。
4> ACL权限
ACL和UGO的区别
类型 | 区别 |
---|---|
UGO基本权限 | 只能一个用户、一个组合、其他人这三个对象进行授权 |
ACL文件权限管理 | 设置不同用户,不同的基本权限(r、w、x),对象数量不同 |
UGO是针对用户、组、其他人三个对象的文件授权,ACL是可以针对指定用户指定组和其他人的文件授权。
查看权限
getfacl /test/t1
============
# file: test/t1 //文件的位置
# owner: root //文件拥有者
# group: root //文件所属组
user::rw- //用户的权限
group::r-- //组的权限
other::rw- //其他人的权限
设置用户zhangsan、lisi权限
setfacl -m u:zhangsan:rwx /test/t1 //给zhangsan授予可以对文件读写执行的权利
setfacl -m u:lisi:rwx /test/t1 //给lisi授予可以对文件读写执行的权利
getfacl /test/t1 //查看t1的ACL权限
查看权限
ll /test/t1
-rw-rwxrw-+ 1 root root 0 9月 27 14:46 /test/t1
============================
用ls命令查看后会发发现权限字段上多了一个+号,这个加号代表着有ACL权限,不止有显示的这些权限,具体权限用getfacl命令查看
对组S1进行ACL授权
setfacl -m g:S1:rw /test/t1 //给S1组授予对文件t1读写权限
getfacl /test/t1
...
group:S1:rw- //授权成功
.......
对其他人授权
setfacl -m o::rwx /test/t1 //给其他人授予对文件t1的读写执行的权限
getfacl /test/t1 //查看t1ACL权限
.....
other::rwx //成功
.......
删除ACL权限
命令setfacl -x 对象:名称 文件
删除用户的权限
setfacl -x u:zhangsan /test/t1 //删除用户张三对文件的权限
getfacl /test/t1 //查看t1的ACL权限
.....
user:lisi:rwx //只有lisi的权限在,张三的权限已经移除
.........
删除组的权限
setfacl -x g:S1 /test/t1 //删除组S1的权限
getfacl /test/t1 //查看问价t1的ACL权限
清空所有设置的ACL权限(将文件的ACL权限恢复到默认)
命令:setfacl -b 文件
setfacl -b /test/t1 //清空ACL的所有扩展权限
getfacl /test/t1 //查看t1的ACL权限
ll /test/t1 //查看t1文件信息
-rw-r--rwx. 1 root root 0 9月 27 14:46 /test/t1 //原本的
版权声明:本文标题:liunx-基本指令集合--2 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726360841h944591.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论