扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、调整文件的权限命令:chmod
我们提供的服务有:网站建设、网站设计、微信公众号开发、网站优化、网站认证、苍南ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的苍南网站制作公司
Linux的每个文件都定义了文件的拥有者:u(user)、拥有组:g(group)、其他人:o(others)权限,对应的权限用rwx的组合来定义。使用chmod命令,增加权限用+,删除权限用-,某个文件详细的权限用=号。
比如:
chmod u+r filename #给某文件增加读的权限
chmod u-r filename #给某文件删除读的权限
chmod u+w filename #给某文件增加写的权限
chmod u-w filename #给某文件删除写的权限
chmod u+x filename #给某文件增可执行的权限
chmod u-x filename #给某文件删除可执行的权限
chmod u+rwx filename #给某文件增加读写可执行的权限
chmod u=rwx filename #给某文件设定读写可执行的权限
通过这种方式可以同一时刻给文件拥有者、文件拥有组、或其他用户设置权限,如果想要同时设置所有用户的权限就要使用数字表示的方式了,Linux规定 r=4,w=2,x=1。比如权限rwx:7,r-x:5。如果想设置一个文件拥有者有读、写、执行,拥有组的权限是读、执行、其他人只读的话,可以使用命令:chmod 745 filename 进行设置。chmod -R 745 dirname #用来看设置目录权限 必须加 -R参数。
2、改变文件的拥有者命令:chown
比如:chown user1 hello.txt
#将hello.txt 文件拥有者修改为 user1, 前提user1 为系统中拥有的用户
chown :user1 hello.txt
#将hello.txt 文件拥有者修改为 user1组, 前提user1 为系统中拥有的用户组
chown user1:user1 hello.txt
#相当于执行了上面两条命令
chown user1:user1 dirname
#修改目录的文件拥有者和用户组 需要加 -R参数
3、修改文件的拥有组命令:chgrp
比如:
chgrp user1 hello.txt
#将hello.txt 文件用户组修改为 user1
chgrp user1 dirname
#将dirname 目录用户组修改为 user1,需要加 -R参数
觉得不错请点赞支持,欢迎留言或进我的个人群855801563领取【架构资料专题目合集90期】、【BATJTMD大厂JAVA面试真题1000+】,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不定期答题、探讨。
Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
使用权限 : 所有使用者
语法
参数说明
mode : 权限设定字串,格式如下 :
其中:
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
其他参数说明:
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误信息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
Linux档案的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限
举例:档的权限字符为 -rwxrwxrwx 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
所以我们设定权限的变更时,该档案的权限数字就是770啦!变更权限的指令chmod的语法是这样的:
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更
举例来说,如果要将.bashrc这个档案所有的权限都设定启用,那么就下达:
那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754 啰!所以你需要下达:
linux权限设置命令用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x 。下面解析一下格式所表示的意思。这种表示方法一共有十位: 9 8 7 6 5 4 3 2 1 0 - r w x r - x r - x 第9位表示文件类型,可以为p、d、l、s、c、b和-: p表示命名管道文件 d表示目录文件 l表示符号连接文件 -表示普通文件 s表示socket文件 c表示字符设备文件 b表示块设备文件 第8-6位、5-3位、2-0位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为rwx。linux下用chmod(change file modebit)改变一个文件的权限一般有两种方式:1、chmod [ugoa][+-=][rwx] filename这种方法很直观,u代表拥有者(user),g代表组(group),o代表其它用户(other),a代表所有用户(all)。+-=代表增加、去除、设置为相应的权限。rwx分别代表读(read)、写(write)、执行(exe)。比如chmod a+x filname 表示对所有用户增加对filename的执行权限。2.setUid,setGid如果一个命令被设置了SUID,那么这个命令在执行期间,执行这个命令的用户就具有了这个命令的属主的权限;如果一个命令被设置了SGID,那么这个命令在执行期间,执行这个命令的用户就具有了这个命令的属组的权限.设置SetUid权限: chmod 4xxx filename取消SetUid权限: chmod xxx filename设置SetGid权限: chmod 2xxx filename取消SetGid权限: chmod xxx filename如果执行chmod 6xxx filename命令即可同时为指定文件设置SetUid和SetGid,执行命令chmod 0xxx filename,即可同时取消指定文件的SetUid和SetGid权限。
在linux中给文件夹赋权限的步骤如下:
1.首先,咱们用客户端工具(工具很多,我用的是xshell),用需要建立的文件夹的账户登录系统,例如我现在是用的Root用户。红色框框内,写着root证明,登录的用户没有问题。
2.此时进入到需要新建文件夹的目录下,例如我们现在要去/u1下面去建立文件夹,则使用命令cd u1即可。如果其他的文件夹:cd u1/out。
3.进入需要建立新文件的目录后完成,直接录入新建文件命令:mkdir fanfan建立后,可以“ls”下,可以看到建立的目录存在了。
4.此时可以查看文件夹的权限,可以使用ls -la此命令可以看到下属相关文件夹的权限。这样就解决了在linux中给文件夹赋权限的问题了。
Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号(用户名)。
文件的用户与用户组分为超级管理员,普通用户和系统用户。
1)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UID\GID都为0时,那么这个用户系统就认为是超级管理员。
2)普通用户(管理员添加的),默认它的UID\GID是从500-65535,权限很小,只能操作自己的家目录中文件及子目录(注:nobody它的UID\GID是65534)。
3)系统用户,也称虚拟用户,也就是安装系统时就默认存在的且不可登陆系统,它们的UID\GID是1-499。
我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:
创建用户
useradd user1 创建用户user1
useradd -e 12/30/2021 user2 创建用户user2,有效期到2021-12-30
设置用户密码
passwd user1 设置密码,有设置密码的用户不能用
这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题
这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的password requisite
和password sufficient两行注释掉,如下图:
创建用户组
groupadd –g 888 users 创建一个组users,其GID为888
groupadd users 不用g参数,使用默认的组ID
命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
gpasswd –a user1 users 把 user1加入users组
gpasswd –d user1 users 把 user1退出users组
命令groupmod修改组
groupmod –n user2 user1 修改组名user1为user2
groupdel删除组
groupdel users 删除组users
真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流