文件通配符,用户与组管理

匹配模式:元字符

文件名通配符

*匹配任意长度的任意字符

[[email protected] ~]# ls /root/D*

/root/Desktop  /root/Documents  /root/Downloads

?匹配单个任意字符

[[email protected] ~]# ls /root/a?b

/root/akb    /root/alb

[]匹配自带范围内的任意单个字符[1-9] [a-z] [a-z0-9]a-z,0-9中单个字符

[[email protected] ~]# ls /root/a[a-z]b

/root/akb  /root/alb

[[email protected] ~]# ls /root/a[1-9]b

/root/a1b  /root/a3b

pa[0-9][0-9]

数字:200-290=2[1-9][1-9]

[[:upper:]]  :所有大写字母

[[:lower:]]  :所有小写字母

[[:alpha:]]  :所有字母

[[:digit:]]   :所有数字

[[:alnum:]]  :所有的字母和数字

[[space]]   :所有空白字符    touch /root/a\ b     文件a空格b

[[:punct:]]  :所有标点符号

\转义字符

[^] :匹配范围外的任意单个字符

[^[:upper:]]

[^0-9]

查找以m,n,r,p开头,以.conf文件结尾的文件

ls [m-nr-p]*.conf

IO重定向及管理

可用于输入的设备,文件

键盘,文件系统常规文件,网卡

可用于输出的设备,文件

键盘,文件,网卡

程序的数据流有三种

输入的数据流:<------  标准输出(stdin) 0   键盘

输出的数据流   ----->  标准输出(stdou)1 显示器

错误输出流     ----->  错误输出(stderr) 2  显示器

fd 文件描述符

标准输入:0

标准输出:1

错误输出:2

io重定向

输出重定向 >  文件或者设备   ,重定向写数据时要非常注意 echo > /dev/sdb1

[[email protected] ~]# cat /etc/issue > /dev/tty1  重定向至终端

> 覆盖输出重定向

>> 追加重定向,IO流将输入到文件或设备后追加内容。

/dev/null  数据黑洞,将输出数据重定向至/dev/null ,设备/dev/null则会将它丢弃

cat /etc/issue >| /tmp/a.txt   强制覆盖输出

错误输出流重定向 2> ,2>>

合并正常输出流和错误输出流  &> ,&>>

1   ls +dafsa &> /root/err.log

2   ls +safa > /root/err.log 2>&1    这种不能使用:2>>&1

3   ls + asdfa 2> err.log  1> err.log

输入重定向

cat  <  /etc/issue

tr命令  字符替换

localhost ~]# tr [a-z] [A-Z] < /etc/issue

CENTOS RELEASE 6.8 (FINAL)

KERNEL \R ON AN \M

WELCOME XIONG LINUX......

-d  删除字符  tr -d ‘xiong’ < /etc/issue

<<

[[email protected] ~]# cat << EOF

> xiong

> xiong

> EOF

xiong

xiong

[[email protected] ~]# cat > /tmp/cat.out << EOF

> xiong

> xiong

> EOF

[[email protected] ~]# cat /tmp/cat.out

xiong

xiong

[[email protected] ~]#

管道(|):将前一个命令的输出流当后一个命令的输入流

tee 将输出流数据保存,并将流副本交给下个管道命令

[[email protected] ~]# cat /etc/issue | tee /root/issue | tr ‘xiong‘ ‘jiangshuang‘

CentOS release 6.8 (Final)

Kernel \r an an \m

welcame jiang linuj......

[[email protected] ~]# cat /root/issue

CentOS release 6.8 (Final)

Kernel \r on an \m

welcome xiong linux......

权限管理

用户,组,权限管理

passwd命令对用户进行密码设置

用户登录系统时,需要对用户进行识别,这个过程就是认证的过程。

用户标识,密码 authertication 认证

autherrization  授权(chmod,chown)

监督权限使用,审计audition    3a

组:用户组,用户容器,将几个用户加入容器,并将文件权限授权给组,使用户

组内的用户能对授权文件进行操作。组也可以角色。

