第五章用户组和管理权限学习笔记

本章内容:

解释Linux的安全模型

解释用户账号和组群账号的目的

用户的组管理命令

理解并设置文件权限

默认权限

特殊权限

ACL

笔记整理开始2018年4月3日17:27:07

介绍安全3A

Authentication:认证

Authorization:    授权

Accouting|Audition:审计

本章主要介绍的内容为认证和授权方面的内容

 

用户user

令牌token,identiry

用户通过账号和口令登录(认证)之后,系统会根据认证的账号类型

发放不同的类型令牌(授权)。

用户持令牌通过程序访问文件,文件会审核令牌类型判断是否具有访问

权限。

若在登录过程中做了权限变更,需重新登录之后才能领取新的令牌。

Linux用户:Username/UID

管理员:root,0

普通用户:xx,1-65535

系统用户:1-499,1-999(CentOS7)

对守护进程获取资源进行权限分配

登录用户:500+,1000+(CentOS7)

交互式登录

 

组group

Linux组:Groupname/GID

管理员组:root,0

普通组:

系统组:1-499,1-999(CentOS7)

普通组:500+,1000+(CentOS7)

 

安全上下文

Linux安全上下文

运行中的程序:进程(process)

以进程发起者的身份运行:

root:/bin/cat

hello:/bin/cat

进程能够访问资源的权限取决于进程的运行者的身份

组的类别:

用户的主要组(primary group)

用户必须属于一个且只有一个主组

组名同用户名,且仅包含一个用户,私有组(创建用户时自动创建)

用户的附加组(supplementary group)

一个用户可以属于零个或多个附加组

 

用户和组的配置文件

linux用户和组的主要配置文件:

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

/etc/group:组及其属性信息

/etc/shadow:用户密码及其相关属性

/etc/gshadow:组密码及其相关属性

 

passwd文件格式:

例:

root:x:0:0:root:/root:/bin/bash

hello:x:1000:1000:hello:/home/hello:/bin/bash

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

 

login name: 登录名(hello)

passwd:             密码(已移动到shadow文件,此地为x)

UID:                   用户身份编号(1000,192…)

GID:                   登录默认所在组编号,主组

GECOS:                     用户全名或者注释

home directory:用户主目录(/home/hello)

shell:                  用户默认使用shell

 

gshadow文件格式:

root:$6$vOrgaA175RBG06bP$A/WYhuPC6pFNEUBKm0xp5/0W8jwQZIGJJUQI5o

1aAQJtLRRW9J9h07ga5mcub4Tl7fL1MLdEH7ayTJsWCwMwN/::0:99999:7:::

 

systemd-network:!!:17617::::::

 

hello:$6$9t4/ZZJe$CKCzXlZJct4ryh9eAmr.ztf9SlnuuoQfFCtmEdKdbycAge

Wrv2xhAh0HF6KmRbKLSkcF70icUfysiycoOsbsB/:17623:0:99999:7:::

 

1.login name:                             登录名

2.encrypted password:                   加密的密码,类型、salt、密文

现在一般使用sha512加密

3.date of last password change:上一次修改密码的时间,已1970-1-1之后

的天数表示

计算方法:echo `date +%s`/3600/24 |bc

4.minimum password age:              密码的最小使用周期,即密码修改之后

最少多少天之后可以再次修改

0 表示随时可以更改

5.maximum password age:             密码的最长使用周期,修改密码之后多少

天之后必须再次修改密码(过期)

99999,永不过期

6.password warning period:            密过过期之前几天发出提示信息

7.password inactivity period:    过期之后多少天之内还可以登录

8.account expiration date:        从1970-1-1算起,多少天后账号失效

9.空                                           预留位置

 

密码加密

加密机制:

加密:明文–>密文

解密:密文–>明文

单向加密:哈希算法,原文不同,密文必不同

相同算法定长输出,获得密文不可逆推出原始数据

