Linux权限管理 chattr命令、lsattr命令、sudo命令

chattr命令

chattr命令用来修改文件系统的权限属性

chatrr 只有 root 用户可以使用,用来修改文件系统的权限属性,建立凌驾于 rwx 基础权限之上的授权。
chatrr 命令格式如下:
[root@localhost ~]# chattr [+-=] [选项] 文件或目录名

选项:

 选项选项说明

+

増加权限

-

删除权限

=

等于某权限

i

如果对文件设置属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;

如果对目录设置 i 属性,那么只能修改目录下文件中的数据,但不允许建立和删除文件

a

如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据;

如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件

e

Linux 中的绝大多数文件都默认拥有 e 属性,表示该文件是使用 ext 文件系统进行存储的,

而且不能使用"chattr -e"命令取消 e 属性

例如:

1. 给文件赋予属性

#建立测试文件
[root@localhost ~]# touch ftest 
 
#增加属性 
[root@localhost ~]# chattr +i ftest

#删除属性
#被赋予i属性后,root不能删除
[root@localhost ~]# rm -rf flest
rm:无法删除"ftesr":不允许的操作

#也不能修改文件中的数据 
[root@localhost ~]# echo 111>>ftest
-bash:ftest:权限不够

2. 给目录赋予i属性

#建立测试目录
[root@localhost ~]# mkdir dtest

#再建立一个测试文件abc
[root@localhost dtest]# touch dtest/abc

#给目录赋予i属性
[root@localhost ~]# chattr +i dtest/

#dtest目录不能新建文件
[root@localhost ~]# cd dtest/
[root@localhost dtest]# touch bed
touch:无法创建"bcd":权限不够

#但是可以修改文件内容
[root@localhost dtest]# echo 11>>abc
[root@localhost dtest]# cat abc
11

#不能删除
[root@localhost dtest]# rm -rf abc
rm:无法删除"abc":权限不够
此时,flest 文件和 dtest 目录都变得非常强悍,即便你是 root 用户,也无法删除和修改它。若要更改或删除文件,也必须先去掉 i 属性才可以。命令如下:
[root@localhost ~]# chattr -i ftest
[root@localhost ~]# chattr -i dtest/
 在某个项目中,我们可以每天自动实现把服务器的日志备份到指定目录,备份目录可设置 a 属性,变为只可创建文件而不可删除。命令如下:
#建立备份目录
[root@localhost ~]# mkdir -p /back/log

#赋予a属性
[root@localhost ~]# chattr +a /back/log/

#可以复制文件和新建文件到指定目录中
[root@localhost ~]# cp /var/log/messages /back/log/

#但是不允许删除
[root@localhost ~]# rm -rf /back/log/messages
rm:无法删除"/back/log/messages":不允许的操作
说明:chattr 命令不宜对目录 /、/dev/、/tmp/、/var/ 等进行设置,严重者甚至容易导致系统无法启动。

lsattr 命令

命令格式:

[root@localhost ~]# lsattr 选项 文件名 选项:

选项:

选项选项说明

-a

显示所有文件和目录

-d

如果目标是目录,则仅列出目录本身的属性,而不会列出文件的属性

例如:查看/back/log/目录,其拥有a和e属性

[root@localhost ~]#lsattr -d /back/log/
-----a------e- /back/log/

sudo命令

管理员作为特权用户,可授权普通用户协助完成日常管理。
现在较为流行的工具是 sudo,几乎所有 Linux 都已默认安装。还要注意一点,我们在前面介绍的所有权限,比如普通权限、默认权限、ACL权限、特殊权限、文件系统属性权限等操作的对象都是文件和目录,但是 sudo 的操作对象是系统命令,也就是 root 把本来只能由超级用户执行的命令赋予普通用户执行。
sudo 使用简单,管理员 root 使用 vi sudo 命令即可编辑其配置文件 /etc/sudoers 进行授权。命令如下:
[root@localhost ~]# visudo
…省略部分输出…
root ALL=(ALL) ALL
# %wheel ALL=(ALL) ALL

这两行是系统为我们提供的模板,我们参照它写自己的就可以了 

格式说明:

root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
#%wheel ALL=(ALL) ALL
#%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

参数的具体含义如下:

用户名/组名:代表 root 给哪个用户或用户组赋予命令,注意组名加"%"。

