在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
linux系统中权限是非常完善的一个功能了,我们如果设置不正确文件就无法使用了,像我们以一般情况需要把文件权限设置为777或644了,对于用户权 限就更加了,像素ftp,nginx,php这些我们都可以给它们设置一个用户并且设置不同权限了,下面我们一起来看看文件与用户权限分配 文件权限设置 权限管理 主要的命令有: chmod、chown、chgrp、umask 我想要改改目录权限的初衷,是因为我想将这个服务器配置更像虚拟主机一样,因为我的运行环境是nginx+php- fpm,我将他们的运行用户都设置为nginx,组设置为ftp,以我的名字建了ftp账户,用户名为zhangcunchao,所属当然也是ftp,这 样php运行的用户和nginx运行用户和ftp账户都属于一个组,那么我们程序中如果有需要程序有写权限的,只需要指定664即可。 linux的用户是可以共用一个uid的,即,我可以让ftp账户的uid和php运行用户一个id,但是这样,相当于将所用虚拟主机目录都设置为777没有太大区别,安全漏洞太大。既然我们需要配置权限最优的话,是有这样几个原则的。
然后我们可以再对需要有写权限的单独开放组的写权限即可 chmod -R 644 目录/*.* 尽量避免所有文件目录都777,我们要保证方便的同时,尽量保证安全,权限最低原则 1. chgrp,改变文件所属用户组; chown,改变文件所有者; chmod,改变文件的权限。 2. chgrp就是change group的简称,使用该指令时,要被改变的组名必须在/etc/group文件内存在才行。 #chgrp [-R] group filename(or dirname),其中R表示进行递归(recursive)的持续更改,也即连同子目录下的所有文件、目录。所以当修改一个目录中所有文件的用户组(所有者与权限也一样)时,要加上-R。 例如将文件install.log改到users用户组 $chgrp users install.log 3. chown就是change owner的简称。 #chown [-R] user filename(or dirname),改变file的文件所有者为user。 #chown [-R] .group filename(or dirname),改变file的用户组为group(注意加点)。 #chown [-R] user.group filename(or dirname),改变file的文件所有者为user,用户组为group。为避免“.”引起的系统误判,通常用一下命令表示该句: 4. 复制文件给其他人,复制命令: $cp [-option] [source file or dir] [target file or dir] 复制行为(cp)会复制执行者的属性与权限,所以即使复制到他人用户组仍然无法使用,所以这时必须修改该权限。 5. chmod就是change mode bits的简称。 数字类型改变文件权限: #chmod [-R] xyz fileordir,其中x代表owner权限,y代表group权限,z代表others权限。 r=4,w=2,x=1,上面三种身份的权限是r+w+x的和,如果没有相应的权限,则值为0。 例如:install.log文件,owner=rwx=4+2+1=7,group=rwx=4+2+1=7,others=---=0+0+0=0,所以这个文件的将改变权限值为770: #chmod 770 install.log。 6. 符号类型改变文件权限 我们可以用u,g,o三个参数来代表user,group,others 3种身份的权限。 a代表all,也即全部的身份。 读写的权限就可以写成r,w,x。 +,-,=分别代表加入,出去,设置一个权限。 加入要设置一个文件的权限成“-rwxr-xr-x,指令为: #chmod u=rwx,go=rx filename,注意加上那个逗号。 要给一个文件的全部身份加上x权限,则指令为: #chmod a+x filename。
2.Linux环境下的账户系统文件 其中root的uid是0,从1-499是系统的标准账户,普通用户从uid 500开始。 3.使用命令管理账户 useradd 选项 用户名//添加新用户 usermod 选项 用户名//修改已经存在的用户 userdel -r 用户名//删除用户表示自家目录一起删除。 groupadd 选项 组名// 添加新组 groupmod 选项 组名//修改已经存在的组 groupdel 组名 //删除已经存在的特定组。
useradd zhh888 //添加一个用户zh888 groupadd blog //新建一个blog组 useradd -G blog zh //表示创建一个新用户zh,同时加入blog附加组中。 useradd -d /var/ftp/pub -M ftpadmin //创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建自家目录(-M) usermod -G blog zh888 //表示将zh888添加到附加组blog中去。 userdel ftpadmin //表示删除ftpadmin用户 userdel -r zhh888 //表示删除zh888和/home中的目录一起删除。 groupdel blog //表示删除blog组。
创建用户之后就要给用户添加密码,设置的口令的命令式passwd passwd -l 用户名账号名//禁止用户账户口令 passwd -S 用户名//表示查看用户账户口令状态 passwd -u 用户名//表示恢复用户账号 passwd -d 用户名//表示删除用户账户口令
chage是保护密码的时效这样可以防止其他人猜测密码的时间。 chage 选项 用户名 参数有 -m days, -M days ,-d days, -I days ,-E date, -W days,-l 例子: #chage -m 2 -M 30 -W zhh//表示的意思是要求用户zhh两天内不能更改密码,并且口令最长存活期是30天,并且口令过期5天通知zhh 6.用户和组的状态查询命令 whoami //用于显示当前的用户名称。 groups 用户名//表示显示指定的用户所属的组,如果没指定用户则是当前用户所属的组。 id //表示显示当前用户的uid gid和用户所属的组列表。 su - 用户//表示转换到其他用户,如果su表示切换到自己的当前用户。 newgrp 组名//表示转换用户的当前组到指定的附加组,用户必须属于该组才能进行。
chown zh888 files//把文件files属主改成zh888用户。 chown zh888.zh888 files//将文件files的属主和组都改成zh888。 chown -R zh888.zh888 files//将files所有目录和子目录下的所有文件或目录的主和组都改成zh888.
umask [a1a2a3] a1表示的是不允许属主的权限,a2表示的是不允许同组人的权限,a3代表不允许其他人的权限。 umask 022//表示设置不允许同组用户和其他用户有写的权限。 umask //显示当前的默认生成掩码。
SUID SGID 和sticky-bit |
2022-08-15
2022-08-30
2022-08-17
2022-11-06
2022-08-18
请发表评论