linux入门实验手册5 用户和权限管理

  1. 在/testdir/dir⾥创建的新⽂件⾃动属于g1组,组g2的成员如:alice能对这些新⽂件有读写权限,组g3的成员
    如:tom只能对新⽂件有读权限,其它⽤户(不属于g1,g2,g3)不能访问这个⽂件夹
mkdir /testdir/dir -p
groupadd g1
groupadd g2
groupadd g3
useradd -G g2 alice
useradd -G g3 tom
chgrp g1 /testdir/dir
chmod 2770 /testdir/dir(770?)
setfacl -Rm d:g:g2:rw /testdir/dir/
setfacl -Rm g:g2:rwx /testdir/dir/
setfacl -Rm g:g3:rx /testdir/dir/
  1. 备份/testdir/dir⾥所有⽂件的ACL权限到/root/acl.txt中,清除/testdir/dir中所有ACL权限,最后还原ACL权限
    getfacl对⽬录操作时,不能使⽤绝对路径;
[root@Magedu ~]# tar -cvf dir.tar /testdir/dir
[root@Magedu ~]# getfacl -R testdir/dir > /root/acl.txt
删除全部acl权限:
[root@Magedu ~]# setfacl -b /testdir/dir
还原全部acl权限:
[root@Magedu ~]# tar -xvf dir.tar -C /var/tmp
[root@Magedu ~]# cp ac1.txt /var/tmp
[root@Magedu ~]# cd /root
setfacl --restore ac1.txt
  1. 创建下⾯的⽤户、组和组成员关系 名字为webs 的组 ⽤户nginx 使⽤webs 作为附属组 ⽤户varnish,也使⽤webs 作
    为附属组 ⽤户mysql,不可交互登录系统,且不是webs 的成员, nginx, varnish, mysql密码都是magedu
[root@magedu ~]# groupadd webs
[root@magedu ~]# useradd -G webs nginx
[root@magedu ~]# useradd -G webs varnish
[root@magedu ~]# useradd -s /sbin/nologin mysql  (要指定nologin而不只是-m 创建家目录,用于系统用户)
[root@magedu ~]# echo "magedu"|passwd --stdin nginx
[root@magedu ~]# echo "magedu"|passwd --stdin varnish
[root@magedu ~]# echo "magedu"|passwd --stdin mysql(--stdin:从标准输入接收用户密码)
  1. 当⽤户docker对/testdir ⽬录⽆执⾏权限时,意味着⽆法做哪些操作?

    无法进入目录
    可以用ls查看列表,但是无法查看具体文件属性类型
    就算对目录中的文件有rw权限,也无法查看和写入>>也不行

  2. 当⽤户mongodb对/testdir ⽬录⽆读权限时,意味着⽆法做哪些操作?

    可以进入目录,无法查看文件列表,可以查看具体文件ll file详细信息
    可以执行目录内程序,cat file可以查看文件内容
    如果对文件有w权限,还可以通过>>写入文件

  3. 复制/etc/fstab⽂件到/var/tmp下,设置⽂件所有者为tomcat读写权限,所属组为apps组有读写权限,其他⼈⽆权限
[root@magedu ~]# cp /etc/fstab /var/tmp (是文件,不要用-r)
[root@magedu ~]# chown tomcat.apps /var/tmp/fstab (同时对文件设置所有者和所属组)
[root@magedu ~]# chmod 660 /var/tmp/fstab 
  1. 误删除了⽤户git的家⽬录,请重建并恢复该⽤户家⽬录及相应的权限属性

    cp -a /etc/skel/ /home/git
    chown -R git.git /home/git
    chmod -R 700 /home/git(参考其他用户目录权限都是700,然后递归设置)

  2. 特殊权限及ACL题目待添加
posted @ 2019-05-21 17:38  Linux老司机  阅读(426)  评论(1编辑  收藏  举报