unix/linux中显示文件权限代码linux操作系统集合3篇


操作系统 2023-10-24 01:14:59 操作系统
[摘要]以下是小编整理的unix linux中显示文件权限代码linux操作系统集合3篇,仅供参考,希望能够帮助到大家。

【www.jsxqjc.com--操作系统】

以下是小编整理的unix/linux中显示文件权限代码linux操作系统集合3篇,仅供参考,希望能够帮助到大家。

unix/linux中显示文件权限代码linux操作系统篇1

本文章来总结关于如何在unix/linux中显示文件权限代码,有需要的朋友可参考参考,

代码如下复制代码

// 说明:用 unix/linux 格式显示文件权限

// 整理:

$perms = fileperms("/etc/passwd" );

if (($perms & 0xC000) == 0xC000) {

// Socket

$info = "s";

} elseif (( $perms & 0xA000) == 0xA000) {

// Symbolic Link

$info = "l";

} elseif (($perms & 0x8000 ) == 0x8000) {

// Regular

$info = "-";

} elseif (( $perms & 0x6000) == 0x6000) {

// Block special

$info = "b";

} elseif (($perms & 0x4000 ) == 0x4000) {

// Directory

$info = "d";

} elseif (( $perms & 0x) == 0x2000) {

// Character special

$info = "c";

} elseif (($perms & 0x1000 ) == 0x1000) {

// FIFO pipe

$info = "p";

} else {

// Unknown

$info = "u";

}

// Owner

$info .= (($perms & 0x0100) ? "r" : "-");

$info .= (($perms & 0x0080) ? "w" : "-");

$info .= (($perms & 0x0040) ?

(($perms & 0x0800) ? "s" : "x" ) :

(($perms & 0x0800) ? "S" : "-"));

// Group

$info .= (( $perms & 0x0020) ? "r" : "-");

$info .= (($perms & 0x0010) ? "w" : "-");

$info .= (($perms & 0x0008) ?

(($perms & 0x0400) ? "s" : "x" ) :

(($perms & 0x0400) ? "S" : "-"));

// World

$info .= (( $perms & 0x0004) ? "r" : "-");

$info .= (($perms & 0x0002) ? "w" : "-");

$info .= (($perms & 0x0001) ?

(($perms & 0x0200) ? "t" : "x" ) :

(($perms & 0x0200) ? "T" : "-"));

echo $info;

?>

摘录自 User manager for PureFTPd 的权限显示函数

PureFTPd 是 *nix 下的一个 FTP 服务器软件,而User manager for PureFTPd 则是为了方便在线管理 ftp 用户设计制作的。作者是:M.Mastenbroek,

代码如下复制代码

// 说明:摘录自 User manager for PureFTPd 的权限显示函数

// 整理:

function DisplayFilePermissions($Mode) {

// Determine Type

if ($Mode & 0x1000) {

$Type = "p";   // FIFO pipe

} else if ($Mode & 0x2000) {

$Type = "c";   // Character special

} else if ($Mode & 0x4000) {

$Type = "d";   // Directory

} else if ($Mode & 0x6000) {

$Type = "b";   // Block special

} else if ($Mode & 0x8000) {

$Type = "-";   // Regular

} else if ($Mode & 0xA000) {

$Type = "l";   // Symbolic Link

} else if ($Mode & 0xC000) {

$Type = "s";   // Socket

} else {

$Type = "u";   // UNKNOWN

}

// Determine permissions

$Owner["read"]   = ($Mode & 00400) ? "r" : "-";

$Owner["write"]  = ($Mode & 00200) ? "w" : "-";

$Owner["execute"] = ($Mode & 00100) ? "x" : "-";

$Group["read"]   = ($Mode & 00040) ? "r" : "-";

$Group["write"]  = ($Mode & 00020) ? "w" : "-";

$Group["execute"] = ($Mode & 00010) ? "x" : "-";

$World["read"]   = ($Mode & 00004) ? "r" : "-";

$World["write"]  = ($Mode & 00002) ? "w" : "-";

$World["execute"] = ($Mode & 00001) ? "x" : "-";

// Adjust for SUID, SGID and sticky bit

if ($Mode & 0x800) $Owner["execute"] = ($Owner["execute"] == "x") ? "s" : "S";

if ($Mode & 0x400) $Group["execute"] = ($Group["execute"] == "x") ? "s" : "S";

if ($Mode & 0x200) $World["execute"] = ($World["execute"] == "x") ? "t" : "T";

return

$Type

. $Owner["read"] . $Owner["write"] . $Owner["execute"]

. $Group["read"] . $Group["write"] . $Group["execute"]

. $World["read"] . $World["write"] . $World["execute"];

}

$perms = fileperms( "/etc/passwd" );

echo DisplayFilePermissions($perms);

?>

unix/linux中显示文件权限代码linux操作系统篇2

本文章来给大家介绍在linux下SVN中改变执行权限方法总结,本地文件在commit到仓库之前若没有chmod +x 权限的话,那在svn仓库里的文件将会保持当前无可执行属性状态,我们可以做svn命令来修改,

SVN中,如果我们在linux下提交权限为755的文件,就会在svn的属性中存在一个svn:excuteable。

只在本地chmod 644 filename.php,是不能造成修改的。

可以在windows下的svn客户端中,通过修改该文件的属性,Remove掉它的这个可执行属性,

Remove之后会重新进行一次commit操作,所以还会弹出让你填写一点备注的输入框。

所以可以看出,svn中保存文件并没有储存属主和类似755这样的权限,只在如果有可执行权限时,checkout和update时为文件chmod +x。

本地文件在commit到仓库之前若没有chmod +x 权限的话,那在svn仓库里的文件将会保持当前无可执行属性状态。