雪崩效应:初始条件的微小改变,引起结果的巨大改变

md5:message digest,128bits,听说已被破解

sha1:secure hash algorithm,160bits

sha224:224bits

sha256:

sha384:

sha512:

 

密码的复杂性策略

使用数字、大写字母、小写字母及特殊字符中至少3种

足够长

使用随机密码

定期更换,不要使用最近曾经使用过的密码

 

group文件格式:

root:x:0:

hello:x:1000:hello

kvm:x:36:qemu

group_name:     群组名称

password:          密码,不显示

GID:                   群组ID

user_list:        以当前组为附加组的用户列表(分隔符为逗号)

 

gshadow文件格式:

root:::

hello:!!::hello

systemd-network:!::

group name:             群组名称

encrypted password:加密的密码

administrators:   组管理员列表,更改组密码和成员

members:                 成员,以当前组为附加组的用户列表(分隔符为逗号)

 

文件操作命令:

vipw:    vi+passwd

vigr: vi+passgr

pwck:

grpck:

 

用户管理命令:

useradd

usermod

usedel

组账号维护命令:

groupadd

groupmod

userdel

 

useradd:用户创建

useradd [options] login.name

-u                        指定UID,如不指定,正常情况id按最大的id上递增

超过范围则按最小的数递增

-o                        配合-u选项,不检查UID的唯一性

-g GID:                 指明用户所属的基本组,可为组名,也可以为GID

-c ”COMMMENT”:     用户的注释信息

-d home_dir         以指定的路径(不存在)为家目录

-s shell:              指明用户的默认shell程序

可用列表在/etc/shells中

-G group1..           为用户指明附加组,须存在

-N                       不创建私有组做主组,使用users组做主组100

-r                        创建系统用户

-m                       创建家目录,用于系统用户

-M                       不创建家目录,用户非系统用户

家目录不存在则登录会进入”/”

 

默认值设定:/etc/default/useradd文件中

显示或更改默认设置:

useradd -D          显示基本设置

[root@sentos7 ~]#useradd -D

GROUP=100                -N选项,如果不创建同名主组,则属于这个组

HOME=/home                    家目录位置

INACTIVE=-1               过期之后还可以登录的天数,-1表示不会锁死

EXPIRE=                       账号有效期,默认99999

SHELL=/bin/bash         默认使用的shell类型

SKEL=/etc/skel             创建家目录的源文件地址

CREATE_MAIL_SPOOL=yes 是否创建mail

useradd -D -s /bin/csh 修改默认shell类型

useradd -D -b /dir             修改默认家目录

usreadd -D -g group          -N选项之后默认的主组

 

练习:

1.创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注视信息

“Gentoo Distribution”

useradd -G bin,root -s /bin/csh -c “Gentoo Distrition” gentoo

2.创建下面的用户、组和组成员关系

名字为webs的组

用户名nginx使用webs作为附属组

用户varnish,也是用webs作为附加组

用户mysql,不可交互式登录系统,也不是webs的成员,nginx,

varnish,mysql密码都是magedu

grpadd webs

useradd -G webs nginx

useradd -G webs varnish

useradd -r     mysql

echo magedu |passwd –stdin nginx

echo magedu |passwd –stdin varnish

echo magedu |passwd –stdin mysql

 

新建用户的相关文件和命令

/etc/default/useradd     新建用户默认信息

/etc/skel/                            家目录复制地址

/etc/login.defs                     添加用户配置信息

/var/spool/mail                   邮箱路径

newusers passwd格式文件:     批量创建用户

chpasswd                                  批量修改用户口令

如:    [root@sentos7 ~]#cat f2

newmike:maduge

[root@sentos7 ~]#cat f2 |chpasswd

 

 

usermod:用户属性修改

usermod [options] login

-u UID                         新UID

-g GID或者group              新主组

-G Group1[,Group]..     新附加组,原来的附加组将会被覆盖

-aG                             若保留原有,则要同时使用-a 选项

