用户管理文件目录管理文件目录权限管理

Posted ˇ顺平侯;

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户管理文件目录管理文件目录权限管理相关的知识,希望对你有一定的参考价值。

1、用户管理

[root@vm01 ~]# useradd atlas  #创建用户
[root@vm01 ~]# passwd atlas    #修改用户密码
更改用户 atlas 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@vm01 ~]# userdel atlas    #删除用户

[root@vm01 ~]# groupadd js    #创建用户组
[root@vm01 ~]# groupdel js    #删除用户组
	
创建系统用户hadoop,并指定其uid为233
[root@vm01 ~]# useradd -u 234  -s /sbin/nologin hadoop 
[root@vm01 ~]# grep hadoop /etc/passwd
hadoop:x:234:1000::/home/hadoop:/sbin/nologin
	
创建用户harry, 指定其基本组为tech, 并为其设置密码为flat 
[root@vm01 ~]# groupadd tech
[root@vm01 ~]# useradd -g tech harry
[root@vm01 ~]# grep harry /etc/passwd
harry:x:1000:1001::/home/harry:/bin/bash
[root@vm01 ~]# grep tech /etc/group
tech:x:1001:

将用户king, tome加入到用户组test中
[root@vm01 ~]# useradd king
[root@vm01 ~]# useradd tome
[root@vm01 ~]# groupadd test
[root@vm01 ~]# usermod -G test -a king
[root@vm01 ~]# usermod -G test -a tome
[root@vm01 ~]# grep test /etc/group
test:x:1004:king,tome

将用户king分别加入到jishu, database, web组中
[root@vm01 ~]# groupadd jishu
[root@vm01 ~]# groupadd database
[root@vm01 ~]# groupadd web
[root@vm01 ~]# usermod -Ga jishu king
[root@vm01 ~]# usermod -Ga database king
[root@vm01 ~]# usermod -Ga web king
[root@vm01 ~]# id king
uid=1001(king) gid=1002(king) 组=1002(king),1005(jishu),1006(database),1007(web)
 
修改用户openstack的shell为/bin/bash 
[root@vm01 ~]# grep openstack /etc/passwd
openstack:x:1003:1008::/home/openstack:/sbin/nologin
[root@vm01 ~]# usermod openstack -s /bin/bash 
[root@vm01 ~]# grep openstack /etc/passwd
openstack:x:1003:1008::/home/openstack:/bin/bash

2、文件目录管理

 

删除/tmp目录下所有文件
[root@vm01 ~]# rm -rf /tmp/*

将/etc/fstab, /etc/passwd, /etc/shadow三个文件分别复制到/tmp目录下 
[root@vm01 ~]# cp /etc/fstab,passwd,shadow /tmp
[root@vm01 ~]# ls /tmp/
fstab  passwd  shadow

将/etc/hosts文件复制到/tmp/backup目录 
[root@vm01 ~]# mkdir /tmp/backup
[root@vm01 ~]# cp /etc/hosts /tmp/backup/
[root@vm01 ~]# ls /tmp/backup/
hosts

查看/etc/sysconfig/network-scripts目录下所有文件占用的空间 
[root@vm01 ~]# du -sh /etc/sysconfig/network-scripts/
236K	/etc/sysconfig/network-scripts/

以YYYY_MM_DD_HH:MM:SS的格式显示系统时间 
[root@vm01 ~]# date +%Y_%m_%d_%R:%S
2022_01_22_19:59:17

将/tmp/fstab文件重命名为fstab_backup_YYYY_MM_DD
[root@vm01 ~]# ls /tmp/
backup  fstab_backup_2022_01_22  passwd  shadow

查看/etc/sysconfig目录下最大的文件
[root@vm01 ~]# du -sh /etc/sysconfig/* | sort -n | tail -1
236K	/etc/sysconfig/network-scripts

在/opt/data目录下分别创建三个文件,要求通过随机字符为文件命名 
可通过openssl rand -hex 10命令获取随机数
[root@vm01 ~]# mkdir /opt/data
[root@vm01 ~]# touch /opt/data/$(openssl rand -hex 10),$(openssl rand -hex 10),$(openssl rand -hex 10)
[root@vm01 ~]# ls /opt/data/
28c63f0f3c7016892e4b  914c3314d5e67bf08ca6  6001222b683f86b4784a
		