即使在本地chmod +x filename 之后,再提交到仓库也是没有用的。check out到其他目录的时候,文件仍然没有可执行权限。

需要使用svn 设置文件属性,如下

svn propset svn:executable on *

然后 svn commit

unix/linux中显示文件权限代码linux操作系统篇3

vsftpd服务器是linux中一个非常实用的文件上传管理工具了,下面我就来给大家介绍在vps中关于vsftpd配置与权限分配方法,希望例子对大家会有所帮助,

先确认下安装上了没,可以使用

代码如下复制代码

[root@localhost sv005-mongodb]# service vsftpd restart

Shutting down vsftpd:                                     [ OK ]

Starting vsftpd for vsftpd:                               [ OK ]

或者使用命令

[root@localhost sv005-mongodb]# chkconfig --list vsftpd

vsftpd         0:off  1:off  2:off  3:off  4:off  5:off  6:off

如果没有安装我们需要先是需要安装:

代码如下复制代码

yum install vsftpd

然后启动vsftpd : /etc/init.d/vsftpd start

vi /etc/vsftpd/vsftpd.conf  修改里面的 这两项:

chroot_local_user=YES (须添加)

chroot_list_enable=NO

然后 保存即可!

创建用户组:

groupadd   用户组

useradd -g webusers -d /路径 用户名

passwd 用户名  修改用户的密码。

chown -R 用户名:用户组 /路径/

刚才由于修改了配置文件 所以要记得重启:service vsftpd restart

OK ! 成功了!

到上面就完成了,如果你还需要加一些虚拟用户,我们可向下看

vsFTPD配置虚拟用户

FTP用户一般是不能登录系统的,这也是为了安全。在系统中,没有权限登录系统的用户一般也被称之为虚拟用户;虚拟用户也是要写进 /etc/passwd中;这只是一种虚拟用户的方法,但说实在的并不是真正的虚拟用户,只是把他登录SHELL的权限去掉了,所以他没有能力登录系统;如果我们想把beinan这个用户目录定位在/opt/beinan这个目录中,并且不能登录系统;我们应该如下操作。

代码如下复制代码[root@localhost ~]# adduser -d /opt/beinan -g ftp -s /sbin/nologin beinan

[root@localhost ~]# passwd beinan

Changing password for user beinan.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

[root@localhost ~]#

其实这还是不够的,还要改一下配置文件vsftpd.conf ,以确保本地虚拟用户能有读写权限;

local_enable=YES

write_enable=YES

local_umask=022

如何实现虚拟路径?

比如:

代码如下复制代码/home/a 映射为 ftp://localhost/a

/home/b/c 则为 ftp://localhost/c

可以通过如下的方法来实现,

[root@localhost ~]# mount –bind [原有的目录] [新目录]

比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作

我们要先在/var/ftp目录中建一个目录

代码如下复制代码[root@localhost ~]# mkdir /var/ftp/WinSoft

然后执行mount命令

[root@localhost ~]# mount –bind /mnt/LinG/WinSoft /var/ftp/WinSoft

这样就OK了。

打开Linux vsFTPDv服务器的日志功能

把下面xferlog_file前面的#号对掉,也就是把vsftp的log功能打开,这样我们就能在/var/log目录下查看vsftpd.log。这是vsFTP的日志功能,这对于我们来说是极为重要的。xferlog_file=/var/log/vsftpd.log如何让vsFTP服务器限制链接数,以及每个IP最大的链接数?应该改Linux vsFTPD服务器的配制文件vsftpd.conf,加入下面的两行:

max_clients=数字

max_per_ip=数字

举例:我想让我的vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行:

max_clients=100

max_per_ip=5

如何限制传输速度?

anon_max_rate=数字

注:这是匿名的速度

local_max_rate=数字

注:这是vsFTP服务器上本地用户的速度

注:这个数字的单位是byte,所以我们要计算一下。

比如我想让匿名用户和vsFTP上的用户都以80KB下载,所以这个数字应该是1024×80=81920

所以我们要在vsftpd.conf中加入下面的两行

anon_max_rate=81920

local_max_rate=81920

下面是一些常用的命令:

管理用户组(group)的工具或命令;

groupadd 注:添加用户组;

groupdel 注:删除用户组;

groupmod 注:修改用户组信息

groups 注:显示用户所属的用户组

用户管理命令

useradd 注:添加用户

userdel 注 :删除用户

adduser 注:添加用户

passwd 注:为用户设置密码

usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;

本文来源:http://www.jsxqjc.com/dnxx/42395.html

相关标签:
相关阅读
  • unix/linux中显示文件权限代码linux操作系统集合3篇 unix/linux中显示文件权限代码linux操作系统集合3篇
  • 操作系统演讲稿怎样复习操作系统范文(通用4篇) 操作系统演讲稿怎样复习操作系统范文(通用4篇)
  • 2015计算机三级信息安全技术复习笔记操作系统 2015计算机三级信息安全技术复习笔记操作系统
  • 2014计算机三级《PC技术》考试要点操作系统概述 2014计算机三级《PC技术》考试要点操作系统概述
  • 计算机三级《数据库技术》背诵资料操作系统 计算机三级《数据库技术》背诵资料操作系统
  • 2015年全国计算机四级操作系统原理考试大纲 2015年全国计算机四级操作系统原理考试大纲
  • 360安全卫士上的wifi不能用了怎么办_360安全卫士上的wifi不能用了怎么办 360安全卫士上的wifi不能用了怎么办_360安全卫士上的wifi不能用了怎么办
  • [360安全卫士漏洞修复功能]360安全卫士漏洞修复功能的使用 [360安全卫士漏洞修复功能]360安全卫士漏洞修复功能的使用
为您推荐