用户可以用指定的命令管理指定 IP 地址的服务器。如果写 ALL,则代表用户可以管理任何主机;如果写固定 IP,则代表用户可以管理指定的服务器。如果我们在这里写本机的 IP 地址,则不代表只允许本机的用户使用指定命令,而代表指定的用户可以从任何 IP 地址来管理当前服务器。

可使用的身份:就是把来源用户切换成什么身份使用,(ALL) 代表可以切换成任意身份。这个字段可以省略。

授权命令:代表 root 把什么命令授权给普通用户。默认是 ALL,代表任何命令,这当然不行,如果需要给哪个命令授权,则只需写入命令名即可。不过需要注意,一定要写绝对路径。

授权用户 zhangsan 可以重启服务器

由 root 用户添加,如下行:
[root@localhost ~】# visudo
zhangsan ALL=/sbin/shutdown -r now
指定组名用百分号标记,如 %admgroup,多个授权命令之间用逗号分隔。用户 zhangsan 可以使用 sudo -l 查看授权的命令列表。
#切换成zhangsan用户
[root@localhost ~]# su - zhangsan

#查看授权的命令列表
[zhangsan@localhost ~]$ sudo -l

#需要输入zhangsan用户的密码
[sudo] password for zhangsan:
User zhangsan may run the following commands on this host:
(root) /sbin/shutdown -r now

可以看到zhangsan 用户拥有了 shutdown -r now的权限

提示输入密码为 zhangsan 普用户的密码,是为了验证操作服务器的用户是不是 zhangsan 用户本人。zhangsan 用户需要执行时,只需使用如下命令:
[zhangsan@localhost ~]$ sudo /sbin/shutdown -r now

zhangsan 用户即可以重启服务器。注意,命令写绝对路径,或者把 /sbin 路径导入普通用户 PATH 路径中,否则无法执行。

 

转载于:https://www.cnblogs.com/lizhouwei/p/9974538.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
linux命令大全,中文版本 Linux命令大全(修改版) 进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio dump gunzip gzexe gzip lha restore tar unarj unzip zip zipinfo 文件管理 diff diffstat file find git gitview ln locate lsattr mattrib mc mcopy mdel mdir mktemp mmove mread mren mshowfat mtools mtoolstest mv od paste patch rcp rhmask rm slocate split tee tmpwatch touch umask whereis which cat chattr chgrp chmod chown cksum cmp cp cut indent 磁盘管理 cd df dirs du edquota eject lndir ls mcd mdeltree mdu mkdir mlabel mmd mmount mrd mzip pwd quota quotacheck quotaoff quotaon repquota rmdir rmt stat tree umount 磁盘维护 badblocks cfdisk dd e2fsck ext2ed fdisk fsck.ext2 fsck fsck.minix fsconf hdparm losetup mbadblocks mformat mkbootdisk mkdosfs mke2fs mkfs.ext2 mkfs mkfs.minix mkfs.msdos mkinitrd mkisofs mkswap mpartition sfdisk swapoff swapon symlinks sync 系统设置 alias apmd aumix bind chkconfig chroot clock crontab declare depmod dircolors dmesg enable eval export fbset grpconv grpunconv hwclock insmod kbdconfig lilo liloconfig lsmod minfo mkkickstart modinfo modprobe mouseconfig ntsysv passwd pwconv pwunconv rdate resize rmmod rpm set setconsole setenv setup sndconfig SVGAText Mode timeconfig ulimit unalias unset 系统管理 adduser chfn chsh date exit finger free fwhois gitps groupdel groupmod halt id kill last lastb login logname logout logrotate newgrp nice procinfo ps pstree reboot renice rlogin rsh rwho screen shutdown sliplogin su sudo suspend swatch tload top uname useradd userconf userdel usermod vlock w who whoami whois 文档编辑 col colrm comm csplit ed egrep ex fgrep fmt fold grep ispell jed joe join look mtype pico rgrep sed sort spell tr uniq wc 网络通讯 dip getty mingetty ppp-off smbd(samba daemon) telnet uulog uustat uux cu dnsconf efax httpd ifconfig mesg minicom nc netconf netconfig netstat ping pppstats samba setserial shapecfg(shaper configuration) smbd(samba daemon) statserial(status ofserial port) talk tcpdump testparm(te

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值