-s shell                 新的默认使用shell

-c ’comment‘:             新的注释信息

-d home                     修改家目录,新的家目录不会自动创建

-dm home                   创建新家目录并移动原家数据

-l login.name        新的名字,改名之后家目录,邮箱不变

-L:                     lock指定用户,在/etc/shadow密码栏增加!

-U:                            unlock指定用户,将/etc/shadow密码栏的!拿掉

-e                                yyyy-MM-DD:指明用户账号过期时间

-f INACTIVE:              设定非活动期限,宽限期

-p, –password PASSWORD

use encrypted password for the new password

用加密之后的明文设置密码

例:

usermod -u 7888 hello

修改hello的uid为7888

usermod -g root hello

修改hello的主组为root

usermod -aG lily hello

将hello添加到附加组lily

 

userdel:删除用户:

userdel [option]… login.name

-r:          删除用户家目录

 

id:查看用户的ID信息:

id [option]…[USER]

-u:          显示UID

-g:          显示GID

-G:      显示用户所属附加组的ID

-n:          显示名称,需配合ugG使用

 

su:switch user切换用户或以其他用户身份执行命令

su [option]..[-] [user[args..]]

切换用户的方式:

su username         非登录式切换,不会读取目标用户的配置文件,不改变当前

工作目录

su – username      登录式切换,会不去目标用户的配置文件,切换至家目录,

完全切换

root su至其他用户无需密码,非root用户切换时需要密码

退出用exit,ctrl+d,不要嵌套su

 

su [-] username -c ‘cmd’     换个身份执行命令,执行完之后退回

su – hello -c “cat /etc/shadow”

su -l –login  相当于su – username

 

passwd:设置密码:

passwd [options] username: 修改指定用户的密码

 

常用选项:

-d          删除指定用户的密码

-l            lock锁定指定用户,加!

-u          unlock,解锁指定用户,去掉!

-e          强制用户下次登录修改密码

-f    强制操作

-n mindays:          指定最短使用期限

-x maxdays: 最大使用期限

-w warndays:     提前多少天开始警告

-i inactivedays:过期还可以使用的天数

–stdin:从标准输入接收用户密码

例:

echo helloyou |passwd –stdin -n 3 -i 5 hello

修改hello的密码 最小使用天数3天,过期之后锁定时间5天

echo redhat |passwd –stdin hello &> /dev/null

修改hello的密码为redhat 影藏标准输出和标准错误

 

chage:修改用户密码策略

chage [option]…login.name

-d lastdays                  还可以继续使用的天数

-E –expire.date days   指定失效时间

-I –inactive days             过期之后锁定的时间

-m –mindays days            最小使用期限

-M –maxdays days            最长使用时间

-W –warndays days          提醒时间

例:

chage -d 0 tom          passwd -e tom

设置tom账号下一次登录修改密码

chage -m 0 -M 9999 -W 5 -I 7 tom

设置tom账号的密码最小使用时间0,最大9999,提醒5 冻结7

chage -E 2200-09-16   hello

usermod -e

设置tom账号失效时间2200-9-16

 

其他相关命令:

chfn:修改用户注释信息,

usermod -c类似

[root@sentos7 ~]#chfn hello

Changing finger information for hello.

-f    Name [hello]:

-o   Office [hahah]: 原office为hahah,冒号后输入新的

-p   Office Phone [12345]: 不修改可以直接回车

-h   Home Phone [54321]:

 

Finger information not changed.

例:

chfn -f hello -h 76521 hello

修改hello的名为hello,homephone为76521

 

chsh:(-s)修改指定shell

chsh -l 列出当前所有shell, cat /etc/shells

chsh -s /bin/bash hello

修改hello默认shell为csh

 

finger:查看当前系统登录的用户信息,类似who

finger hello

查看用户hello信息(name,bin,lastlogin ip)

 

groupadd:创建组

groupadd [option]…group.name

