linux 禁止用户删除权限,Linux-用户管理-权限管理

useradd abc1;echo $RANDOM|md5sum|cut -c 1-10|tee /root/pass.txt|passwd --stdin abc001

约定:

0:超级用户

1-200:系统用户(系统创建出来的)

201-999:系统用户(自建)

1000+:普通用户

普通用户最小uid

UID_MIN 1000

最大uid

UID_MAX 60000

系统用户最下uid

SYS_UID_MIN 201

最大uid

SYS_UID_MAX 999

基本权限

1.权限管理

用来约束用户对系统的操作

权限:

r(read):读 4

w(write):写 2

x(exec):执行 1

-:没有权限 0

[root@oldboyedu ~]# ll

文件类型 权限 selinux 硬链接数 文件的属主 文件的属组

rwx------ . 1 odb edu 1.txt

d rwxrwxrwx . 2 root root 123.txt

d:目录

c:字符设备

b:块设备

l:软链接文件

p:管道文件

s:socket文件(套接字文件)

-:普通文件

rwx与ugo(用户,组,其他用户)的关系

u(user):用户

g(group):组

o(other):其它用户

用户权限相关命令:

chmod:修改权限位上的权限

+:增加权限

u+x

g+x

o+x

a+x

-:删除权限

u-x

g-x

o-x

a-x

=:赋值权限

u=rwx

g=x

o=w

数字授权 :

[root@oldboyedu ~]# chmod 712 456.txt

chown:修改属主,属组权限

[root@oldboyedu ~]# chown root.zls100 /opt/zls1.txt

[root@oldboyedu ~]# ll /opt/zls1.txt

-rw-rw--wx 1 root zls100 5 Jul 6 20:26 /opt/zls1.txt

[root@oldboyedu ~]# chown zls099:zls100 /opt/zls1.txt

[root@oldboyedu ~]# ll /opt/zls1.txt

-rw-rw--wx 1 zls099 zls100 5 Jul 6 20:26 /opt/zls1.txt

[root@oldboyedu ~]# chown zls098 /opt/zls1.txt

[root@oldboyedu ~]# chown zls098 /opt/zls1.txt

[root@oldboyedu ~]# ll /opt/zls1.txt

-rw-rw--wx 1 zls098 zls100 5 Jul 6 20:26 /opt/zls1.txt

[root@oldboyedu ~]# chown .zls097 /opt/zls1.txt

[root@oldboyedu ~]# ll /opt/zls1.txt

-rw-rw--wx 1 zls098 zls097 5 Jul 6 20:26 /opt/zls1.txt

[root@oldboyedu ~]# chown :zls096 /opt/zls1.txt

[root@oldboyedu ~]# ll /opt/zls1.txt

-rw-rw--wx 1 zls098 zls096 5 Jul 6 20:26 /opt/zls1.txt

stat -c %a filename

2.权限对文件的限制

文件只有w的权限时,可以写文件,但是用vim编辑时候看不见原来的内容,要强制保存 :wq! 会覆盖原来的内容

只是对文件的内容有限制

只能对文件内容:读取,写入,执行

文件只有r(read):只能读取内容,不能写入,不能执行

[zls100@oldboyedu ~]$ cat /opt/zls.txt

ifconfig

[zls100@oldboyedu ~]$ echo 123 > /opt/zls.txt

-bash: /opt/zls.txt: Permission denied

[zls100@oldboyedu ~]$ /opt/zls.txt

-bash: /opt/zls.txt: Permission denied

文件只有w(write):不能读取文件内容,可以写入,不可以执行

[zls100@oldboyedu ~]$ cat /opt/zls.txt

cat: /opt/zls.txt: Permission denied

[zls100@oldboyedu ~]$ echo date >> /opt/zls.txt

[zls100@oldboyedu ~]$ vim /opt/zls.txt

[zls100@oldboyedu ~]$ /opt/zls.txt

-bash: /opt/zls.txt: Permission denied

文件只有x(exec):不能读取文件内容,不能写入内容,也不能执行(普通用户不能执行,root可以)

[zls100@oldboyedu ~]$ cat /opt/zls.txt

cat: /opt/zls.txt: Permission denied

[zls100@oldboyedu ~]$ echo date >> /opt/zls.txt

-bash: /opt/zls.txt: Permission denied

[zls100@oldboyedu ~]$ /opt/zls.txt

bash: /opt/zls.txt: Permission denied

wx:可以看,可以写入,不能执行(普通用户:必须配合r)

[zls100@oldboyedu opt]$ cat /opt/zls1.txt

[zls100@oldboyedu opt]$ echo date > /opt/zls1.txt

[zls100@oldboyedu opt]$ cat /opt/zls1.txt

date

[zls100@oldboyedu opt]$ /opt/zls1.txt

权限组合:

如果普通用户想要执行:rx

如果普通用户想要编辑:rw

可读,可写,可执行:rwx

常用组合:

