倪的个人博客

  • 首页
  • Linux运维
  1. 首页
  2. Linux运维
  3. 正文

linux用户管理

2024年3月16日 417点热度 1人点赞 0条评论

提前预习整理的问题:

  1. 为什么awk命令筛选的列都在一行展示了

答:因为printf 和print

[root@localhost tmp]# awk -F':' '$3>1000{print$1}' ./passwd                                     
nfsnobody
mysql
ftpuser01
test
test1
test2
test3
[root@localhost tmp]# awk -F':' '$3>1000{printf$1}' ./passwd 
nfsnobodymysqlftpuser01testtest1test2test3[root@localhost tmp]# 

创建用户和组应用场景

1.创建 dev 与 ops 两个组;
2.创建 bob 用户,设定基本为 dev ,密码为 123 ;
3.创建 alice 用户,设定基本为 ops ,密码为 123 ;
4.创建 /opt/reosurce 文件,然后修改属组为 ops 、权限为 6645.测试发现 alice 用户可以读写,而 bob 用户仅可以查看;6.现在希望 bob 也能够对文件进行读写,如何快速实现 (为 bob 添加 ops 附加组)

[root@localhost ~]# groupadd dev
[root@localhost ~]# groupadd ops
[root@localhost ~]# useradd -g dev bob
[root@localhost ~]# echo '123' | passwd --stdin bob
Changing password for user bob.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# user -g ops alice
bash: user: command not found...
[root@localhost ~]# useradd -g ops alice
[root@localhost ~]# echo '123' | passwd --stdin alice
Changing password for user alice.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# mkdir /opt/resource
[root@localhost ~]# touch /opt/resource
[root@localhost ~]# rmdir /opt/resource
[root@localhost ~]# touch /opt/resource
[root@localhost ~]# ll /opt/resource
-rw-r--r-- 1 root root 0 Nov  9 22:32 /opt/resource
[root@localhost ~]# chown root:ops /opt/resource 
[root@localhost ~]# chmod 664 /opt/resource 
[root@localhost ~]# ll /opt/resource             
-rw-rw-r-- 1 root ops 0 Nov  9 22:32 /opt/resource
[root@localhost ~]# usermod -G ops bob
[root@localhost ~]# 
[root@localhost ~]# id bob
uid=1007(bob) gid=10000(dev) groups=10000(dev),10001(ops)
[root@localhost ~]# 

权限设定方案应用场景

场景1: 针对 hr 部门的访问目录 /data/hr 设置权限,要求如下。 1.超级管理员 root 用户和 hr 组的员工可以读、写、执行。2.其他用户或者组没有任何权限o

软链接应用场景

软件升级

[root@localhost tmp]# mkdir -p ./data/www_v1
[root@localhost tmp]# echo '123' > ./data/www_v1/index.html
[root@localhost tmp]# ln -s /root/tmp/data/www_v1 /root/tmp/data/www
[root@localhost tmp]# ll /root/tmp/data/
total 0
lrwxrwxrwx 1 root root 21 Nov 10 23:50 www -> /root/tmp/data/www_v1
drwxr-xr-x 2 root root 35 Nov 10 23:46 www_v1
[root@localhost tmp]# cat /root/tmp/data/www/index.html
123
[root@localhost tmp]# mkdir /root/tmp/data/www
www/    www_v1/ 
[root@localhost tmp]# mkdir /root/tmp/data/www_v2/ && echo '456' > /root/tmp/data/www_v2/index.html
[root@localhost tmp]# rm -rf /root/tmp/data/www && ln -s /root/tmp/data/www_v2/ /root/tmp/data/www
[root@localhost tmp]# cat /root/tmp/data/www/index.html                                            
456
[root@localhost tmp]# 

模拟innode分配数用完,但磁盘空间没用完场景

每次创建一个文件都需要一个innode编号