用户类别:有管理用户,普通用户(系统用户,登录用户)

用户标识: userid用户id   uid 组id 是个二进制数字:0-65535

管理员:0

普通用户:1-65535

系统用户:1-499个 centos5,6   1-999个 centos7中

登录用户:500-6000个centos5,6  1000-6000个centos7

名称解析,

username<--->uid  根据名称解析库进行解析(/etc/passwd)

组类别1:

管理员组

普通用户组(系统组,登录组)

组标识:  groupid   ,gid

管理员组:0

系统组:1-499个,centos5,6, 1-999个,centos7

普通用户组

500-6000个,centos5,6   1000-6000个centos7

名称解析 :将groupname<----->gid ,/etc/group

组类别2

用户的主组

用户的附加组

组类别3

私有组:组名同用户,且只包含一个用户

公共组:组内包含了多个用户:

认证信息

通过对比事先存储的,与登录时提供的信息是否一致

password:

/etc/shadow用户密码

/etc/gshadow组的密码

[[email protected] ~]# cat -n /etc/passwd /etc/group /etc/shadow /etc/gshadow | grep xiong

36xiong:x:501:501::/home/xiong:/bin/bash

98xiong:x:501:

134xiong:$6$zbywqADi$mzSgwpfNxbCjj10deJrcZ9BnA96C9nSWtk7CjjibSKYTmM/hMSZtIdnlP7V60ys8R0rPxs1FNrbaPfEfrc1mt1:17010:0:99999:7:::

196xiong:!::

密码使用策略:

1.使用随机密码

2. 最短长度不要低于8位

3.大写字母,小写字母,数字,标点符号至少3类

4.定期更换密码

加密算法

对称加密,加密和解密使用同一个密码

非对称加密:加密和解密使用的一对密钥,公钥与私钥

单向加密:只能加密,不能解密,提取数据的特征码

定长输出,有雪崩效应

算法:md5

sha

sha224

sha256

sha384

sha512  $6$

在计算之时加上salt,添加随机数:

mageedu12345678:加密字串

mageedu12345678:生成加密子串

/etc/passwd 用户的信息库

/etc/passwd

[[email protected] ~]# tail /etc/passwd | grep xiong

xiong:x:1001:1001:注释信息(useradd -c “”可以创建):/home/xiong:/bin/bash

xiong: 用户名

x:占位符

uid:用户的uid

gid:用户所属的主组的id号

gecos:注释信息

directory:用户的家目录

shell:用户默认的shell

/etc/shadow

用户名:加密的密码:最近一次修改密码的时间:最短使用期限,最长使用期限,警告期段,有效期限:保留字段

用户名:

[[email protected] ~]# cat /etc/shadow |grep xiong

xiong:$6$iWlJ.Osu$6Ma.e092soQLmIPWzTsS8YSbYwQ9BUa4uAK9FPqiPmAFeYgNGxw7.HwrBorAsk12JCYBrW9FRX.pBG97k4lup0:17009:0:99999:7:::

$分隔

$6$ 6表示用sha512加密

$iWlJ.Osu$随机数

密码6Ma.e092soQLmIPWzTsS8YSbYwQ9BUa4uAK9FPqiPmAFeYgNGxw7.HwrBorAsk12JCYBrW9FRX.pBG97k4lup0

1700最近一次更改密码的天数,从1970年到今天

/etc/group

[[email protected] ~]# cat /etc/group | grep xiong

xiong:x:1001:

xiong:组名   x密码占位符  gid组id

user_list:该组的用户组成员,以次组为附加组的用户的用户列表

相关命令:useradd,userdel,usermod,passwd,groupadd,groupdel,groupmod,gpasswd

linux 用户与组管理

groupadd,如果不指定的话,默认为上一个组id加1

-g --gid 指定用户组的组id

[[email protected] ~]# groupadd -g 222 mygroup1

[[email protected] ~]# tail -n 2 /etc/group

mygrp:x:1002:

mygroup1:x:222:

有些进程随开机启动的,这些进程就叫做后天进程。

