周期性计划任务、对于文件的权限相关、acl访问策略的设置

cron计划任务

系统服务:crond
日志文件:/var/log/crond

• 使用 crontab 命令
– 编辑:crontab -e [-u 用户名]
– 查看:crontab -l [-u 用户名]
– 清除:crontab -r [-u 用户名]

1.查看服务状态
[root@server0 ~]# systemctl status crond

2.书写计划任务,


分 时 日 月 周
[root@server0 ~]# useradd natasha
[root@server0 ~]# which ifconfig #查询命令所对应的程序在那里
[root@server0 ~]# which date
[root@server0 ~]# crontab -e -u natasha
[root@server0 ~]# crontab -l -u natasha

/1 * /usr/bin/date >> /home/natasha/abc.txt

[root@server0 ~]# watch -n 1 cat /home/natasha/abc.txt

#######################################################

基本权限的类别
• 访问方式(权限)
– 读取:允许查看内容-read r
– 写入:允许修改内容-write w
– 可执行:允许运行和切换-execute x

对于文本文件:
r: cat head tail less
w: vim
x: 运行

• 权限适用对象(归属)
– 所有者:拥有此文件/目录的用户-user u
– 所属组:拥有此文件/目录的组-group g
– 其他用户:除所有者、所属组以外的用户-other o

权限位 硬连接数 属主 属组 大小 最后修改时间 文件/目录名称

[root@server0 ~]# ls -l /etc/passwd
[root@server0 ~]# ls -ld /etc/

[root@server0 ~]# ls -ld /root

[root@server0 ~]# ls -ld /home/student

[root@server0 ~]# ls -ld /tmp

以“-”开头: 文件
以“l”开头: 快捷方式
以“d”开头: 目录

• 使用 chmod 命令
– chmod [-R] 归属关系+-=权限类别 文档...
[-R] 递归赋予权限

[root@server0 ~]# mkdir /nsd01
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u-x /nsd01
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod g+w /nsd01
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod o=rwx /nsd01
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u=rwx,g=rx,o=r /nsd01
[root@server0 ~]# ls -ld /nsd01

################################################
如何判断用户具备权限
1.判断用户所属的身份 所有者>所属组>其他人 匹配及停止 
2.看相应权限位的权限划分

目录的 r 权限:能够 ls 浏览此目录内容
目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/... 等更改目录内容的操作
目录的 x 权限:能够 cd 切换到此目录

####################################################
以root用户新建/nsddir/目录,在此目录下新建readme.txt文件,并进一步完成下列操作
1)使用户zhangsan能够在此目录下创建子目录 切换用户 su - zhangsan
chmod o+w /nsddir/

2)使用户zhangsan不能够在此目录下创建子目录
chmod o-w /nsddir/

3)使用户zhangsan能够修改readme.txt文件
chmod o+w /nsddir/readme.txt

4)调整此目录的权限,使所有用户都不能进入此目录
chmod u-x,g-x,o-x /nsddir/

5)为此目录及其下所有文档设置权限 rwxr-x---
chmod -R u=rwx,g=rx,o=--- /nsddir/

###############################################

设置文档归属
• 使用 chown 命令
– chown [-R] 属主 文档...
– chown [-R] :属组 文档...
– chown [-R] 属主:属组 文档...

[root@server0 ~]# mkdir /nsd05
[root@server0 ~]# ls -ld /nsd05
[root@server0 ~]# groupadd tedu
[root@server0 ~]# chown dc:tedu /nsd05
[root@server0 ~]# ls -ld /nsd05

[root@server0 ~]# chown student /nsd05
[root@server0 ~]# ls -ld /nsd05

[root@server0 ~]# chown :root /nsd05/
[root@server0 ~]# ls -ld /nsd05/

####################################################
特殊权限(附加权限)

Set UID

• 附加在属主的 x 位上
– 属主的权限标识会变为 s
– 适用于可执行文件,Set UID可以让使用者具有文件属
主的身份及部分权限(传递所有者身份)

Set GID
• 附加在属组的 x 位上
– 属组的权限标识会变为 s
– 适用于可执行文件,功能与Set UID类似(传递所属组身份)

– 适用于目录,Set GID可以使目录下新增的文档自动设
置与父目录相同的属组

[root@server0 ~]# mkdir /tarena
[root@server0 ~]# ls -ld /tarena

[root@server0 ~]# chown :tedu /tarena
[root@server0 ~]# ls -ld /tarena

[root@server0 ~]# mkdir /tarena/nsd01
[root@server0 ~]# ls -ld /tarena/nsd01

[root@server0 ~]# chmod g+s /tarena/
[root@server0 ~]# ls -ld /tarena/

[root@server0 ~]# mkdir /tarena/nsd02
[root@server0 ~]# ls -ld /tarena/nsd02
[root@server0 ~]# touch /tarena/nsd02/abc.txt
[root@server0 ~]# ls -l /tarena/nsd02/abc.txt
#################################################

Sticky Bit
• 附加在其他人的 x 位上
– 其他人的权限标识会变为 t
– 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入
权限(禁止操作别人的文档)

[root@server0 ~]# mkdir /public
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /public
[root@server0 ~]# ls -ld /public

[root@server0 ~]# chmod o+t /public
[root@server0 ~]# ls -ld /public

###################################################

acl策略的作用

• 文档归属的局限性
– 任何人只属于三种角色:属主、属组、其他人
– 无法实现更精细的控制

• acl访问策略
– 能够对个别用户、个别组设置独立的权限
– 大多数挂载的EXT3/4、XFS文件系统默认已支持

[root@server0 ~]# mkdir /test
[root@server0 ~]# ls -ld /test
[root@server0 ~]# chmod o=--- /test
[root@server0 ~]# ls -ld /test
[root@server0 ~]# su - zhangsan

[zhangsan@server0 ~]$ cd /test/
-bash: cd: /test/: Permission denied
[zhangsan@server0 ~]$ exit
logout

[root@server0 ~]# setfacl -m u:zhangsan:rx /test/
[root@server0 ~]# getfacl /test/
[root@server0 ~]# su - zhangsan
[zhangsan@server0 ~]$ cd /test/
[zhangsan@server0 test]$ pwd
[zhangsan@server0 test]$ exit

• 使用 getfacl、setfacl 命令
– getfacl 文档...
– setfacl -m u:用户名:权限类别 文档...
– setfacl -m g:组名:权限类别 文档...
– setfacl -x u:用户名 文档... #删除指定的ACL策略 
– setfacl -b 文档... #清空ACL策略

[root@server0 ~]# getfacl /test/
[root@server0 ~]# setfacl -m u:dc:rwx /test/
[root@server0 ~]# setfacl -m u:natasha:rx /test/
[root@server0 ~]# getfacl /test/

[root@server0 ~]# setfacl -x u:dc /test/ #删除指定的ACL
[root@server0 ~]# getfacl /test/

[root@server0 ~]# setfacl -b /test/ #清空所有的ACL
[root@server0 ~]# getfacl /test/

##################################################
[root@server0 ~]# mkdir /nsd20
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd20
[root@server0 ~]# ls -ld /nsd20
drwxrwxrwx. 2 root root 6 10月 30 15:49 /nsd20
[root@server0 ~]# setfacl -m u:natasha:--- /nsd20










本文转自 英强云计算 51CTO博客,原文链接:http://blog.51cto.com/13404755/2048802,如需转载请自行联系原作者
上一篇:redis主从,哨兵回忆手册


下一篇:Nodejs fastify 登录校验