-g GID           指明GID号,[DID_MIN,GID-max]

-r:                 创建系统组

CentOS6:<500

CentOS7:<1000

具体规则查看/etc/login.defs

 

groupmod:组属性修改

groupadd [option]…group

-n group.name            修改组名

-g GID:              新的GID

 

groupdel:组删除

groupdel GROUP

 

gpasswd:更改组密码

gpasswd [option] group

gpasswd notbook        修改密码

不支持标准输入

-a user          将user添加至指定组中

-d user          从指定组中移除用户user

-A user1,user2,..    设置有管理权限的用户列表

 

newgrp:临时切换主组

newgrp hello

临时切换主组为hello

exit或者ctrl+d退出

如果用户本不属于此组,则需要组密码

 

groupmems :更改组成员

groupmems [options] [action]

-g,–group groupname      root only

-a,–add username                    指定用户加入组

-d,–delete username         指定用户从组中删除

-p,–purge                                删除组所有成员

-l,–list                             显示组成员列表

例:

groupmems -g hello -a lily

usermod -aG hello lily

gpasswd -a hello lily

将lily添加到组hello的三种写法

groupmems -g hello -d mady

将lily从hello中删除

groupmems -g hello -p

清除hello附加组所有成员

groups:

groups hello

查看hello的所有组,主组+附加组

 

其他命令:

pwunconv     passwd里面显示密码,shadow就不存在了

pwconv         将passwd中密码放入shadow

getent passwd                    查看passwd

getent passwd hello            只看hello的passwd

getent passwd |shadow | group |gshadow

 

 

文件权限:

文件的权限主要针对三类对象进行定义:

owner:属主,u

group:属组,g

othe:其他,o

每个文件针对每类访问者都定义了三种权限

r:     Readable 读,查看权限,可使用文件查看类工具获取其内容

w:    Writealbe       写,修改权限,可修改其内容

x:     eXcutable       执行权限,可以把此文件提请内核启动为一个进程

ps:

普通用户不能改文件所有者

所有者修改文件所属组,要求自己必须在相同组才能改

对于root账号,rw权限不受控制,x权限受影响

ugo只要有一个x,root就可以执行此文件 ,x全为-,则无法执行

对于普通用户,没有r只有w,不能打开,但是能有>,>>写入

可执行文件,无需r只需x即可执行,r全是有时会需要,比如file

删除文件需要目录的w权限

 

目录:

r:可以使用ls查看此目录中文件列表

w:可在此目录中创建文件,也可删除此目录中的文件

x:可以使用ls -l 查看此目录中的文件列表,可以cd进入此目录

X:只给目录x权限,不给文件x权限

ps:

没有r权限,有x权限,可以进入目录,无法查看文件列表,可以查看

文件内容

有r权限,没有x权限,不能进入目录,不能目录里面的详细属性,也

不能查看文件内容

 

有w权限,没有x权限,无法删除里面文件

有w权限,没有r权限,可以删除里面文件

要执行目录下的文件,必须对目录具有x权限

 

用户获取文件(目录)权限:

所有者—所属组–other,一旦匹配,不看其他

如果是所有者,只看—-,不看后面

如是是所属组,直接所属组权限生效,不看other权限

 

chown:修改文件的属主

chown [option]..[owner][:[group]] file

chown hello f1                    修改文件f1的属主为hello

chown hello:hello f1  修改文件f1的属主和组为root,hello

(:group)只修改属组,不建议使用

-R   递归,针对目录

chown –reference=f1 f2 修改f2的owner:group和f1相同

 

chgrp:修改文件所属组

chgrp [option] group file

chgrp lily f1    修改文件f1所属主为lily

chgrp -R              递归,针对目录

chgrp –reference=f1 f2 修改f2的group和f1相同

 

文件权限操作:

drwxr-xr-x. 2 root   root     6 Mar 28 03:47 Desktop