任何对文件的访问,都不是人在访问,都是人用ls命令启动的进程去访问文件。

进程访问资源是代表某个用户去访问资源。

-r创建系统组 cat /etc/group

:安全上下文模型:进程以其发起者的身份运行

系统组:

进程访问的文件权限,取决于发起者的权限

为了让那些后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,

这个用户从来不用等了系统:仅仅是用来让其他进程以他身份来运行,从而获取普通权限的。

[[email protected] ~]# groupadd -r -g 306 marriadb

[[email protected] ~]# tail -2 /etc/group

testid:x:2000:

marriadb:x:306:

groupmod修改组属性

-n  修改组名

[[email protected] ~]# groupmod -n xiongdb(新名字) marriadb(旧名字)

-g   修改组id

[[email protected] ~]# groupmod -g 399 xiongdb

groupdel 删除组

[[email protected] ~]# groupdel testid

useradd  创建用户

useradd docker

-u 指定用户的uid

useradd -u 3000 docker

-g 指定基本组id ,此组必须实现存在

openstack组

useradd -g openstack xiong

-c添加注释信息

useradd -c “test” user05

-G 指明用户所属的附加组,多个组之间用分号分隔 ,组必须事先存在

组 openstack,doctor,user05

useradd -G openstack,doctor,user05 xiaoxiong

[[email protected] ~]# tail -4 /etc/group

doctor:x:1045:xiaoxiong

openstack:x:3000:xiaoxiong

user05:x:3003:xiaoxiong

xiaoxiong:x:3004:

-d 指定的路径为用户的家目录,通过复制/etc/skel此目录并重命令实现的:

指定的家目录路径如果事先存在,则不会为用户复制环境配置文件

[[email protected] ~]# useradd -d /tmp/user09 user09

[[email protected] ~]# ls /tmp/

user09

指定目录时,最好目录不存在

-s 指定用户的默认shell文件,可用的所有shell列表为/etc/shells文件

[[email protected] mytest]# useradd -s /bin/csh kestone

[[email protected] mytest]# tail -1 /etc/passwd

kestone:x:3008:3008::/home/kestone:/bin/csh

-r 创建系统用  centos7中创建的,1-999为系统用户

[[email protected] mytest]# useradd -r xiong01

[[email protected] mytest]# tail -1 /etc/passwd

xiong01:x:991:398::/home/xiong01:/bin/bash

-m 强制为用户指定目录,并复/etc/skel环境等配置文件

-M 不创建主目录

[[email protected] mytest]# tail -1 /etc/passwd

xiong03:x:3009:3009::/home/xiong03:/bin/bash

[[email protected] mytest]# ls /home/    未创建目录xiong03

doctor  kestone  mageedu  openstack  user02  user03  user05  xiaoxiong  xiong

-f 非活动期限,指用户到期后,登录系统,修改密码就行,值为-1

-D  显示用户创建时,用到的创建用户信息。

[[email protected] mytest]# useradd -D

GROUP=100     私有组

HOME=/home   创建家目录位置

INACTIVE=-1     非活动期限禁用

EXPIRE=         永不过期

SHELL=/bin/bash  默认shell

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes  是否创建邮件队列,在/var/spool/mail创建邮件地址

[[email protected] mytest]# useradd -D -s /bin/csh    修改的文件是 /etc/default/useradd

[[email protected] mytest]# useradd -D

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/csh       修改用户创建时shell,重启不会还原

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

/etc/login.defs  创建用户时一些配置文件

usermod 修改用户属性

-u  修改用户为此处的新id号

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

usermod -g openstack user09   修改用户所属的附加组,原来的附加组会被覆盖,如果想不被覆盖

则与-a配合使用

-a --append:与-G一起使用,用于为用户追加新的附加组。

-c修改注释信息

-d 修改用户的家目录,用户原有的文件不会被转移至新位置

必须与-m一起使用

-s 修改用户shell

-L   lock锁定用户的密码

userdel删除用户

userdel user01  但是不会删除用户目录

