Linux用户、组和权限管理

文章详细展示了在Linux环境中如何创建用户、分配组和权限,包括设置默认shell、附加组、非交互登录以及密码管理。同时,讨论了文件权限的管理,如目录的读、写、执行权限对用户操作的影响,并演示了如何恢复误删除的用户家目录。此外,还涉及了特殊权限设置,如通过chmod、chgrp和setfacl控制新文件的归属和访问权限,以及如何恢复误删除的文件执行权限。
摘要由CSDN通过智能技术生成

用户、组和权限

  1. 创建用户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 ~]# 
  1. 创建下面的用户、组和组成员关系:名字为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 ~]# 

文件权限管理

  1. 当用户docker对/testdir 目录无执行权限时,意味着无法做哪些操作?

  1. 无法cd进入目录;

  1. 无法查看目录内文件的详细属性;

  1. 无法查看目录内文件的内容;

  1. 无法修改目录内文件的内容;

  1. 无法在目录内创建新的文件;

  1. 无法删除目录内的文件;

  1. 当用户mongodb对/testdir 目录无读权限时,意味着无法做哪些操作?

  1. 无法ls目录内的文件列表;

  1. 无法ls -l目录内的文件原数据;

  1. 可以新建、删除文件;

  1. 当用户redis 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?

  1. 不可以。

  1. 当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?

  1. 不可以修改,可以删除。

  1. 复制/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
  1. 误删除了用户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文件系统上的特殊权限

  1. 在/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
  1. 误将 /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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值