drwxr-xr-x. 2 root   root     6 Mar 28 03:47 Documents

r:4

w:2

x:1

2-4位,owner权限

5-7位,group权限

8-10位,other权限

八进制数表示:    Octal-mode

— 000 0

–x  001  1

-w- 010 2

-wx 011 3

r– 100 4

r-x 101 5

rw- 110 6

rwx 111 7

如:

rwxr-xr-x       755

rw——-     600

 

修改文件权限:

chmod [option]..octal-mode file

-R   递归

chmod 644 f1       修改文件f1权限为644

chmod -R 777 dr1 递归修改dr1下所有文件权限为777

chmod [option]..mode,[mode]…file

chmod u=rw,g=rw,o=r f3

修改文件f3的权限为:rw-rw-r–

修改一类用户的所有权限:

u= g= o= ug= a=

u=,g=,o= 清空

修改一类用户某位或某些权限

u+r,g-rw,o+r,o-w…a+r,a-x….

chmod [option] –reference=f1 f2 f3

参考f1设置f2,f3的所有权限

 

例:

chmod u+wx,g-r,o=rx file

修改文件file权限,u+wx g-r o=rx

chmod -R g+rwX /testdir

递归修改目录testdir权限,g+rwX

 

新建文件和目录的默认权限:

umask指:可以用来保留新创建文件权限

新建file权限:666-umask指

如果所得结果某位存在执行(奇数)权限,则其权限+1

新建dir权限:777-umask

非特权用户umask是002

root账号的umask是022

umask           查看umask值

umask -S       模式方式显示

umask 2222   设置umask值为222

umask u=rwx,g=r,o=    模式方式修改umask

umask -p       输出可别调用,多了个名字。。

如:

umask -p >>.bashrc

umask文件地址:

/etc/bashrc           全局

~/.bashrc              用户设置

 

练习:

1.当用户docker对/testdir目录无执行权限是,意味着无法做哪些操作

无法进入目录

可以用ls查看列表,但是无法查看文件属性类型

就算对目录中的文件有rw权限,也无法查看和写入>>也不行

 

2.当用户mongodb对/testdir目录无读权限时,意味着无法做哪些操作

可以进入目录,无法查看文件列表,可以查看ll file详细信息

可以执行目录内程序,cat file可以查看文件内容

如果对文件有w权限,还可以通过>>写入文件

3.当用户redis对/testdir目录无写权限时,该目录下的只读文件file1是否

可以修改和删除

不能

4.当用户zabbix对/testdir具有写执行权限时,该目录下的制度文件file1是否

可修改和删除?

可以删除,不能修改

5.复制/etc/fstab文件到/var/tmp下,设置文件所有者为tomcat读写权限,所属

组为apps组有读写权限,其他人无权限

cp /etc/fstab /var/emp/

chmod 650 /var/tem/fstab

6.误删除了用户git的家目录,请重建并回复该用户家目录及相应的权限属性

cp -r /etc/skel/ /home/git

chown -R git:git /home/git

 

linux文件系统上的特殊权限:

SUID,SGID,Sticky

三种常用权限:r,w,x           user,group,other

安全上下文

前提:进程有属主和属组:文件有属主和属组

1.任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否

拥有执行权限

2.启动为进程之后,起进程的属主为发起者,进程的属组为发起者所属的组

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

a.进程的发起者,同文件的属主:则应用文件属主权限

b.进程的发起者,属于文件属组,则应用文件文件属组权限

c.应用文件“其他”权限

 

可执行文件上SUID权限:

任何一个可执行程序文件能不能启动为进程:取决于发起者对程序文件是否

拥有执行权限

启动为进程之后,其进程的属主为原程序文件的属主

SUID只对二进制可执行程序有效

SUID设置在目录上无意义

权限设定:

chmod u+s file

chmod u-s file

 

可执行文件上SGID

任何一个可执行程序文件能不能启动为进程:取决于发起者对程序文件是否