userdel -r user01 删除用户,同时删除用户目录

passwd修改用户米

passwd xiong 修改xiong的密码

-l-u 锁定和解锁

-e 过期期限 ,日期

-i  days 非活动期限

-n  days密码的最短使用期限

-x  密码的最长期限

-w 警告期限

--stdin 通过标准输出来设置用户名密码

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

Changing password for user user05.

passwd: all authentication tokens updated successfully.

gpasswd 组添加密码

选项

gpasswd xiong :

-a username 向组中添加用户

[[email protected] doctor]# gpasswd -a fdora netadmin

Adding user fdora to group netadmin

[[email protected] doctor]# tail -10 /etc/group

gentoo:x:4001:netadmin

fdora:x:4002:

netadmin:x:4003:fdora

[[email protected] doctor]#

-d username 重组中移除用户

netgrp user05(组)

[[email protected] ~]$ newgrp user05

[[email protected] ~]$ id

uid=3004(xiaoxiong) gid=3003(user05) groups=3003(user05),1045(doctor),3000(openstack),3004(xiaoxiong)

[[email protected] ~]$ touch a

[[email protected] ~]$ ll

total 0

-rw-r--r-- 1 xiaoxiong user05 0 Jul 28 17:30 a

[[email protected] ~]$ exit          退出组必须用

[[email protected] ~]$ id

uid=3004(xiaoxiong) gid=3004(xiaoxiong) groups=3004(xiaoxiong),1045(doctor),3000(openstack),3003(user05)

[[email protected] ~]$

newgrp xiong(组) 临时切换至组 ,如果用户组有密码,需要输入组密码

chage 命令 更改用户密码过期信息

id命令 显示用户真实有效的id

id  不加选项是显示自己的

id 加用户,显示用户的id信息

su切换用户

登录式切换,会通过重新读取目标的配置文件来重新初始化

su - 用户名  su - xiong  或者 su -l username

非登录式切换,不会读取目标用户的配置文件进行初始化

su 用户名

管理员切换至他用户,不需要用户密码,但是切换用户切换需要输入密码

-c 仅以指定用户的身份运行此处指定的命令

[[email protected] ~]# su - netadmin -c ‘whoami‘

netadmin

chsh改变bash的

chfn

pwck 检查用户密码是否有问题

gpwck 检查用户组的密码是否有异常的

权限管理

进程安全上下文:

进程对文件的访问权限应用模型

进程的属组与文件的属组是否相同,如果相同,则应用属组权限,

否则,则检查进程属组是否与文件的属组;如果是,则应用属组权限。

否则,就只能运用其他权限进程的属组与文件的属组是否相同,如果相同,则执行,如果不同则检查属组权限,如果有权限,则执行,如果没有,检查其他

用户权限,有权限则执行。)

左三位定义属组权限,中三位为属组权限,右三位为其他用户权限

r:readable 4读权限  w writeable  2写权限  x  excuteable  1执行权限

文件:r:可以获取文件数据       access time

w  可修改文件的数据      touch  文件  stat 文件 modify time

x   可将此文件运行的进程  change time

文件一般没有执行文件,如果文件有执行权限,则有可能有问题。

目录  r 可用ls命令获取其下的所有文件列表,但是不获取详细信息

w 可修改此目录下的文件列表

x 可cd至此目录 ,可用ls -l 获取所有文件的详细属性信息。

权限组合机制:没有权限就用-代表

---   000     0     没有读写,执行权限

--x   001     1

-w-  010     2

-wx  011     3

r--   100     4

r-x   101     5

rw-  110     6

rwx  111     7         规律为,有相应权限为则为1,没有相应权限则为0

二进制  八进制

chmod命令有三种

赋值表示:直接操作一类用户的所有权限位

属主u=  属组g=  其 他用户o=   所有a=

如果想同时给u,g,o赋值则可以用‘,‘分开。如果两u,g,o相同则可写成ugo=,

如果没有权限,则不写

如:

[[email protected] ~]chmod u=rwx,g=x,o=r  /root/f2