统计/boot目录容量
[root@vm01 ~]# du -sh /boot
104M	/boot

统计系统中的用户数
[root@vm01 ~]# cat /etc/passwd | wc -l
27
	
查看系统发行版本
root@vm01 ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)
	
查看内核版本
[root@vm01 ~]# uname  -r
3.10.0-1062.el7.x86_64

统计/etc目录下目录的个数
[root@vm01 ~]# ll /etc/ | grep "^d" | wc -l
74
	
统计/dev目录下块设备文件数量 
[root@vm01 ~]# ll /dev/ | grep "^b" | wc -l
6
	
查找/etc目录下大于2M的文件
[root@vm01 ~]# find /etc/ -size +2M -exec du -sh  \\;
7.9M	/etc/udev/hwdb.bin
3.8M	/etc/selinux/targeted/active/policy.kern
3.8M	/etc/selinux/targeted/policy/policy.31
	
查找/etc目录下大于2K, 且以.conf结尾的文件,并将这些文件复制到/tmp/backup目录下
[root@vm01 ~]# find /etc/ -size +2k -name '*.conf' -exec cp  /tmp/backup/ \\;
[root@vm01 ~]# du -sh /tmp//backup/*
8.0K	/tmp//backup/access.conf
4.0K	/tmp//backup/group.conf
4.0K	/tmp//backup/hosts
8.0K	/tmp//backup/kdump.conf
4.0K	/tmp//backup/lftp.conf
4.0K	/tmp//backup/libuser.conf
4.0K	/tmp//backup/limits.conf
96K	/tmp//backup/lvm.conf
4.0K	/tmp//backup/lvmlocal.conf
8.0K	/tmp//backup/man_db.conf
4.0K	/tmp//backup/NetworkManager.conf
4.0K	/tmp//backup/org.freedesktop.import1.conf
12K	/tmp//backup/org.freedesktop.login1.conf
4.0K	/tmp//backup/org.freedesktop.machine1.conf
12K	/tmp//backup/org.freedesktop.NetworkManager.conf
12K	/tmp//backup/org.freedesktop.systemd1.conf
4.0K	/tmp//backup/pam_env.conf
4.0K	/tmp//backup/rsyslog.conf
4.0K	/tmp//backup/semanage.conf
4.0K	/tmp//backup/sudo-ldap.conf
8.0K	/tmp//backup/tcsd.conf
4.0K	/tmp//backup/time.conf

	
在/boot下查找1天前创建的文件
[root@vm01 ~]# find /boot/ -ctime +1 -exec ls -ldh  \\;
dr-xr-xr-x. 5 root root 4.0K 1月   5 17:04 /boot/
drwxr-xr-x. 3 root root 17 1月   5 16:53 /boot/efi
drwxr-xr-x. 3 root root 20 1月   5 16:53 /boot/efi/EFI
drwx------. 2 root root 6 8月   8 2019 /boot/efi/EFI/centos
drwx------. 5 root root 97 1月   5 17:04 /boot/grub2
-rw-r--r--. 1 root root 84 1月   5 17:02 /boot/grub2/device.map
drwxr-xr-x. 2 root root 8.0K 1月   5 17:02 /boot/grub2/i386-pc
-rw-r--r--. 1 root root 7.9K 1月   5 17:02 /boot/grub2/i386-pc/gcry_rmd160.mod
-rw-r--r--. 1 root root 9.8K 1月   5 17:02 /boot/grub2/i386-pc/acpi.mod
-rw-r--r--. 1 root root 2.1K 1月   5 17:02 /boot/grub2/i386-pc/gcry_rsa.mod
-rw-r--r--. 1 root root 1.3K 1月   5 17:02 /boot/grub2/i386-pc/adler32.mod

查看文件/etc/hosts的第2行内容 
[root@vm01 ~]# sed -n '2p' /etc/hosts
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
	