3.权限对目录的影响

如果目录只有r权限:只能看见目录下的文件,不能看到文件属性,不能进入目录,不能创建删除文件。

[zls100@oldboyedu ~]$ ll /opt/

ls: cannot access /opt/zls.txt: Permission denied

total 0

-????????? ? ? ? ? ? zls.txt

[zls100@oldboyedu ~]$ ls /opt/

ls: cannot access /opt/zls.txt: Permission denied

zls.txt

[zls100@oldboyedu ~]$ cd /opt/

-bash: cd: /opt/: Permission denied

[zls100@oldboyedu ~]$ touch /opt/zls1.txt

touch: cannot touch ‘/opt/zls1.txt’: Permission denied

[zls100@oldboyedu ~]$ rm -fr /opt/zls.txt

rm: cannot remove ‘/opt/zls.txt’: Permission denied

目录只有一个w权限:啥都不能干

[zls100@oldboyedu ~]$ ll /opt/

ls: cannot open directory /opt/: Permission denied

[zls100@oldboyedu ~]$ cd /opt/

-bash: cd: /opt/: Permission denied

[zls100@oldboyedu ~]$ rm -f /opt/zls.txt

rm: cannot remove ‘/opt/zls.txt’: Permission denied

[zls100@oldboyedu ~]$ touch /opt/zls1.txt

touch: cannot touch ‘/opt/zls1.txt’: Permission denied

目录只有一个x权限:只能进入目录,不能看,不能删除,不能创建

[zls100@oldboyedu ~]$ ll /opt/

ls: cannot open directory /opt/: Permission denied

[zls100@oldboyedu ~]$ rm -f /opt/zls.txt

rm: cannot remove ‘/opt/zls.txt’: Permission denied

[zls100@oldboyedu ~]$ touch /opt/zls1.txt

touch: cannot touch ‘/opt/zls1.txt’: Permission denied

[zls100@oldboyedu ~]$ cd /opt/

权限组合:

rx:可以查看,可以进入,但是不能删除 不能创建

[zls100@oldboyedu opt]$ ll /opt/

total 4

---------- 1 root root 9 Jul 6 19:47 zls.txt

[zls100@oldboyedu opt]$ cd /opt/

[zls100@oldboyedu opt]$ ll

total 4

---------- 1 root root 9 Jul 6 19:47 zls.txt

[zls100@oldboyedu opt]$ rm -f zls.txt

rm: cannot remove ‘zls.txt’: Permission denied

[zls100@oldboyedu opt]$ touch zls1.txt

touch: cannot touch ‘zls1.txt’: Permission denied

rw:和单独的r一样

[zls100@oldboyedu opt]$ ll /opt/

ls: cannot access /opt/zls.txt: Permission denied

total 0

-????????? ? ? ? ? ? zls.txt

[zls100@oldboyedu opt]$ cd /opt/

-bash: cd: /opt/: Permission denied

[zls100@oldboyedu opt]$ rm -f /opt/zls.txt

rm: cannot remove ‘/opt/zls.txt’: Permission denied

[zls100@oldboyedu opt]$ touch /opt/zls1.txt

touch: cannot touch ‘/opt/zls1.txt’: Permission denied

wx:可以进入,可以删除,可以创建,不能查看

[zls100@oldboyedu opt]$ cd /opt/

[zls100@oldboyedu opt]$ ll

ls: cannot open directory .: Permission denied

[zls100@oldboyedu opt]$ rm -f zls.txt

[zls100@oldboyedu opt]$ touch zls1.txt

rwx:可读,可写,可执行

[zls100@oldboyedu opt]$ ll /opt/

total 0

-rw-rw-r-- 1 zls100 zls100 0 Jul 6 20:22 zls1.txt

[zls100@oldboyedu opt]$ cd

[zls100@oldboyedu ~]$ cd /opt/

[zls100@oldboyedu opt]$ touch zls.txt

[zls100@oldboyedu opt]$ rm -f zls.txt

目录常用组合:rx 和 rwx

特殊权限-------------------------------------------------

[root@oldboyedu ~]# ll /bin/passwd

-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /bin/passwd

s出现在u(用户权限位):

SetUID:

修改用户密码:passwd

/etc/passwd

-rw-r--r--. 1 root root 10512 Oct 1 2019 /etc/passwd

/etc/shadow

----------. 1 root root 7831 Jul 6 18:18 /etc/shadow

$6$k2B1MAIL$1VE2ge32wvbLbX0vlf8krhc4Tvh8bNbnE9IHT2VHFJNhsS2xpDcYaISk1Zy.lOG1pLUTvg0.mJvAkOmJ.mIl1.

$6$ZcBjoLY4$Hwdki6gn7VD3nC7f.bzyLFHGgRuIfI3z41ql7mha3YMWhW21U2/JRIkgb.M0C1tqEsFTUcLOR0lgdu1.D7ves.

1)setuid的作用:

普通用户执行具有setuid权限的命令时,会以该命令的属主身份去执行

2)setuid的权限是:4000

3)授权方式:

ugo方式:

chmod u+s filename

number方式:

chmod 4000 filename

注意:如果文件用户权限位上原本没有执行权限,则setuid:S

如果文件用户权限位上原本有执行权限,则setuid:s

[root@oldboyedu ~]# ll /bin/write

-rwxr-sr-x. 1 root tty 19624 Oct 31 2018 /bin/write

1)setgid的作用:

主要是做共享目录。

将目录设置为SGID后,如果在该目录下创建文件,都将与该目录的所属组保持一致

2)setgid的权限是:2000

3)授权方式:

ugo方式:

chmod g+s dirname

number方式:

chmod 2000 dirname

注意:如果文件用户组权限位上原本没有执行权限,则setgid:S

如果文件用户组权限位上原本有执行权限,则setgid:s

[root@oldboyedu ~]# ll -d /tmp/

drwxrwxrwt. 14 root root 20480 Jul 6 20:27 /tmp/

1)粘滞位(sbit)的作用:

普通用户在具有粘滞位的目录下创建文件,只有用户自己能操作,其他用户一概无法操作,即使上级目录有rwx权限

2)sbit的权限是:1000

3)授权方式:

ugo方式:

chmod o+t dirname

number方式:

chmod 1000 dirname

注意:如果文件其他用户权限位上原本没有执行权限,则sbit:T

如果文件其他用户权限位上原本有执行权限,则sbit:t

问题1:

[root@oldboyedu ~]# useradd alex -g zls100

[root@oldboyedu ~]# ll /opt/zls.txt

-rwxr---w- 1 zls100 zls100 0 Jul 6 23:05 /opt/zls.txt

权限的属性:

chattr:

+:增加权限

-:取消权限

=:赋值权限

i:锁定文件,不可移动,不可修改,不可删除,可以执行

a(append):锁定文件,不可移动,不可删除,可以追加内容,可以执行

lsattr:查看特殊权限

[root@oldboyedu ~]# chattr +i /etc/passwd

[root@oldboyedu ~]#

[root@oldboyedu ~]# rm -f /etc/passwd

rm: cannot remove ‘/etc/passwd’: Operation not permitted

[root@oldboyedu ~]# mv /etc/passwd /tmp/

mv: cannot move ‘/etc/passwd’ to ‘/tmp/passwd’: Operation not permitted

[root@oldboyedu ~]# rm -f /etc/passwd

rm: cannot remove ‘/etc/passwd’: Operation not permitted

[root@oldboyedu ~]# lsattr /etc/passwd

----i----------- /etc/passwd

[root@oldboyedu ~]# chattr -i /etc/passwd

[root@oldboyedu ~]# lsattr /etc/passwd

---------------- /etc/passwd

------------------------------------------------------------------umask--------------------------------------------

1.umask的作用:

控制文件或者目录创建的初始权限

2.umask的计算

#查看umask:

[root@oldboyedu ~]# umask

0022

目录权限:755

777-022=755

文件权限:

666-022=644

----------------------------

[root@oldboyedu ~]# umask 046

[root@oldboyedu ~]# umask

0046

目录:731

777-046=731

文件:620

666-046=620

------------------------------

[root@oldboyedu ~]# umask

0023

目录:754

777-023=754

文件:644

666

-013

664

-------------------------------

[root@oldboyedu ~]# umask

0035

目录:742

777-035=742

文件:642

666

-035

642

注意:umask计算时,目录使用777-umask,目录一直不受到umask影响

umask计算时,文件使用666-umask,当umask权限位上含有奇数时,文件权限是奇数位减完+1

umask影响的范围:

touch

mkdir 不指定参数的情况下

vim

vi

useradd

vsftp

samba

if [ $UID -gt 199 ] && [ "/usr/bin/id -gn" = "/usr/bin/id -un" ]; then

umask 002

else

umask 022

fi

输入、输出、管道符-

重定向:将原本输出在屏幕上的内容,输出到指定文件或设备中

文件描述符:

0 -> /dev/pts/0 :stdin 标准输入

1 -> /dev/pts/0 :stdout标准输出

2 -> /dev/pts/0 :stderr错误输出

3 -> /var/log/messages :文件名

输出重定向:

1>:标准输出重定向(会覆盖文件)

1>>:标准输出追加重定向(不会覆盖文件)

2>:错误输出重定向(会覆盖文件)

2>>:错误输出追加重定向(不会覆盖文件)

0<

[zls100@oldboyedu ~]$ find /etc/ -name '*.conf' > /tmp/conf4.txt 2>&1

[zls100@oldboyedu ~]$ find /etc/ -name '*.conf' &> /tmp/conf5.txt

|:管道符,连接多条命令,管道符左边的命令将标准输出,输出给管道符右边的命令,右边的命令,标准输入接收

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值