- linux是一个多任务(Multi-task),多用户(Multi—user)的操作系统。
每个使用者都一个标识:用户ID号,也叫UID.用户登入输入用户名,密码。系统会做下面三件事:
- Authentication 认证
- Authorization 授权
- Audition 审计
在系统里用户名用用户标识(UserID,也中UID)识别.UID用16位二进制数字表示:其范围是
0-65635
.
用户,UID的名称解析:根据名称解析库进行。
username<–>UID 解析库文件位置: /etc/passwd
组:用户组,用户容器,觉色。
名称解析:groupname <–>gid
注意—-认证信息:通过对比事先存储的用户信息,与登录时提供的信息是否一致。
password文件分别存放在
/etc/passwd
/etc/gshadow
中。
- a . 使用随机密码。
- b . 最短长度不人低于8位。
- c . 密码应该使用大写字母,小写字母,数字和标点符号四类字体中至少三类。
- d . 定期更换密码原则。
非对称加密:加密和解密使用一对儿密码。
单向加密:只能加密,不能解密,<提取数据特征吗>
密码的特征:定长输出 ,雪崩效应。
常用的加密算法:
md5sum # md: message digest 定长输出128bit 。
example:
[root@caibird ~]# echo "how are you ? " |md5sum
ae5c1fc1125570f4646704c8c797cbea -
[root@caibird ~]# echo "how are you . " |md5sum
ce7d7579821ab64284d1175233705936 -
[root@caibird ~]#
注意:密码在计算之时加salt,添加的随机数。
密码+随机数—->加密字串
文件内容的格式 : 一行代表一个用户。
account:password:UID:GID:GECOS:directory:shell
用户名:密码:用户ID:组ID:注释:家目录:登入shell
X
。ID
号。主组ID号
。passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
用法:
passwd : 修改用户自己的密码。
passwd username : 修改指定用户的密码,但仅root有此权限。
passwd [选项…] <帐号名称>
-k
, –keep-tokens : 保持身份验证令牌不过期。
-d, --delete : 清除用户的密码串(只有根用户才能进行此操作)。
-l, --lock : 锁住用户(仅root操作)。
-u, --unlock : 解锁用户(仅root操作)。
-e, --date : 过期期限,日期. (root only)。
-f
, –force : 强制执行操作。-x, --maximum=DAYS
: 密码的最长有效时限(只有根用户才能进行此操作)。-n, --minimum=DAYS
: 密码的最短有效时限(只有根用户才能进行此操作)。-w, --warning=DAYS
: 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)。-i, --inactive=DAYS
: 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)。-S
, –status : 报告已命名帐号的密码状态(只有根用户才能进行此操作)。--stdin
: 从标准输入读取令牌(只有根用户才能进行此操作)。
- echo “PASSWORD” | passwd –stdin username
[root@caibird ~]# useradd tan
[root@caibird ~]# echo "123456" | passwd --stdin tan
更改用户 tan 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost ~]# echo "mageedu" | passwd --stdin mageia
更改用户 mageia 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]#
shadow 是一个文件。它包含系统账户的密码信息和可选的时间信息。此文件的每一行为一个用户的密码信息。包括 9 个字段,使用半角冒号 (“:”) 分隔。如下:
shutdown:*:17246:0:99999:7:::
登录名:加密了的密码 :最后一次更改密码的日期 :密码的最短修改时间 :最大密码修改时间 :密码警告时间段
登录名:
必须是有效的账户名,且已经存在于系统中。
加密了的密码:
请参考crypt(3)来了解关于解析此字符串的细节信息。
如果密码字段包含一些不是 crypt(3) 合法结果的字符,比如! 或 *
,用户将无法使用 unix 密码登录(但是可以通过其它方法登录系统)。
此字段可以为空,此时认证为特定的登录名时,不要求密码。然而,一些读取/etc/shadow
文件的应用程序,在密码字段为空时,可能决定禁止任何访问。
以叹号开始的密码字段意味着密码被锁定。该行的剩余字符表示锁定之前的密码。
最后一次更改密码的日期:
最近一次更改密码的时间,表示从1970年1月1日开始的天数。
0 有特殊意思,表示用户应该在下次登录系统时更改密码。 空字段表示密码年龄功能被禁用。
密码的最短修改时间:
最小密码修改时间是指,用户一次更改密码之后,要等多长时间才再次被允许更改密码。
空字段或 0 表示没有最小密码时间。
最大密码修改时间:
最大密码年修改是指,这写天之后,用户必须更改密码。
这写天之后,密码仍然可用。用户将会在下次登录的时候被要求更改密码。
空字段表示没有最大密码年龄,没有密码警告时间段,没有密码禁用时间段(请看下边)。
如果最大密码年龄小于最小密码年龄,用户将会不能更改密码。
密码警告时间段:
密码过期之前,提前警告用户的的天数(请参考上边的密码的最大修改时间)。
选项 :
每个进程在访问资源时,它一定是代表某一用户在运行。
安全上下文:进程以某发起者身份运行,进程对文件的访问权限,取决于发起此进程的用户权限。例如:
[root@localhost ~]# whoami
root
[root@localhost ~]# cat /etc/shadow # root用户访问
root:$6$RJIXE8vZqNYKqNnD$GFI6zFs.hQbaND5CCoWzidgqWzoUnQE.G7beTA0djZkOj5WXshwPNS6sLTodiOqMkGgVNUDNOsZ4P/VmJamCV/::0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
[root@localhost ~]# su - caibird
[caibird@localhost ~]$ whoami
caibird
[caibird@localhost ~]$ cat /etc/shadow # 普通用户访问
cat: /etc/shadow: 权限不够
[caibird@localhost ~]$
[root@localhost ~]# tail /etc/group
nfsnobody:x:65534:
gnome-initial-setup:x:986:
avahi:x:70:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
sshd:x:74:
tcpdump:x:72:
caibird:x:1000:
boo:x:1001:
[root@localhost ~]# groupadd distro -g 2016
[root@localhost ~]# tail /etc/group
gnome-initial-setup:x:986:
avahi:x:70:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
sshd:x:74:
tcpdump:x:72:
caibird:x:1000:
boo:x:1001:
distro:x:2016:
[root@localhost ~]#
- 什么叫系统用户?为了能让那些后台进程(系统启动时运行的程序 )或服务进程非管理员的身份运行,通常需要为此进程 创建多个普通用户,这类用户从不用登录系统。这样的用记就叫做系统用户.
(centos 6 {systemuser GID:1-499,loginuser GID:500-60000},centos 7 {systemuser GID:1-999,loginuser GID:1000-60000})
在 /etc/login.def中有如下配置变量,可以用来更改此工具的行为:
MAX_MEMBERS_PER_GROUP (number) : 每个组条目的最大成员数。达到最大值时,在 /etc/group开始一个新条目(行)(使用同样的名称,同样的密码,同样的GID)。默认值是0,意味着组中的成员数没有限制。此功能(分割组)允许限制组文件中的行长度。这对于确保 NIS组的行比长于 1024 字符。如果要强制这个限制,可以使用 25。注意:分割组可能不受所有工具的支持(甚至在 Shadow工具集中)。您不应该使用这个变量,除非真的需要。
您不能删除现有用户的主组。在删除此组之前,必须先删除此用户.
格式: gpasswd [选项] group
选项:
配置文件在 /etc/login.def中有如下配置变量,可以用来更改此工具的行为:
ENCRYPT_METHOD (string) :
MAX_MEMBERS_PER_GROUP (number):
MD5_CRYPT_ENAB (boolean):
表示密码是否必须使用基于MD5的算法加密。如果设为
yes,新密码将使用可以和新版FreeBSD兼容的基于MD5的算法加密。它支持无限长度的密码以及更长的字符串。如果您需要将加密的密码复制到其它不理解新算法的系统,设置为
no. 默认值是 no.
This variable is superseded by the ENCRYPT_METHOD
variable or by any command line option used to configure
the encryption algorithm.
此变量已经废弃.您应该使用 ENCRYPT_METHOD。
SHA_CRYPT_MIN_ROUNDS (number),
-SHA_CRYPT_MAX_ROUNDS (number)
ENCRYPT_METHOD 设为 SHA256 或 SHA512
时,此项确定加密算法默认使用 SHA
轮转数目(当轮转数没有通过命令行指定时).使用很多轮转,会让暴力破解更加困难。但是需要注意,认证用户时也会需要更多的CPU 资源。
如果没有指定,libc会选择默认的轮转数(5000).值必须在 1000 - 999,999,999之间.如果只设置了一个 SHA_CRYPT_MIN_ROUNDS 或
SHA_CRYPT_MAX_ROUNDS 值,就会使用这个值。如果 SHA_CRYPT_MIN_ROUNDS >
SHA_CRYPT_MAX_ROUNDS,将会使用大的那个。
相关文件
/etc/group
组账户信息.
/etc/gshadow
安全组账户信息.
useradd 与 adduser的关系
[root@localhost ~]# ll /usr/sbin/adduser # 链接文件
lrwxrwxrwx. 1 root root 7 4月 20 23:26 /usr/sbin/adduser -> useradd
[root@localhost ~]# ll /usr/sbin/useradd
-rwxr-x---. 1 root root 118192 11月 6 2016 /usr/sbin/useradd
[root@localhost ~]#
功能 :创建一个新用户或者更新一个用户的用户信息。
选项 :
-c, --comment COMMENT 新GECOS 字段;指明注释信息
。
-d, --home-dir HOME_DIR : 以指定的路径为用户的的家目录,通过复制/etc/skel 此目录并且重名实现。指定的家目录如果事先存在,则不会为用户复制环境配置文件
。
-g, --gid GROUP 指定基本组ID,此组必须事先存在
。-G, --groups GROUPS1 [,GROUPS2],,,[,GROUPN]]]; 指明用户所属的附加组,多个组之间用逗号隔开。
-m , –create-home 如果目录不存在,则创建用户主目录,vcwg ,骨架目录中/etc/skel 的文件和目录将会复制至主目录 ,默认上,如果没有指定此选项并且GREATE_HOME没有启用,不会创建主目录.
-M, –no-create-home 不创建用户的主目录,即使系统在/etc/login.defs中的设置CREATE_HOME 为yes。
-r, --system 创建一个系统账户
。-s, --shell SHELL 指定用户的默认shell,可用的所有shell列表位于/etc/shells目录下。
-Z, –selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER。
例如: 10-6 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin。
[root@localhost ~]# tail /etc/passwd
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
caibird:x:1000:1000:caibird:/home/caibird:/bin/bash
ab:x:1002:1000: this is common user:/home/a:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
[root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
useradd:“peguin”组不存在
[root@localhost ~]# groupadd peguin
[root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
[root@localhost ~]# tail -1 /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/bash
[root@localhost ~]# tail /etc/group
avahi:x:70:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
sshd:x:74:
tcpdump:x:72:
caibird:x:1000:
distro:x:2016:
mageia:x:1100:
peguin:x:2017:slackware
[root@localhost ~]#
[root@localhost ~]# tail /etc/passwd
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
caibird:x:1000:1000:caibird:/home/caibird:/bin/bash
boo:x:1001:1001::/home/boo:/bin/bash
ab:x:1002:1000: this is common user:/home/a:/bin/bash
[root@localhost ~]# useradd mandriva -u 1005 -g distro
[root@localhost ~]# tail -2 /etc/passwd
ab:x:1002:1000: this is common user:/home/a:/bin/bash
mandriva:x:1005:2016::/home/mandriva:/bin/bash
例如 :创建用户mageia,其ID为1100,家目录为/home/linux.
[root@localhost ~]# useradd mageia -u 1100 -d /home/linux
[root@localhost ~]# tail /etc/passwd
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
caibird:x:1000:1000:caibird:/home/caibird:/bin/bash
boo:x:1001:1001::/home/boo:/bin/bash
ab:x:1002:1000: this is common user:/home/a:/bin/bash
mandriva:x:1005:2016::/home/mandriva:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
[root@localhost ~]#
[root@localhost ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE= # 密码永不过期
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@localhost ~]#
修改的结果保存于/etc/default/useradd 文件中
注意: 创建用户时诸多默认设置配置文件位于/etc/login.defs。
功能 :修改用户的的相关信息。
选项:
-c, --comment 注释 : 修改注释(GECOS) 信息
。-d, --home HOME_DIR : 修改用户的家目录,用户原有的文件不会被转移到新的位置
。-g, --gid GROUP : 修改用户所属的基本主
。-G, --groups GROUPS :修改用户所属的附加组,原来的附加组会被覆盖
。 -a, --append GROUP : 与 -G 一同使用,用于为用户增加新的附加组
。-l, --login NEW LOGINname : 修改用户名
。 -L, --lock : 锁定用户密码,即在用户原来的密码字符串前面加一个 ! 叹号
。-m, --move-home :只能与 -d 选项一块使用(出现),用于将原来的家目录移到新位置
。-s, --shell SHELL : 修改用户登入的默认的shell
。-u, --uid UID 修改用户帐号的ID为此处指定的新UID
。
-U, --unlock :解锁用户的密码。
例如:修改slackware的默认shell为/bin/tcsh;
10-7
[root@localhost ~]# grep 'slack*' /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/bash
[root@localhost ~]# usermod -s /bin/tcsh slackware
[root@localhost ~]# grep 'slack*' /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/tcsh
[root@localhost ~]#
10-8
[root@localhost ~]# grep 'admins*' /etc/group
[root@localhost ~]# grep 'admins*' /etc/group
[root@localhost ~]# groupadd admins
[root@localhost ~]# grep 'admins*' /etc/group
admins:x:2018:
[root@localhost ~]# grep 'slackware' /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/tcsh
[root@localhost ~]# usermod -G admins slackware
[root@localhost ~]# grep 'admins*' /etc/group
admins:x:2018:slackware
[root@localhost ~]# grep 'slackware' /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/tcsh
[root@localhost ~]#
用法:userdel [选项] 登录
选项:
例如 :删除magndriva,但保留其家目录。
[root@localhost ~]# ls /home
a caibird linux mandriva
[root@localhost ~]# tail /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
caibird:x:1000:1000:caibird:/home/caibird:/bin/bash
ab:x:1002:1000: this is common user:/home/a:/bin/bash
mandriva:x:1005:2016::/home/mandriva:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
[root@localhost ~]# userdel mandriva
[root@localhost ~]# tail /etc/passwd
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
caibird:x:1000:1000:caibird:/home/caibird:/bin/bash
ab:x:1002:1000: this is common user:/home/a:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
[root@localhost ~]# ls /home/
a caibird linux mandriva
[root@localhost ~]#
-newgrp [-] [group]
功能:更改用户密码过期信息。
格式: chage [选项] 用户名
选项:
功能 :显示用户的实际ID和有效ID信息。不带选项,只显示自己的ID信息。
格式: id [OPTION]… [USER]
如果不附带任何选项,程序会显示一些可供识别用户身份的有用信息。
登入式切换–>完全切换: su - username or su -l username ;该模式下,会通过重新读取目标用户的配置文件来重新初始化助用户工作环境。
非登录式切换—>半切换:su username ;在该模式下,不会通过重新读取目标用户的配置文件来重新初始化助用户工作环境
功能:将有效用户 id 和组 id 更改为 USER 的 id。
单个 - 视为 -l。如果未指定 USER,将假定为 root。
格式:su [options…] [-] [user [args…]]
选项:
-g, –group <组> 指定主组
-G, –supp-group <组> 指定一个辅助组
-, -l, –login 使 shell 成为登录 shell
-s, –shell 若 /etc/shells 允许,则运行 shell。
功能 : 改变用户登入的shell
语法: chsh [-s shell] [-l] [-u] [-v] [username]
选项:
-s, –shell shell
Specify your login shell.
-l, –list-shells
Print the list of shells listed in /etc/shells and exit.
用法:pwck [选项] [passwd [shadow]]
选项:
作用: 检查密码文件的完整性。
grpck - 检查组文件的完整性
大纲
grpck [选项] [group [ shadow ]]
用法:grpck [选项] [组 [gshadow]]
选项:
-h, –help 显示此帮助信息并推出 。
-r, –read-only 显示错误和警告,但不改变文件。
-R, –root CHROOT_DIR chroot 到的目录。
-s, –sort 通过 UID 排序项目。
功能: 用户信息查找程序, 显示关于系统用户的信息 。
格式: finger [-lmsp] [user …] [user@host …]
改 变 你 的 finger 讯 息
格式:
chfn [ -f full-name ] [ -o office ] [ -p office-phone ]
[ -h home-phone ] [ -u ] [ -v ] [ username ]
用法:
chfn [选项] [用户名]
选项:
[root@localhost ~]# who
caibird :0 2018-05-14 02:30 (:0)
caibird pts/0 2018-05-14 02:30 (:0)
root pts/1 2018-05-27 07:18 (192.168.3.1)
root pts/2 2018-05-27 14:22 (192.168.3.1)
root pts/3 2018-05-27 14:22 (192.168.3.1)
root pts/4 2018-05-27 14:22 (192.168.3.1)
[root@localhost ~]# who | cut -f1 -d" " | uniq
caibird
root
[root@localhost ~]#
[caibird@localhost ~]$ w
14:35:57 up 1 day, 17:07, 7 users, load average: 0.06, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
caibird :0 :0 145月18 ?xdm? 6:17 0.27s /usr/libexec/gnome-session-binary --session gnome-classic
caibird pts/0 :0 145月18 13days 0.09s 0.49s /usr/libexec/gnome-terminal-server
root pts/1 192.168.3.1 07:18 1:17 0.21s 0.21s -bash
root pts/2 192.168.3.1 14:22 1:17 0.02s 0.02s -bash
root pts/3 192.168.3.1 14:22 13:14 0.02s 0.02s -bash
root pts/4 192.168.3.1 14:22 13:13 0.02s 0.02s -bash
caibird pts/5 192.168.3.1 14:35 5.00s 0.03s 0.00s w
[caibird@localhost ~]$ w | tail -1
caibird pts/5 192.168.3.1 14:35 3.00s 0.03s 0.00s w
[caibird@localhost ~]$
[root@localhost ~]# cp /etc/passwd .
[root@localhost ~]# cut -d: -f7 ./passwd | uniq -c | sort -n | tail -1
32 /sbin/nologin
[root@localhost ~]#
[root@localhost ~]# sort -t: -n -k3 ./passwd | tail -11 | head | tr 'a-z' 'A-Z' >/tmp/maxusers.txt
[root@localhost ~]# cat /tmp/maxusers.txt
GEOCLUE:X:993:988:USER FOR GEOCLUE:/VAR/LIB/GEOCLUE:/SBIN/NOLOGIN
CHRONY:X:994:990::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
SETROUBLESHOOT:X:995:993::/VAR/LIB/SETROUBLESHOOT:/SBIN/NOLOGIN
SASLAUTH:X:996:76:SASLAUTHD USER:/RUN/SASLAUTHD:/SBIN/NOLOGIN
COLORD:X:997:994:USER FOR COLORD:/VAR/LIB/COLORD:/SBIN/NOLOGIN
LIBSTORAGEMGMT:X:998:995:DAEMON ACCOUNT FOR LIBSTORAGEMGMT:/VAR/RUN/LSM:/SBIN/NOLOGIN
POLKITD:X:999:997:USER FOR POLKITD:/:/SBIN/NOLOGIN
CAIBIRD:X:1000:1000:CAIBIRD:/HOME/CAIBIRD:/BIN/BASH
BOO:X:1001:1001::/HOME/BOO:/BIN/BASH
AB:X:1002:1000: THIS IS COMMON USER:/HOME/A:/BIN/BASH
[root@localhost ~]#
[root@localhost ~]# ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
[root@localhost ~]# cat /tmp/etc.conf
/ETC/ASOUND.CONF
/ETC/AUTOFS.CONF
/ETC/AUTOFS_LDAP_AUTH.CONF
....中间省....
/ETC/SUDO-LDAP.CONF
/ETC/SYSCTL.CONF
/ETC/TCSD.CONF
/ETC/UPDATEDB.CONF
/ETC/USB_MODESWITCH.CONF
/ETC/VCONSOLE.CONF
/ETC/WVDIAL.CONF
/ETC/YUM.CONF
[root@localhost ~]#
功能:输出每个指定文件的行数、单词计数和字节数,如果指定了多于一个文件,继续给出所有相关数据的总计。如果有指定文件,或者文件为”-“,则从标准输入读取数据。
功能 : 以树的形状显示目录内容。
选项:
n
层数。例如 :显示/var目录下一级子目录或文件的总个数。
[root@localhost ~]# tree -L 1 /var
/var
├── adm
├── cache
├── crash
├── db
├── empty
├── games
├── gopher
├── kerberos
├── lib
├── local
├── lock -> ../run/lock
├── log
├── mail -> spool/mail
├── nis
├── opt
├── preserve
├── run -> ../run
├── spool
├── tmp
└── yp
20 directories, 0 files
[root@localhost ~]# tree -L 1 /var | tail -1
20 directories, 0 files # 一级子目录或文件的总个数.
[root@localhost ~]#
[root@localhost ~]# sort -t: -n -k3 ./group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:caibird
cdrom:x:11:
[root@localhost ~]# sort -t: -n -k3 ./group | cut -d: -f1 | head
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem
[root@localhost ~]#
[root@localhost ~]# cat /etc/fstab /etc/issue >> /tmp/etc.test
[root@localhost ~]# cat /tmp/etc.test
#
# /etc/fstab
# Created by anaconda on Mon May 14 01:20:23 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=187bf10d-7aaf-42b5-99e4-e0a23c0cc228 / xfs defaults 0 0
UUID=a0be23ca-ec5e-471a-bd92-a86819ef182c /boot xfs defaults 0 0
UUID=ce39f5f9-e560-4194-9cef-8e7ad8857ba7 swap swap defaults 0 0
\S
Kernel \r on an \m
[root@localhost ~]#
[root@localhost ~]# ifconfig |grep inet[^6]|grep -E -o '([0-9]{1,3}\.){3}[0-9]{1,3}' | head -1
192.168.3.139