查找/etc目录, 及它下面的2层目录中软链接文件
[root@vm01 ~]# find /etc/ -maxdepth 2 -type l -exec ls -l  \\;
lrwxrwxrwx. 1 root root 17 1月   5 16:53 /etc/mtab -> /proc/self/mounts
lrwxrwxrwx. 1 root root 14 1月   5 16:53 /etc/redhat-release -> centos-release
lrwxrwxrwx. 1 root root 14 1月   5 16:53 /etc/system-release -> centos-release
lrwxrwxrwx. 1 root root 56 1月   5 16:54 /etc/favicon.png -> /usr/share/icons/hicolor/16x16/apps/fedora-logo-icon.png
lrwxrwxrwx. 1 root root 13 1月   5 16:54 /etc/rc.local -> rc.d/rc.local

 3、文件目录权限管理

在目录/var/lib/mysql目录下创建1.sql---10.sql文件,并分别将目录及下面所有文件属主修改为root, 属组修改为mysql 
[root@vm01 ~]# mkdir /var/lib/mysql
[root@vm01 ~]# touch /var/lib/mysql/1..10.sql
[root@vm01 ~]# chown -R root:mysql /var/lib/mysql/
[root@vm01 ~]# groupadd mysql
[root@vm01 ~]# ll /var/lib/mysql/
总用量 0
-rw-r--r-- 1 root mysql 0 1月  22 20:24 10.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 1.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 2.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 3.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 4.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 5.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 6.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 7.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 8.sql
-rw-r--r-- 1 root mysql 0 1月  22 20:24 9.sql
[root@vm01 ~]# ls -ldh /var/lib/mysql/
drwxr-xr-x 2 root mysql 137 1月  22 20:24 /var/lib/mysql/

在目录/var/www/html下创建1.html--3.html文件,将1.html---3.html文件属组修改为www
[root@vm01 ~]# mkdir -p /var/www/html
[root@vm01 ~]# touch /var/www/html/1..3.html
[root@vm01 ~]# chown -R .www /var/www/html/*
[root@vm01 ~]# ll /var/www/html/
总用量 0
-rw-r--r-- 1 root www 0 1月  22 20:28 1.html
-rw-r--r-- 1 root www 0 1月  22 20:28 2.html
-rw-r--r-- 1 root www 0 1月  22 20:28 3.html
[root@vm01 ~]# ls -ldh /var/www/html/
drwxr-xr-x 2 root root 48 1月  22 20:28 /var/www/html/

设置目录/opt/testdir权限如下:
将userB, userC添加到jishu技术组中
[root@vm01 ~]# usermod -G jishu userB
[root@vm01 ~]# usermod -G jishu userC
[root@vm01 ~]# grep jishu /etc/group
jishu:x:1005:king,userB,userC

1) 允许用户userA可修改该目录下文件
[root@vm01 ~]# getfacl /opt/testdir/
getfacl: Removing leading '/' from absolute path names
# file: opt/testdir/
# owner: root
# group: root
user::rwx
user:userA:rw-
group::r-x
mask::rwx
other::r-x

2) 将目录属组修改为jishu组, 并要求jishu组中的用户修改目录下的文件 
[root@vm01 ~]# chown .jishu /opt/testdir/
[root@vm01 ~]# chmod g+w /opt/testdir/
[root@vm01 ~]# ls -ldh /opt/testdir/
drwxrwxr-x+ 2 root jishu 6 1月  22 20:29 /opt/testdir/

3) 要求无论userA, userB, userC在该目录下创建文件时,文件属组均为jishu
[root@vm01 ~]# chmod g+s /opt/testdir/
[root@vm01 ~]# ls -ldh /opt/testdir/
drwxrwsr-x+ 2 root jishu 6 1月  22 20:29 /opt/testdir/

4) 其他用户无法查看目录下文件 
[root@vm01 ~]# chmod o= /opt/testdir/
[root@vm01 ~]# ls -ldh /opt/testdir/
drwxrws---+ 2 root jishu 6 1月  22 20:29 /opt/testdir/

以上是关于用户管理文件目录管理文件目录权限管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux——文件/目录的权限管理

Linux文件/目录管理(中级)

文件系统管理 之 文件和目录访问权限设置

用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件的内容?能否删除此文件?

用户管理文件目录管理文件目录权限管理

HDFS 权限管理