[root@localhost ~]# dd if=/dev/zero of=/opt/bigdata bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.0186186 s, 1.1 GB/s
[root@localhost ~]# mkdir /inode
[root@localhost ~]# mkfs.xfs /opt/bigdata 
meta-data=/opt/bigdata           isize=512    agcount=1, agsize=5120 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5120, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /opt/bigdata /inode/
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G   22M  1.9G   2% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda3        98G   11G   88G  11% /
/dev/sda1       297M  206M   92M  70% /boot
tmpfs           378M   36K  378M   1% /run/user/0
/dev/loop0       17M  1.1M   16M   7% /inode
[root@localhost ~]# df -i
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
devtmpfs         478658    381   478277    1% /dev
tmpfs            482654      1   482653    1% /dev/shm
tmpfs            482654   1662   480992    1% /run
tmpfs            482654     16   482638    1% /sys/fs/cgroup
/dev/sda3      51225600 174118 51051482    1% /
/dev/sda1        153600    353   153247    1% /boot
tmpfs            482654     21   482633    1% /run/user/0
/dev/loop0        10304      3    10301    1% /inode
[root@localhost ~]# ll /inode/
total 0
[root@localhost ~]# touch /inode/{1..10304}    
touch: cannot touch ‘/inode/10302’: No space left on device
touch: cannot touch ‘/inode/10303’: No space left on device
touch: cannot touch ‘/inode/10304’: No space left on device
[root@localhost ~]# 

大量的小文件,会消耗innode,一旦被使用完;就会提示空间不足,实际情况空间还能继续存数据;
大文件存储;消耗1个innode,多个Block,如果是block会占用完毕,说明空间是真的不足了;

特殊权限SUID产生背景

普通用户可以修改自己的密码在于 passwd 命令本身,该命令拥有特殊权限 SetuID 也就是在属主的权限位的执行权限上是 s 那如何理解特殊权限 etuD : 当一个执行文件设置setUID 后,用户在执行这个文件时将以文件所有者的身份来执行。

[root@localhost ~]# ll /etc/shadow
---------- 1 root root 1633 Nov  9 22:31 /etc/shadow
[root@localhost ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
[root@localhost ~]# ll /usr/bin/passwd 
-rwsr-xr-x 1 root root 27856 Mar 31  2020 /usr/bin/passwd
[root@localhost ~]#

给cat命令加s权限

[root@localhost ~]# echo "666" > /tmp/test.txt     
[root@localhost ~]# cat /tmp/test.txt 
666
[root@localhost ~]# ll /tmp/test.txt 
-rw-r--r-- 1 root root 4 Nov 12 05:30 /tmp/test.txt
[root@localhost ~]# su - bob
[bob@localhost ~]$ cat /tmp/test.txt 
666
[bob@localhost ~]$ exit
logout
[root@localhost ~]# chmod 700 /tmp/test.txt 
[root@localhost ~]# su - bob
Last login: Sat Nov 12 05:31:18 PST 2022 on pts/26
[bob@localhost ~]$ cat /tmp/test.txt 
cat: /tmp/test.txt: Permission denied
[bob@localhost ~]$ exit
logout
[root@localhost ~]# ll /usr/bin/cat
-rwxr-xr-x 1 root root 54080 Nov 16  2020 /usr/bin/cat
[root@localhost ~]# chmod u+s /usr/bin/cat
[root@localhost ~]# ll /usr/bin/cat       
-rwsr-xr-x 1 root root 54080 Nov 16  2020 /usr/bin/cat
[root@localhost ~]# su - bob
Last login: Sat Nov 12 05:31:51 PST 2022 on pts/26
[bob@localhost ~]$ cat /tmp/test.txt 
666
[bob@localhost ~]$ 

SGID场景说明

需求描述
系统有两个用户,分别为 ex1 与 ex2 ,这两个用户都拥有 example 附加组;。

1.这两个用户需要共同拥有 /data/code 目录的开发权;
2.互相之间能修改彼此的文件,且该目录不允许其他人进入查阅;

标签: 暂无
最后更新:2024年3月16日

西伯利亚狼

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
分类

COPYRIGHT © 2024 大倪. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang