Linux帮助文档信息及用户权限
获取帮助信息的方法:
1.--help 大多数外部命令获得帮助的常用方式 (外部命令)
help command: 内部命令 help+内部命令本身
2. man command 显示命令的使用手册(分章节的)
man ls
man为命令提供的使用手册是分章节的
1.普通的用户命令
2.系统调用
3.库调用
4.特殊文件
5.文件格式 对文件的说明
6.游戏
7.杂项
8.管理类命令 系统管理类
man N COMMAND 查看哪一章节
what is COMMAND 查看手册页 文本文件
man ls :man 到对应的路径 对应当前文件 压缩出来 PWD以查看命令在显示出来
3 info command 讲述命令的背后故事 打过补丁 和 BUG 之类的 MAN的补充信 息使用
4 /usr/share/doc/ls-1.2.1 帮助文档
5 官方首页 手册 帮助文档
http://www.redhat.com/docs
http://kbase.redhat.com
【 whatis 】 用于显示该命令的简单说明
whatis rm
(lp)
(1)
man 1 rm // 进入第一个章节查看
帮助信息所包含的模块;
NAME // 名字
DESCRIPTION // 描述
OPTTIOINS // 选项
EXAMPLES // 例如
FILES // 文件
如何显示上下翻页 空格 往下翻一屏 往上 B
ENTER K
man man // 怎么用man命令
makewhatis // 第一次使用时执行这个命令
需要调用数据库 命令存在 帮助生成这个命令
man -k 在what is 对应数据库中查找
man -K 在整个库手册中查找所属信息速度将特别慢
q 退出
/Keyword 文件首部到文件首部查找关键词
?Keyword
n:下一个
N:前一个 键切换查看关键词
【 file 】 判断文件的类型 区别普通文件的所属类型
版本的信息查看:
1.查看内核版本信息:
cat /proc/version
uname -r
uname -a
2.查看Linux 版本
cat /etc/issue
cat /etc/redhat-release
rpm -q redhat-release
后两种只对REDHAT有效
时间管理的命令:
主机刚刚开始试图从硬件中读取时间 以后的时间linux系统时钟和硬件时间就会有偏差
【 hwclock 】
-w, 系统时间是准确的,把硬件时间设定为系统时间一致
-s, 硬件时间是准确的,把系统时间设定为硬件时间一致
date mmddHHyy.SS
%: 指定特定字符的一个宏
"+%H" 时 英文单词对应单词的首字母
"+%M" 分
"+%S" 秒
中间只要不加%所有字符都会为原来样式显示
"y" 11 年(前两位省略)
"Y" 2011 年
"m" 07 月
"M" 23 分钟
"d" 19 日
"D" 07/19/11 月 天 年
【 cal 】 日历
cal 2011 显示2011年的日历
cal 9 1752 特殊的一个日历 程序设计当时的一个失误
date "+%" : 1970 1.1 0:0:0 格林尼治天文台开始计时
忘记了语法格式怎么办?
【 which 】 查看命令所对应的二进制文件位置
【 type 】 用于查看是外部还是内部命令
内部:内部指shell 自身附带的命令 cd
所有的内部命令 都没有一个对应的可执行的二进制文件
外部:ls
文本查看类命令: 纯文本文件
cat,more,less,tail,head
【 cat 】 concatinate, dump
连接 接多个文件显示出来 从前向后倾屏显示
-n 显示行号 不在内容
-e 显示隐藏换行符 $
【more 】 主要功能 往后翻页 结束时直接退出
【 less 】 既能往前也能向后翻 man的功能后台是less man的本质是less
【 tail 】 查看文本后多少行
-N 20
或-20 默认指定最后10行
【 head 】查看文本前多少行
tail -n 22 /var/log/messages
-f 查看之后不会退出
ctrl +c 退出 已经写好的命令不想执行 不想删
【 wc 】 实现查看文本文档中有多少个字符字节
wc /etc/rc.d/rc.sysinit
-l 显示一共多少行
-w 字符
-c 字节 包括空格
系统上如何实现用户管理:
什么是user,group,permission(权限)
一个使用者获取使用资源的权限 权限的集合 界定每一个用户能够访问资源
User Name:UID 用户唯一标识数字
Group Name: GID group 组,权限的集合 // 任何加入组成员都由有该组的权限
组密码 让用户临时性的加入组
UID, GID
0-65535 无符号十进制数
root: 管理员的ID 用于为零
id root: 查看ID信息
root:0
系统用户 :1-499 系统用户 服务运行的时候不允许某个用户运行
普通用户: 500-65534 nobody -1 相当于window的guest账号
从用户角度看分:
私有组: 任何用户都必然属于一个组, 系统自动建立一个和用户同名的组 基本组
公共组: 附加组
一个用户可同时属于多个组
安全上下文:secure context
进程的权限取决于发起进程的用户的权限
进程:资源分派的单位,一个程序正在执行的副本,以进程为单位划分区域执行
文件和用户都有权限 访问的是要要求权限匹配才能访问
/etc/shadow 用户密码所在目录
/etc/group 用户组账号
/etc/gshadow 用户组密码
useradd gentoo
tail -1 /etc/passwd
用户名:x:UID:GID(基本组ID):comment(注释,可以为空):home:默认shell
查看系统中 一共中可用的shell
cat /etc/shells
======================================================================
创建用户和用户组:
-u UID 用户ID 建立用户是系统默认的ID值
-g GID 添加到组 改组必须是存在的
-G GROUP,GROUP2 指定用户其他附加组
-c "COMMENT" 命令
-d /path/to/home
-s SHELL
useradd slackware
useradd -G mygrp slackware
id slackware
useradd -s /bin/tcsh centOS
tail -1/etc/passwd
【groupadd 】
-g GID 添加一个组
-r useradd 和 groupadd 的公共选项
把一个用户添加为系统用户
-r 加-r 连同家目录一起删除
【 groupdel 】 删除组
【 usermod 】修改用户的账号信息
-u
-g
-a -G 修改用户的附加组 -a atend覆盖
-c
-d 修改用户家目录
-M -d
-l 改变用户的登录名称 在某些场景下有用
-L 锁定用户账号
-U 解锁
-e 过期时间
【 groupmod 】 修改组
-g 改变ID
【 passwd 】 修改密码
-l 锁定用户账号
--stdin 把标注输入改为其他输入
-n 设定密码最短使用期限
【 finger 】 显示用户信息
【 id 】 查看用户ID 【 who 】查看以登录用户
-+------------------------------------------------+-
| u g o |
| — — — — — — — — — |
| 属主 属组 其他 |
-+------------------------------------------------+-
从上面的图表我们可以看出:
Linux 文件系统的属性一共有 R , W , X 三种 分别为 read,write,execute
Linux 规定 每三组划分一段 三段分别对应于 属主 ,属组和其他
权限有两种表示法:数值法 和 字符法
数值法:用3位二进制表示数值0--7 000--111
字符发:U=属主 ,G=属组, O= 其他
文件默认权限:umask
[root@linux~] # umask
0022
[root@linux~] # umask -S
u= rwx, g=rx, o=rx
a.若用户创建的“文件” 默认“没有可执行(x)权限”, 只有 RW这两权限 ,最大表示为 666 即 :-rw-rw-rw-
b.若用户创建的“目录” , 目录是要求能进入的需要x 权限 ,最大表示为 777 即:drwxrwxrwx
umask 是指:“该默认值需要减掉的权限”
那么我们创建文件和目录的权限则为:
创建文件: (-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r-- ;
创建目录:(drwxrwxrwx) - (d----w--w-) ==> drwxr--r--.
例如:
[root@linux ~] # umask
0022
[root@linux ~] # touch test1
[root@linux ~] # mkdir test 2
[root@linux ~] # ll
-rw-r--r-- 1 root root 0 Aug 13 16:02 test1
drwxr-xr-x 2 root root 4096 Aug 15 16:02 test2
【 chown 】 修改文件属主,属组
--reference
chown[options]USERNAME file
chown USERNAME:GRPNAME file
chown USERNAME.GRPNAME file
chown:GRPNAME file
chown gentoo a.txt
chown --reference-a.txt b.txt 以a 为参考 把b 修改成a一样的权限
【 chmod 】 修改权限
chmod [options] mode files... 改变权限
chmod 760 a.txt
chmod g-w a.txt 只改变目录本身 不改变其他选项
chmod +x a.txt
-R
-reference=
-----------------------------------------------------------------------------------------------------
要限定其他用户访问
755-->544
rwxr-xr-x r-xr--r--
chmod u-w,go-x
chmod u=r-x,go=r--
----------------------------------------------------------------------------------------------------
回顾上面的属性做几个练习:
1.复制/etc/skel目录至/home, 并且重命名为centos2.设定此目录及其内部文件或子目录的属主属组为redhat 用户,redhat组
3.设定此目录及其内部文件子目录的权限为:属组和其它用户没有任何权限4.修改redhat用户的家目录为/home/centos
1.cp -r /etc/skel /home/centosll /home/
ll /home/centos/ -a
2.chown -R redhat:redhat /home/centos/
3.chomd -R go=--- /home/centos/4.usermod -d /home/centos/ redhat