1.文件权限的查看
两种方式:ls / ll
2.文件属性的读取
【1】文件类型
【2】文件的权限
r: 可读 w: 可写 x:可执行 -: 没有权限 . 特殊权限
【3】文件链接个数(文件内容被记录的次数)
【4】文件所有者
【5】文件属组
【6】文件大小(单位:字节)
【7】文件创建时间
【8】文件名称
1.字母方式修改权限
rw- rw- r–
1 2 3
1.[u]文件所有者权限
2.[g]所属组权限
3.[o]其他用户权限
r=4 w=2 x=1 -=0
7=rwx,6=rw-,5=r-x,4=r–,3=-wx,2=-w-,1=–x,0=—
3.umask
umask值:决定了新建文件或文件夹时的默认权限
umask默认值为0022
l 若用户创建的是目录,则默认所有权限都开放,为777,默认为drwxrwxrwx
l 若创建的是文件,默认是没有x权限,只剩r、w,最大值为666,默认为-rw-rw-rw-
l 新建文件:666-022=644
l 新建目录:777-022=755
l umask =077 ,此时新建目录的权限是700,文件权限是600
(1)针对其他用户的部分或者个别用户设置特殊权限
ACL:访问控制列表
设置ACL规则:setfacl -m u:用户:r-x 文件名 (u:可加可不加)
查看ACL规则:getfacl 文件名
删除一条规则:setfacl -x u:用户 文件名
(2) 针对其他用户,只能删除自己的文件,不能删除其他用户的文件
SBIT:粘滞位权限(强制位权限)
chmod o+t 文件名
(3)SGID:针对其他用户设置,以所属组的身份去执行
chmod g+s 文件名
原本有x权限,x的位置会变成s ,原本没有x权限,x位置会变成S
(4) SUID:以文件所有者的身份执行文件,只针对可执行文件
chmod u+s 文件名
guestuser1用户在tty1控制台使用vim编辑器制定自己今天的学习计划,内容如下:
Data access:8a.m.
Reading program:10a.m.
Project design:13p.m.
Discussion items:15p.m.
计划制定完成后,guestuser1对文件的内容进行了浏览和确认,最后用root身份将内容输出给在tty2控制台的用户参考。
需要开启两个终端
第一个终端:
[root@localhost home]# useradd guestuser1
[root@localhost home]# su guestuser1
[guestuser1@localhost home]$ cd
[guestuser1@localhost ~]$ vim 1.txt
[guestuser1@localhost ~]$ cat 1.txt
Data access:8a.m.
Reading program:10a.m.
Project design:13p.m.
Discussion items:15p.m.
[root@localhost home]# tty
/dev/pts/0
[root@localhost home]# cat /home/guestuser1/1.txt > /dev/pts/1
第二台终端:
[root@localhost ~]# tty
/dev/pts/1
[root@localhost ~]# Data access:8a.m.
Reading program:10a.m.
Project design:13p.m.
Discussion items:15p.m.
公司分别有3个部门,财务部、销售部、生产部。在系统中3个文件夹分别用于存放部门文件,有一个文件夹用于存放公司文件。要求如下:
a、每个部门设置一个组,部门经理有管理本部门帐号的权限。
b、部门成员对本部门的文件夹具有写入权限,但不能删除别人建立的文件。
c、其他部门成员不能查看本部门的文件。
d、总经理不加入部门组,但对部门的文件夹具有写入权限。
第一步:为每个部门新建文件夹:/mnt/
财务部:cwfiles 销售部:xsfiles 生产部:scfiles 公司文件:gsfiles
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
[root@localhost mnt]# mkdir -p cwfiles xsfiles scfiles gsfiles
第二步:为每个部门新建用户
财务部:cwjl cwy1
销售部:xsjl xsy1
生产部:scjl scy1
公司:zjl
[root@localhost mnt]# cd /home
[root@localhost home]# ls
[root@localhost home]# useradd cwjl
[root@localhost home]# useradd cwy
[root@localhost home]# useradd xsjl
[root@localhost home]# useradd xsy
[root@localhost home]# useradd scjl
[root@localhost home]# useradd scy
[root@localhost home]# useradd zjl
[root@localhost home]# cat /etc/passwd //查看用户是否建立成功
为用户设置密码:passwd 用户名
[root@localhost home]# passwd cwjl
[root@localhost home]# passwd cwy
[root@localhost home]# passwd xsjl
[root@localhost home]# passwd xsy
[root@localhost home]# passwd scjl
[root@localhost home]# passwd scy
[root@localhost home]# passwd zjl
[root@localhost home]# cat /etc/shadow //查看用户密码是否建立成功
第三步:为每个部门新建用户组
组名 财务部:cwb 销售部:xsb 生产部:scb
[root@localhost home]# groupadd cwb
[root@localhost home]# groupadd xsb
[root@localhost home]# groupadd scb
[root@localhost home]# cat /etc/group // 查看用户组是否新建成功
第四步:将用户加入到用户组
[root@localhost home]# gpasswd -a cwjl cwb
正在将用户“cwjl”加入到“cwb”组中
[root@localhost home]# gpasswd -a cwy cwb
正在将用户“cwy”加入到“cwb”组中
[root@localhost home]# gpasswd -a xsjl xsb
正在将用户“xsjl”加入到“xsb”组中
[root@localhost home]# gpasswd -a xsy xsb
正在将用户“xsy”加入到“xsb”组中
[root@localhost home]# gpasswd -a scjl scb
正在将用户“scjl”加入到“scb”组中
[root@localhost home]# gpasswd -a scy scb
正在将用户“scy”加入到“scb”组中
[root@localhost home]# cat /etc/group //查看用户组当中包含的用户
第五步:部门经理有管理本部门帐号的权限。(需要将部门经理设置为组管理员)
[root@localhost home]# gpasswd -A cwjl cwb
[root@localhost home]# gpasswd -A xsjl xsb
[root@localhost home]# gpasswd -A scjl scb
[root@localhost home]# cat /etc/gshadow //查看组管理员
第六步:部门成员对本部门的文件夹具有写入权限,其他部门成员不能查看本部门的文件。
[root@localhost home]# cd /mnt
[root@localhost mnt]# ll
drwxr-xr-x. 2 root root 6 7月 15 21:22 cwfiles
drwxr-xr-x. 2 root root 6 7月 15 21:22 gsfiles
drwxr-xr-x. 2 root root 6 7月 15 21:22 scfiles
drwxr-xr-x. 2 root root 6 7月 15 21:22 xsfiles
[root@localhost mnt]# chown cwjl:cwb cwfiles
[root@localhost mnt]# chown scjl:scb scfiles
[root@localhost mnt]# chown xsjl:xsb xsfiles
[root@localhost mnt]# ls -l
drwxr-xr-x. 2 cwjl cwb 6 7月 15 21:22 cwfiles
drwxr-xr-x. 2 root root 6 7月 15 21:22 gsfiles
drwxr-xr-x. 2 scjl scb 6 7月 15 21:22 scfiles
drwxr-xr-x. 2 xsjl xsb 6 7月 15 21:22 xsfiles
[root@localhost mnt]# chmod 770 cwfiles
[root@localhost mnt]# chmod 770 scfiles
[root@localhost mnt]# chmod 770 xsfiles
[root@localhost mnt]# ll
drwxrwx—. 2 cwjl cwb 6 7月 15 21:22 cwfiles
drwxr-xr-x. 2 root root 6 7月 15 21:22 gsfiles
drwxrwx—. 2 scjl scb 6 7月 15 21:22 scfiles
drwxrwx—. 2 xsjl xsb 6 7月 15 21:22 xsfiles
第七步:只能删除自己建立的文件而不能删除别人建立的文件
[root@localhost mnt]# chmod o+t cwfiles
[root@localhost mnt]# chmod o+t scfiles
[root@localhost mnt]# chmod o+t xsfiles
[root@localhost mnt]# ll
drwxrwx–T. 2 cwjl cwb 6 7月 15 21:22 cwfiles
drwxr-xr-x. 2 root root 6 7月 15 21:22 gsfiles
drwxrwx–T. 2 scjl scb 6 7月 15 21:22 scfiles
drwxrwx–T. 2 xsjl xsb 6 7月 15 21:22 xsfiles
第八步:总经理不加入部门组,但对部门的文件夹具有写入权限。
[root@localhost mnt]# setfacl -m u:zjl:rwx cwfiles
[root@localhost mnt]# setfacl -m u:zjl:rwx scfiles
[root@localhost mnt]# setfacl -m u:zjl:rwx xsfiles
[root@localhost mnt]# ll
drwxrwx–T+ 2 cwjl cwb 6 7月 15 21:22 cwfiles
drwxr-xr-x. 2 root root 6 7月 15 21:22 gsfiles
drwxrwx–T+ 2 scjl scb 6 7月 15 21:22 scfiles
drwxrwx–T+ 2 xsjl xsb 6 7月 15 21:22 xsfiles