给文件f2属主加读写执行权限,给属组加执行权限,给其他用户执行权限

chmod u=rwx,g=wx,o=rx /root/2

授权表示法 :直接操作一类用户的一个权限位,属主,属组,其他用户权限相同时可连写 (ug, ugo,uo)

u+,u-   u+r  u+w u+x  u-r u -w o-x

g+,g-

o+g-

a+a-    这个时候可以省略a    chmod +w  f2等同于 chmod a+w  ,前面命令等同于同时加上w权限

如果

[[email protected] ~]# ll f2

-rwxr-x--x 1 root root 5 Jul 28 08:59 f2

[[email protected] ~]# chmod ugo-x f2

[[email protected] ~]# ll f2

-rw-r----- 1 root root 5 Jul 28 08:59 f2

2.八进制表示法

x 1  w 2 x4

如:

chmod 740 f2   chmod 777 f2   chmod 111  f2

3.引用性修改,参考某个文件的权限,并将这个文件的权限赋值给文件,如

chmod --reference=/var/log/messages f2

选项

-r 递归修改目录文件内的权限,一般应用到授权表示法,不建议不加思索是使用赋值和8进制法修改

从属关系管理命令

chown,chgrp

选项 -R: 递归修改

chown -R xiong:root f2  将文件修改为xiong属主,并且文件属于root组

chown  -R --reference=/var/log/messges  f2

chgrp  组 文件

[[email protected] ~]# chgrp xiong shadow

[[email protected] ~]# ll

total 20

drwxr-xr-x. 2 xiong xiong 4096 Jul 29 17:40 addd

-rw-------. 1 root  root    56 Jul 29 12:02 dead.letter

-rw-r--r--. 1 xiong root    27 Jul 29 12:13 f2

-rw-r--r--. 1 root  root    21 Jul 29 12:33 mail.txt

----------. 1 root  xiong 1054 Jul 28 10:03 shadow

对目录有写权限,目录下文件没有写权限,则可以在目录里创建或删除文件,但是对

目录下的文件没有写权限

root创建文件是时,权限是为644

而普通用户创建为664

umask:文件的权限反向掩码,遮罩码

文件:

666-umask

目录:  777-umask

注意:之所以文件用66区减,表示文件默认不能拥有执行权限,

如果减得的结果又执行,则其结果需要将其加1

umask:023

666-023=643=644  减得得结果又1,则将加一边644

777-023=754

[[email protected] ~]# umask 027   设置遮罩码

[[email protected] ~]# umask

0027

[[email protected] ~]# touch umask

[[email protected] ~]# ll

-rw-r-----. 1 root  root     0 Jul 29 18:28 umask

[[email protected] ~]# mkdir umaska

[[email protected] ~]# ll

-rw-r-----. 1 root  root     0 Jul 29 18:28 umask

drwxr-x---. 2 root  root  4096 Jul 29 18:28 umaska

linux很多设置,只对当前有效,退出系统就失效了。

install复制文件同时,设置文件的属性的

install --mode=777 /etc/fstab /root

cp复制文件是不能修改器权限的

mktemp 创建临时文件

时间: 2024-10-06 06:33:55

文件通配符,用户与组管理的相关文章

linux文件和文件夹的筛选、查找及用户和组管理命令

1.列出当前系统上所有已经登陆的用户的用户名, 注意:同一个用户登录多次,则只显示一次即可. 查看系统用户的命令为: (1)getent passwd 查看所有系统上的所有用户信息 (2)w 查看登录用户正在使用的进程信息,该命令所使用的信息来源于/var/run/utmp文件 w命令输出的信息包括: -用户名称 -用户的机器名称或tty号 -远程主机地址 -用户登录系统的时间 -空闲时间(作用不大) -附加到tty(终端)的进程所用的时间(JCPU时间) -当前进程所用时间(PCPU时间) -

用户和组管理类命令

