cron计划任务
系统服务:crond
日志文件:/var/log/cron
使用crontab命令
-编辑 crontab -e -u 用户名
-查看 crontab -l -u 用户名
-清除 crontab -r -u 用户名
1.查看服务状态
systemctl status crond
2.书写计划任务
* * * * * 分 时 日 月 周
useradd lisi 创建用户lisi
[root@room8pc205 桌面]# which date 查看date运行程序的位置
/usr/bin/date
[root@room8pc205 桌面]# crontab -e -u lisi 编写计划任务
*/1 * * * * /usr/bin/date >> /home/lisi/1.txt 将date的数据每隔1分钟追加重定向到1.txt。
watch -n 1 cat /home/lisi/1.txt 每间隔1s,查看1.txt中的数据。
###########################################################################################
基本权限类别
-读取 允许查看内容 -read -r
-写入 允许修改内容 -write -w
-可执行 允许运行和切换 -excute -x
对于文本文件:
r:cat less head tail
w: vim
x:运行
权限适用对象:
-所有者:拥有此文件/目录的用户 user u
-所属组:拥有此文件/目录的组 group g
-其他用户:出所有者,所属组之外的用户 other o
查看权限:
ls -ld 文件或目录
[root@server0 ~]# ls -ld /root/
dr-xr-x---. 16 root root 4096 10月 30 19:58 /root/
类型 硬连接数 属主 属组 大小 最后修改时间 文件/目录名称
设置基本权限:
使用chmod命令
-chmod -R 归属关系+-=权限类别 文档
-R 递归赋予权限
[root@server0 ~]# chmod u-x /nsd01 取消属主的可执行权限
[root@server0 ~]# ls-ld /nsd01/
drw-r-xr-x. 2 root root 6 10月 30 20:15 /nsd01/
[root@server0 ~]# chmod g+w /nsd01/ 增加属组的写入权限
[root@server0 ~]# ls -ld /nsd01/
drw-rwxr-x. 2 root root 6 10月 30 20:15 /nsd01/
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd01/
属主 属组 所有人 都具有读写可执行权限
[root@server0 ~]# ls -ld /nsd01/
drwxrwxrwx. 2 root root 6 10月 30 20:15 /nsd01/
如何判断用户具备权限:
1.判断用户的所属的身份 所有者>所属组>其他人
2.看相应的权限位的权限划分
目录r的权限:能够ls浏览目录内容
目录w的权限:能够cp/mv/mkdir/touch/rm等更改目录内容的操作
目录x的权限:能够cd切换到此目录
设置文档归属:
-chown -R 属主 文档
-chown -R 属组 文档
-chown -R 属主:属组 文档
[root@server0 ~]# mkdir /nsd05 创建目录
[root@server0 ~]# ls -ld /nsd05
drwxr-xr-x. 2 root root 6 10月 30 20:35 /nsd05 查看目录权限
root@server0 ~]# groupadd tedu 创建组tedu
[root@server0 ~]# chown :tedu /nsd05 将nsd05的属组改为tedu
[root@server0 ~]# ls -ld /nsd05
drwxr-xr-x. 2 root tedu 6 10月 30 20:35 /nsd05 查看权限,属组已经成为tedu
#######################################################################################
特殊权限:
Set UID
附加在属主的x位上
-属主的权限标示会变为s
-适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限(传递所有者身份)
[root@server0 ~]# chmod u+s /usr/bin/mkdir 设置属主的特殊权限
[root@server0 ~]# ls -lh /usr/bin/mkdir
-rwsr-xr-x. 1 root root 78K 1月 25 2014 /usr/bin/mkdir
[zhangsan@server0 ~]$ mkdir /a 进入zhangsan用户,利用mkdir创建a目录
[zhangsan@server0 ~]$ ls -ld /a
drwxrwxr-x. 2 root zhangsan 6 Oct 30 20:55
a目录的属主身份为root(如果未设置特殊权限a目录的属主应该为zhangsan)
当我们给可执行文件的属主设置特殊权限之后,再利用其他用户执行可执行文件时,会继承属主的身份。
Set GID
附加在属组的x位上
-属组的权限标示会变为s
-适用于可执行文件,功能与Set UID类似(传递所属组身份)
-适用于目录,可以使目录下的新增文档自动设置与父目录相同的属组
[root@server0 ~]# chown :tedu /tarena/
[root@server0 ~]# ls -ld /tarena/
drwxrwxr-x. 2 root tedu 6 10月 30 21:06 /tarena/
[root@server0 ~]# chmod g+s /tarena 设置属组的特殊权限
[root@server0 ~]# mkdir /tarena/a
[root@server0 ~]#
[root@server0 ~]# ls -ld /tarena/a
drwxr-sr-x. 2 root tedu 6 10月 30 21:08 /tarena/a
设置之后tarena下创建的文档的属组都会继承tarena的属组。
Sticky Bit
-附加在其他人的x位上
-其他人的权限会变为t
-适用于开放w权限的目录,可以阻止用户滥用w写入
[root@server0 ~]# useradd dc
[root@server0 ~]# useradd tc
[root@server0 ~]# mkdir /public 创建公共目录public
[root@server0 ~]# ls -ld /public/
drwxr-xr-x. 2 root root 6 10月 30 21:15 /public/
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /public/ 让任何用户在public下都有读写和运行权限。
这样导致的问题在于,其他人也可以去对别人的文档进行编辑,删除等操作。
[root@server0 ~]# chmod o+t /public/ 我们设置特殊权限对于其他人
[root@server0 ~]# ls -ld /public/
drwxrwxrwt. 2 root root 30 10月 30 21:25 /public/
[dc@server0 ~]$ rm -rf /public/2.txt 删除其他用户创建的文件
rm: cannot remove ‘/public/2.txt’: Operation not permitted 提示权限不足。
###########################################################################################
acl访问控制列表
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/ zhangsan用户给与rx权限
[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/
########################################################################################
使用LDAP认证
传统用户名密码:本地创建,用于本地登陆 /etc/passwd
网络用户: 在LDAP服务器上创建,可以登陆域中每一台机器
LDAP服务器: classroom
客户端:指定服务端LDAP位置
1.安装客户端软件
– 软件包:
sssd:与服务端沟通软件
authconfig-gtk:图形配置sssd工具
[root@server0 ~]# rpm -q sssd #验证软件包安装成功
[root@server0 ~]# rpm -q authconfig-gtk
2.运行图形配置sssd工具:authconfig-gtk
[root@server0 ~]# authconfig-gtk
用户账户数据库:LDAP
LDAP搜索基础DN:dc=example,dc=com
LDAP服务器: classroom.example.com
钩选:用TLS加密连接
指定证书加密:
http://172.25.254.254/pub/example-ca.crt
认证方法:LDAP密码
3.启动sssd服务,并设置为开机自起
[root@server0 ~]# systemctl restart sssd
[root@server0 ~]# systemctl enable sssd
4.验证
[root@server0 ~]# grep 'ldapuser0' /etc/passwd
[root@server0 ~]# id ldapuser0
##################################################
家目录漫游
Network File System,网络文件系统
– 由NFS服务器将指定的文件夹共享给客户机
– 客户机将此共享目录 mount 到本地目录,访问此共享
资源就像访问本地目录一样方便
– 类似于 EXT4、XFS等类型,只不过资源在网上
查看NFS资源
[root@server0 ~]# showmount -e 172.25.254.254
进行挂载,将服务端NFS共享内容挂载到本地目录
[root@server0 ~]# mkdir /home/guests
# mount 172.25.254.254:/home/guests/ /home/guests
[root@server0 ~]# ls /home/guests
[root@server0 ~]# su - ldapuser0
#####################################################