用户、组和权限
创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
[15:59:57 root@localhost ~]# useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo
[16:26:56 root@localhost ~]# getent passwd gentoo
gentoo:x:1001:1001:Gentoo Distribution:/home/gentoo:/bin/csh
[16:27:11 root@localhost ~]# getent group bin root
bin:x:1:gentoo
root:x:0:gentoo
[16:27:37 root@localhost ~]# id gentoo
uid=1001(gentoo) gid=1001(gentoo) groups=1001(gentoo),0(root),1(bin)
[16:28:46 root@localhost ~]#
创建下面的用户、组和组成员关系:名字为webs 的组,用户nginx,使用webs 作为附加组,用户varnish,使用webs 作为附加组,用户mysql,不可交互登录系统,且不是webs 的成员,nginx,varnish,mysql密码都是,magedu
[13:14:30 root@localhost ~]# groupadd -g 91 webs;groupadd -g 92 nginx;groupadd -g 93 varnish;groupadd -g 94 mysql
[13:25:48 root@localhost ~]# useradd -r -u 92 -g nginx -G webs -s /sbin/nologin -c "nginx" nginx;echo magedue | passwd --stdin nginx
Changing password for user nginx.
passwd: all authentication tokens updated successfully.
[13:26:06 root@localhost ~]# useradd -r -u 93 -g varnish -G webs -s /sbin/nologin -c "varnish" varnish;echo varnish:magede | chpasswd
[13:27:53 root@localhost ~]# useradd -r -u 94 -g mysql -s /sbin/nologin mysql;echo mysql:magede|chpasswd
[13:29:55 root@localhost ~]# getent passwd nginx varnish mysql;getent group webs nginx varnish mysql
nginx:x:92:92:nginx:/home/nginx:/sbin/nologin
varnish:x:93:93:varnish:/home/varnish:/sbin/nologin
mysql:x:94:94::/home/mysql:/sbin/nologin
webs:x:91:nginx,varnish
nginx:x:92:
varnish:x:93:
mysql:x:94:
[13:31:34 root@localhost ~]#
文件权限管理
当用户docker对/testdir 目录无执行权限时,意味着无法做哪些操作?
无法cd进入目录;
无法查看目录内文件的详细属性;
无法查看目录内文件的内容;
无法修改目录内文件的内容;
无法在目录内创建新的文件;
无法删除目录内的文件;
当用户mongodb对/testdir 目录无读权限时,意味着无法做哪些操作?
无法ls目录内的文件列表;
无法ls -l目录内的文件原数据;
可以新建、删除文件;
当用户redis 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?
不可以。
当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?
不可以修改,可以删除。
复制/etc/fstab文件到/var/tmp下,设置文件所有者为tomcat读写权限,所属组为apps组有读写权限,其他人无权限
[14:14:50 root@localhost tmp]# cp /etc/fstab /var/tmp/
[14:14:10 root@localhost tmp]# chown tomact fstab
[14:14:21 root@localhost tmp]# chgrp apps fstab
[14:14:50 root@localhost tmp]# chmod 660 fstab
误删除了用户git的家目录,请重建并恢复该用户家目录及相应的权限属性
[14:23:43 root@localhost skel]# cp -a /etc/skel/ /home/git/
[14:24:24 root@localhost docker]# chown git:git /home/git -R
[14:25:14 root@localhost docker]# chmod 700 /home/git/
Linux文件系统上的特殊权限
在/testdir/dir里创建的新文件自动属于webs组,组apps的成员如:tomcat能对这些新文件有读写权限,组dbs的成员如:mysql只能对新文件有读权限,其它用户(不属于webs,apps,dbs)不能访问这个文件夹
mkdir -p /testdir/dir
chgrp webs /testdir/dir
chmod 4770 /testdir/dir
setfacl -m g:apps:rw /testdir/dir
setfacl -m g:dbs:r /testdir/dir
误将 /bin/chmod 文件的执行权限删除,如何恢复?
[15:58:49 root@localhost ~]# ll /bin/chmod
-rwxr-xr-x. 1 root root 58592 Aug 20 2019 /bin/chmod
[15:59:52 root@localhost ~]# chmod 644 /bin/chmod
[16:00:15 root@localhost ~]# ll /bin/chmod
-rw-r--r--. 1 root root 58592 Aug 20 2019 /bin/chmod
[16:00:20 root@localhost ~]# chmod 755 /bin/chmod
-bash: /usr/bin/chmod: Permission denied
[16:00:37 root@localhost ~]# setfacl -m u:root:rwx /bin/chmod
[16:01:05 root@localhost ~]# ll /bin/chmod
-rw-rwxr--+ 1 root root 58592 Aug 20 2019 /bin/chmod
[16:01:09 root@localhost ~]# getfacl /bin/chmod
getfacl: Removing leading '/' from absolute path names
# file: bin/chmod
# owner: root
# group: root
user::rw-
user:root:rwx
group::r--
mask::rwx
other::r--
[16:02:19 root@localhost ~]# setfacl -b /bin/chmod
[16:06:33 root@localhost ~]# chmod 755 /bin/chmod