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

本章内容:

解释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 16:54
下一篇 2018-04-07 19:07

相关推荐

  • linux练气篇

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux笔记 2018-05-12
  • 权限管理

    权限管理 普通权限 通过划分为三种人来管理,所有者u,所属组g,其他人o,所有人a 文件 删除文件用文件所在文件夹的写权限来决定 读写权限root不受控制,执行受控制 对于目录没有执行权限,无法进入目录,无法查看目录内文件属性,无法查看文件内容 执行权限是基础权限没有执行读写权限无用 程序要运行,所在目录要有执行权限 普通用户无法更改文件的所有者,要更改文件…

    Linux笔记 2018-03-31
  • Linux的发行版

    按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

    Linux笔记 2018-06-21
  • Linux 系统启动故障恢复

    如果你的Linux系统一直重启或者因为某些服务无法开启的问题导致机器故障不能正常使用,那我们就从系统启动模式来考虑,是不是/etc/inittab文件下默认被设置成为6模式,或者/etc/crontab文件中是否加入的能导致系统一直重启的命令,或者说在系统启动中因为一个服务一直打不开导致系统卡在服务启动界面而无法进入系统,那我们就来看看这些让人哭笑不得的问题怎么解决!

    2018-05-10
  • linux sed用法总结

    处理文本的工具sedStream EDitor, 行编辑器sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,…

    Linux笔记 2018-04-15
  • 计算机构成简介与Linux基础知识

    Linux基础知识

    2018-03-27