拥有执行权限

启动为进程之后,其进程的属组为原程序文件的属组

权限设定:

chmod g+s file

chmod g-s file

 

目录上的SGID权限:

默认情况下,用户创建文件时,其属组为此用户所属的主组

一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件

所属的组为此目录的属组

通常用于创建一个协作目录

权限设定:

chmod g+s DIR

chmod g-s DIR

 

Sticky 位

具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限

或拥有权

在目录设置Sticky位,只有文件的所有者或root可以删除该文件

sticky设置在文件上无意义

权限设定:

chmod o+t DIR…

chmod o-t DIR…

 

特殊权限数字法:

SUID:      4—

GUID:     2—

sticky      1—

 

权限位映射:

SUID:      user,占据属主的执行权限位:

s:属主拥有x权限

S:属主没有x权限

SGID:      group,占据属组的执行权限位

s:     group拥有执行权限位

S: group没有x权限

Sticky:other,占据other的执行权限位

t:     other拥有x权限

T:  other没有x权限

 

设定文件特定属性:

chattr +i 不能删除,改名,更改

-i           取消

chatr +a  只能追加内容

-a           取消

chattr +A      锁定atime

lsattr              显示特定属性

-R          可以递归

chattr +i /data/11         给/data/11增加锁定,不能删除更改改名

chattr +a /data/11        给/data/11增加锁定,只能追加内容

i存在的情况,a存在,也无法追加数据

chattr -i -a /data/11     取消data/11的特定权限

 

访问控制列表

ACL:Access Control List,实现灵活的权限管理

除了文件的所有者,所属组和其他人,可以对更多的用户设置权限

CentOS7 默认创建的xfs和ext4文件系统具有ACL功能

CentOS7 之前的版本,默认手工创建的ext4文件系统无ACL功能,需手动增加

(安装系统的时候创建的分区默认安装了acl,后续分区默认不带)

tune2fs -o acl /dev/sdb1

mount -o acl /dev/sdb1 /mnt/test

如添加了ACL权限,权限后面的.就会变成+

-rw-r–r–. 1 root root 8127 Apr 6 21:59 f16

未添加ACL

drwxrwxrwx+ 2 root root   49 Apr 7 01:55 23

已添加ACL

ACL生效顺序:

所有者,自定义用户,自定义组,其他人

PS:

用户所具有的组权限,为所有的组权限叠加取最大权限

[root@sentos7 /data]#getfacl 234

# file: 234

# owner: root

# group: root

# flags: -s-           显示特殊权限

user::r-x                所有者owner,

user:hello:rwx        自定义用户user

group::r-x

group:hello:rwx

group:lily:rwx        自定义组

mask::rwx                    组最高权限

other::-wx                    others

 

为多用户或者组的文件和目录赋予访问权限rwx

getfacl    f1 dr1

查看f1,目录dr1的acl权限

 

setfacl [-bkndRLP] { -m|-M|-x|-X … } file …

 

setfacl -m, –modify=acl u:hello:rwx 35 23

修改文件35,目录23的acl权限,使user用户hello具有rwx权限

setfacl     -Rm g:lily:rwX 23

递归修改目录23的acl权限,使lily组用户具有rwX权限

setfacl -M file.acl f5 234

按照文件file.acl中的权限设置文件f5 目录234的权限

[root@sentos7 /data]#cat file.acl

u:hello:rwx

g:lily:rwx

g:hello:rwx

 

setfacl -m d:u:wang:rx dir

-d, –default   operations apply to the default ACL

setfacl -d -m u:hello:rwx dir1

不能写成-m -d

设置目录dir的默认acl权限,给用户wang 附件rx权限,

默认对于目录下新建的文件或者目录默认附加相同权限,

对于现有文件,权限无变化

setfacl -x u:hello file|dir

清空hello用户对于file|dir的acl权限

setfacl -X file1.acl file dir

按照文件文件file1.acl删除文件file 目录dir的权限

