【Linux新手篇】day3

本文详细介绍了Linux系统中用户和组的管理,包括useradd、userdel、groupadd、gpasswd等命令的用法。此外,还深入讲解了文件和目录的权限查看和更改,如chmod的使用,以及属主和属组的修改。文章还涵盖了高级权限概念,如SUID、SGID和STICKY位,以及如何设置这些权限。最后,提供了课堂练习和课后习题以巩固学习内容。
摘要由CSDN通过智能技术生成

day3

用户和组

useradd用法
  • useradd [选项] 用户名

  • useradd zhao -u 2000 创建用户zhao并指定uid=2000

  • useradd hr01 -G hr 创建用户hr01并添加到已存在的组hr中

  • useradd li1 -u 3000 -d /ccc 创建li1用户uid设置3000放置在根目录下的ccc

  • Linux系统中每添加一个用户,也会添加一个对应的组

userdel用法
  • userdel [选项] 用户名
  • userdel -r li1 删除li1用户
  • -r:同时删除用户的主目录和邮件目录。如果不指定此选项,删除用户后用户的主目录和邮件目录将被保留。
  • -f:强制删除用户,即使用户当前登录在系统中。如果不指定此选项,当用户登录时无法删除该用户。
groupadd用法
  • tail /etc/group 可以查看当前已创建的组

  • groupadd [选项] 组名

  • groupadd nt -g 5000创建nt组并指定gid=5000

  • groupdel nt 删除nt组

gpasswd用法
  • gpasswd [参数] 用户名 组名
  • -a 添加一个用户到组
  • -A 指定管理员
  • -M 添加多个用户到组
  • -d 从组中删除用户
  • gpasswd -M jim,tom,wing hr 将多个用户添加到hr组,
  • gpasswd -d tom hr 将tom从hr组中删除
查看用户是否存在
  • id li1 查看是否有这个用户

权限

权限查看
  • ll 文件

  • ll -d 文件夹

  • ugo:u用户,g组,o其他

  • 基本权限类型:
    读(read):r ---->4
    写(write):w ---->2
    执行: x(exec) ----->1

权限更改

现有一个文件1

权限为-rw-r--r-- 权限为644
chmod u+x 1,之后变成-rwxr--r-- 权限变为744
chmod a=rwx 1之后变成-rwxrwxrwx,权限为777
chmod a=-rwx之后变成----------,权限为000

现有一个目录2

chmod ug=rw,o=r 2后变成drw-rw-r--
chmod 700 2变成drwx------
chmod -R /tmp/2/ 777添加-R表递归,2目录下的子文件也会被更改权限
chmod 777 * 当前目录下的所有文件/文件夹权限都改为777
修改属主和属组

例如1文件默认文件权限是:

-rwxrwxrwx 1 root root 0 4月  20 11:01 1
useradd jack   创建jack用户
chown jack 1   修改文件1的所属用户为jack
ll 1  
-rwxrwxrwx 1 jack root 0 4月  20 11:01 1

groupadd jd  创建组jd
chgrp jd 1   把文件1的所属组更改为jd
ll 1
-rwxrwxrwx 1 jack jd 0 4月  20 11:01 1
修改目录属主

chown jack /home/hr 把/home/hr所属用户更改为jac

修改属于组
mkdir /home/hr
chgrp hr /home/hr  把/home/hr目录的所属组更改为hr
chmod 770 /home/hr

修改属于组后,被添加的账户需要重新登陆一下系统

不管权限是什么,root账户都可以随意查看

高级权限

chmod u+s file 通常针对命令

chmod g+s dir

chmod o+t dir 针对目录,添加完高级权限以后,用户只能删除自己创建的文件

suid

chmod u+s /usr/bin/cat 针对文件(命令)让cat命令拥有root权限,就可以随意查看文件了

chmod u+s /usr/bin/rm 这时普通用户用rm命令时也就有管理员权限了

chmod u-s /usr/bin/rm 取消普通用户使用rm命令时候拥有的root权限

sgid

当一个目录设置了g+s权限后,在此目录下创建的文件或子目录的组所有者会自动设为该目录的组所有者。这是一个比较特殊的权限设置,主要用于文件系统的共享管理。例如,有一个名为share的目录,属于group1组,并设置了g+s权限:

bash
chmod g+s share

然后user1属于group1组,user2属于group2组。当user1在share目录下创建文件file时:

bash
touch file 

file文件的组所有者会自动设为group1(share目录的组)。当user2在share目录下创建文件file时:

bash 
touch file

file文件的组所有者同样会自动设为group1(share目录的组)。这就实现了在share这个目录下,无论谁创建的文件,组所有者都会统一为group1。这在文件系统的共享管理中有比较好的应用。

设置g+s权限后,目录里原文件所属组不变。

sticky

chmod o+t dir 针对目录,添加完高级权限以后,用户只能删除自己创建的文件

chmod o+t,当一个目录设置了o+t权限后,普通用户只能删除自己在此目录下创建的文件/目录,无法删除其他用户创建的文件/目录。这是Linux系统默认的一种安全机制,目的是保护敏感目录不被非法删除。例如,有一个名为tmp的目录,所有用户都有读写权限:

bash
chmod 777 tmp

然后user1在tmp目录下创建文件file1,user2创建file2。此时,user1可以删除file1,但无法删除file2;user2也可以删除file2,但无法删除file1。这样就避免了一个用户可以随意删除其他用户在公共目录下的文件。

查找命令所在目录

which 命令

which cat

/usr/bin/cat

课堂练习

  1. 添加账号 wang1 指定用户家目录为/bbbb

    useradd wang -d /bbbb

  2. 添加组 CW 指定GID为 6000

    groupadd CW -g 6000

  3. 删除组 HR

    groupdel HR

  4. 组信息在哪个配置文件中

    /etc/group

  5. 将 ti 和yi用户 添加到CW组中,然后删除把ti用户从CW组中删除

    useradd ti

    useradd yi

    gpasswd -M ti,yi CW

    gpasswd -d ti CW

  6. 删除ti用户

    userdel ti

课后习题

权限设置:背着写
1.修改 /tmp 下1的文件权限为700 使用数字

chmod 700 /tmp/1

2.修改 /tmp下2的目录 权限为765 使用字母

chmod u=rwx,g=rw,o=wx /tmp/2

3.请查看 1 2 的权限

ll 1 2

4.linux系统下 默认创建的文件及目录权限分别是多少?

644 755

5.使用字母给 1文件加执行权限。然后设置所有人都没有任何权限。

chmod a=x 1

chmod ugo=-rwx 1

6.r w x 分别代表数字是多少?

r=4 w=2 x=1

7.修改属主 , 属组命令是什么?

chown,chgrp

8.创建一个文件 /tmp/gongzi.txt 要求:此文件属于RS组,并且只有root和组成员能够读写执行。

touch /tmp/gongzi.txt

groupadd RS

chgrp RS /tmp/gongzi.txt

chmod 770 /tmp/gongzi.txt

9.创建一个文件 /tmp/shebei.txt 要求只有IT组的成员和root能够读写执行,其他人有只读权限

touch /tmp/shebei.txt

groupadd IT

chgrp IT /tmp/shebei.txt

chmod 474 /tmp/shebei.txt

10.修改/tmp/shebei.txt权限为750 先使用chmod 777 shebei.txt 然后用字母去减 变成750

cd /tmp/

chmod 777 shebei.txt

chmod g-w,o=-rwx

12.修改/tmp/gongzi.txt权限为700 使用英文字母 表示

chmod u=rwx,go=-rwx shebei.txt

13.gpasswd 同时添加 zhang1 zhang2 zhang3 到 HR组

gpasswd -M zhang1,zhang2,zhang3 HR

14.针对hr部门的访问目录/home/it设置权限,要求如下:

root用户和hr组的员工可以读、写 其他用户无权限

hr组里删除zhang1

groupadd hr

chgrp h1 /home/it

gpasswd -a root hr

chmod 760 /home/it

apasswd -d zhang1 hr

高级权限

1.要求普通用户可以查看并且删除/root/2.txt文件。

chmod u+s /usr/bin/rm

2.设置 /home/dir2的属组为it。 新创建的文件要求继承it组

chgrp it /home/dir

chmod g+s /home/dir

3.要求zhang1和zhang2用户在 /home/dir1目录只能删除自己创建的文件

chmod o+t /home/dir1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值