1.列出当前系统上所有已经登陆的用户的用户名,注意:同一个用户登陆多次,则显示一次即可. who |cut -d' ' -f1 | sort | uniq 2.取出最后登陆到当前系统的用户的相关信息 w|tail-n1或者who|tail-n1 3.取出当前系统上被用户当做其默认shell的最多的那个shell cat /etc/passwd | awk -F':' '{print $7}'|uniq –c 结果为:/sbin/nologin awk -F':' '{a[$7]++}END{fo

5、linux用户和组管理详解

linux用户和组管理 类Unix系统的设计初衷就是为让多用户同时工作,所以也迫使Linux系统有了极强的安全性,在前面安装红帽RHEL7操作系统时还特别要求"设置root用户密码",而root用户是存在于所有类UNIX系统中的"超级用户". 用户管理 root账户介绍(超级管理员) root用户拥有极高的系统所有权,能够管理系统的各项功能,如添加/删除用户,启动/关闭进程,开启/禁用硬件设备等权限.虽然使用root用户工作时不会受到权限的控制,但老话讲"

Linux重定向及用户和组管理

一.bash的I/O重定向及管道 1.Linux下一般缺省的输入称之为标准输入,即键盘输入,缺省的输出称之为标准输出,即显示器输出.Linux给程序提供了三种I/O设备: 标准输入(STDIN)--0:默认接受来自键盘的输入 标准输出(STDOUT)--1:默认输出到终端窗口 标准错误(STDERR)--2:默认输出到终端窗口 I/O重定向即改变默认位置. 输出重定向常用语法: CMD > file:把STDOUT重定向到file文件中,原有文件内容会被覆盖: CMD >> file:在

linux用户和组管理

在Linux系统上,用户管理是基于用户名和密码的方式进行资源的分配,Linux上的用户分为以下类别: 管理员:root UID 0 普通用户:1-65535 系统用户:1-999 对守护进程获取资源进行权限分配 登录用户:1000+ 通过交互式方式登录 组group 管理员组;root GID 0 普通组:1-65535,普通组又分为: 系统组:1-999 一般组:1000+,而一般组分为: 基本组:也叫私有组,创建用户时,如果没有指定其所属的组,系统自动为期创建一个与用户同名的组,用户必须属于

Linux用户与组管理(一)

Linux用户与组管理(一) 简介Linux用户与组 useradd usermod userdel groupadd groupmod groupdel 环境:CentOS 6.8 简介Linux用户与组 Linux系统在静态视角下,无非就是由诸多文件组成的一个"文件系统":从动态视角来看,无非就是一个在内核支配之下的一个"文件系统".这两种角度是有些区别的:动态角度下,内核是独立的,内核负责管控文件系统,而在静态角度下,连内核本身也是文件系统下的一个文件而已.故

Solaris用户管理(一):用户与组管理

2008-07-01 09:19 用户管理是系统管理的基础.Solaris中不但支持传统Unix所支持的用户和组的概念,还从Solaris 8开始引入了基于角色的访问控制(RBAC),提供了一种更加安全.灵活的方式来进行权限分配和管理. 先看看Solaris下的基本用户管理.(详细的资料可以自行查阅man手册) Solaris 下的基本用户管理体系包括/etc目录下的passwd.group和shadow三个配置文件,以及useradd.usermod.userdel. passwd.group

Linux 用户和组管理

这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d /home/user01 -m user01 2.查看/etc/passwd文件的最后一行,看看是如何记录的. cat /etc/passwd 3.查看文件/etc/shadow文件的最后一行,看看是如何记录的. cat /etc/shadow 4.给用户user01设置密码:#passwd us

用户和组管理类命令总结

用户和组管理类命令总结 一.用户管理 1.用户创建:useradd 2.用户属性修改:usermod 3.修改用户属性:chage 4.删除用户:userdel 5.给用户添加密码:passwd 6.切换用户或以其他身份执行:su 二.组管理 7.组创建:groupadd 8.组属性修改:groupmod 9.组删除:groupdel 10.组密码:gpasswd 11.临时切换基本组:newgrp 三.查看信息 12.查看用户相关的ID信息:id 13.其他查看信息的命令:chfn.chsh.