setfacl -RX file3 dir1 如需递归,-R应在X的前面

setfacl -k dir

删除默认(default)ACL权限

setfacl -b file1

清除所有acl权限

getfacl file1 |setfacl –set-file=- file2

复制file1的acl权限给file2

–set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要

包含UGO的设置,不能像-m一样只是添加ACL就可以

示例:

setfacl –set u::rw,u:wang:rw,g::r,o::- file1

 

cp -p/-a f1 f2

复制文件用-p选项可以保留源acl权限

 

mask值:

ACL文件上的group权限是mask值(自定义用户,自定义组,用户组的最大权限)

而非传统的组权限,相当于限高

getfacl可以看到特殊权限:flags

通过ACL赋予目录默认x权限,目录内文件也不会继承x权限

base ACL不能删除

mask只影响除所有者和other之外的人和组的最大权限

mask需要与用户的权限进行与运算后,才能变成有限的权限

用户或组的设置必须存在于mask的权限设定范围内才会生效

setfacl -m mask::rx file1

设置文件file1的mask值为rx

 

备份和恢复acl

主要的的文件操作命令cp和mv都支持acl,只是cp命令需要加上-p选项

但是tar等常见的备份工具是不会保留目录和文件的acl信息

示例:

getfacl -R /tmp/dir1 >acl.txt

setfacl -R -b /tmp/dir1

setfacl -R –set-file=acl.txt /tmp/dir1

setfacl –restore acl.txt

getfacl -R /tmp/dir1

 

练习:

1.在/testdir/dir里创建的新文件自动属于webs组,组apps的成员如:

tomcat能对这些新文件有读写权限,组dbs的成员如:mysql只能对新文件有读

权限,其他用户(不属于webs,apps,dbs)不能访问这个文件夹

chgrp webs /testdir/dir

chmod g+s /testdir/dir

chmod o= /testdir/dir

setfacl -m d:g:apps:rw,d:g:dbs:r /tsetdir/dir

 

2.备份/testdir/dir里面所有文件的acl权限到/root/acl.txt中,清除

/testdir/dir中所有acl权限,最后还原acl权限:

getfacl -R /testdir/dir >/root/acl.txt

setfacl -R -b /testdir/dir

setfacl -R –set-file=/root/acl.txt

getfacl -R /testdir/dir

 

 

 

笔记整理完成时间:2018年4月7日11:42:24

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95200

(0)
青楼丨青楼丨
上一篇 2018-04-07
下一篇 2018-04-07

相关推荐

  • 正则表达式入门及应用 以grep sed为例

      ◆ 正则表达式正则表达式是由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符) 不表示字符字面意义,而表示控制或通配的功能。 它与shell的通配符既有相似也有不同。 ※ 转义符\ 可将带有命令性质的符号作为一般字符使用。 正则表达式中,常用以下元字符来代表特定字符的集合: ◆ 分组     1、正则表达式中,可以用\(\) 将一个或多…

    2018-04-15
  • Linux进程监控管理工具详解

    在上一节我们介绍了一些常用进程管理命令用法,但在实际生产环境运用时,我们可能需要动态持续的监控进程的运行状态,此时我们就需要top,htop,iotop、glances等命令工具来实现。

    2018-05-05
  • 马哥教育 – 第二周作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 <1>命令:CP 概念:用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。 语法…

    2018-05-21
  • DNS服务及相关实验

    DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。

    2018-06-02
  • linux中cat、more、less命令区别详解

    众所周知linux中命令cat、more、less均可用来查看文件内容,主要区别有:
    cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况;
    more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat强大,提供分页显示的功能,less比more更强大,提供翻页,跳转,查找等命令。而且more和less都支持:用空格显示下一页,按键b显示上一页。下面详细介绍这3个命令。

    2018-04-15
  • 安全及数字认证等使用

    偏重实现ca数字认证及实现基于key的登录

    2018-05-19