centos 修改目录权限,centos如何删除目录
今天给各位分享centos 修改目录权限的知识,其中也会对centos如何删除目录进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
ssh怎么登录FTPssh怎么登录
如何打开SSH的FTP帐户
我们开始吧:
首先修改sshd的配置文件:
$sudonano/etc/ssh/sshd_config
修改该文件的结尾,如下所示:
#子系统sftp/usr/lib/OpenSSH/sftp-服务器
#注释掉这一行(上面的那一行)
子系统sftp内部-sftp
匹配组sftp
#匹配sftp组,如果单个用户可用:匹配用户用户名
ChrootDirectory/sftphome/
#指定锁定用户的目录。为了使chroot成功,该目录必须由root所有,并且不能由其他用户或组写入。
X11转发号
AllowTcpForwarding编号
内部强制命令-sftp
#使用PAM是
#这一行(上面的行)也被注释掉,或移到子系统sftpinternal-sftp的顶部。
下面设置了sftp组和属于sftp组的testuserTestUser:
$sudo组添加sftp
$sudouseradd-d/testuser-s/bin/false-gsftptestuser
$sudo密码测试用户
创建Ftp目录:
$sudomkdir-p/sftphome/testuser
重新启动SSH服务sshd:
$sudo/etc/init.d/sshreload
此时,使用具有sftp功能的客户端软件,如filezilla、flashfxp,就可以使用testuser登录使用sftp的服务器;
但是,此时无法在/sftphome/testuser目录中创建或修改文件,因此有必要修改目录权限,并将testuser目录所有者授予用户testuser:
$sudochowntestuser:sftp/sftphome/testuser
这样,testuser用户可以自由地操作这个目录。
SSH与FTP之间的关系与区别?
协议不一样。ftp一般用21端口;sftp是22端口,ssh服务提供的,有加密,传输安全性高
电脑术语ssh,rdp,ftp,vnc分别是什么意思?
ssh用来连接远程主机(linux或unix),数据传输是加密的,和telnet一样的,只是telnet的数据传输没加密,数据安全性存在问题;
ftp是文件上传下载协议(linux或unix);
vnc和rdp都是用来连接远程主机的,不过一般rdp用来远程windows的多,linux和unix也对rdp支持。
如何创建ftp服务器用户名和密码?
1:如果是可以以shell登录的纯系统用户,可以直接用用户ssh登录到用户系统,passwd修改用户命令如果是系统用户,但不能shell登录,这个估计也改不了。
2:如果是通过数据库认证的ftp用户,估计你需在拿到数据库的权限才能改。
ssh访问端口是什么?
SSH的访问端口是TCP22。
TCP很重要,因为传统上SSH在通过TCP(而不是UDP)提供的可靠连接上工作。
譬如,SSH端口22由IANA或互联网号码分配机构(InternetAssignedNumbersAuthority)的TatuYlonen于1995年注册。SSH旨在取代telnet和FTP。Telnet使用端口号21,而Ftp使用端口号23。端口22当时是空闲的,并且作为Telnet和FTP的替代,SSH被分配给TCP22。
在Linux系统下使用SSH实现端口映射的方法?
从技术角度来分析,几个要求:
1、从安全方面看,sftp会更安全一点
2、线上服务器提供在线服务,对用户需要控制,只能让用户在自己的home目录下活动
3、用户只能使用sftp,不能ssh到机器进行操作
提供sftp服务,可以用系统自带的internal-sftp,也可以使用vsftpd,这里需求不多,直接选用internal-sftp。
限制用户只能在自己的home目录下活动,这里需要使用到chroot,openssh4.8p1以后都支持chroot,我现在用的是centos6.3,自带的openssh已经是5.3p1,足够了。
可以输入:
#ssh-v
来查看openssh的版本,如果低于4.8p1,需要自行升级安装,不在这里具体介绍了。
假设,有一个名为sftp的组,这个组中的用户只能使用sftp,不能使用ssh,且sftp登录后只能在自己的home目录下活动
1、创建sftp组
#groupaddsftp
2、创建一个sftp用户,名为mysftp
#useradd-gsftp-s/bin/falsemysftp
#passwdmysftp
3、sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/data/sftp/mysftp
#mkdir-p/data/sftp/mysftp
#usermod-d/data/sftp/mysftpmysftp
4、配置sshd_config
编辑/etc/ssh/sshd_config
#vim+132/etc/ssh/sshd_config
找到如下这行,并注释掉
subsystemsftp/usr/libexec/openssh/sftp-server
添加如下几行
subsystemsftpinternal-sftp
matchgroupsftp
chrootdirectory/data/sftp/%u
forcecommandinternal-sftp
allowtcpforwardingno
x11forwardingno
解释一下添加的几行的意思
subsystemsftpinternal-sftp
这行指定使用sftp服务使用系统自带的internal-sftp
matchgroupsftp
这行用来匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割
当然,也可以匹配用户
matchusermysftp
这样就可以匹配用户了,多个用户名之间也是用逗号分割,但我们这里按组匹配更灵活和方便
chrootdirectory/data/sftp/%u
用chroot将用户的根目录指定到/data/sftp/%u,%u代表用户名,这样用户就只能在/data/sftp/%u下活动,chroot的含义,可以参考这里:
forcecommandinternal-sftp
指定sftp命令
allowtcpforwardingno
x11forwardingno
这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
5、设定chroot目录权限
#chownroot:sftp/data/sftp/mysftp
#chmod755/data/sftp/mysftp
错误的目录权限设定会导致在log中出现”fatal:badownershipormodesforchrootdirectoryxxxxxx”的内容
目录的权限设定有两个要点:
1、由chrootdirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
2、由chrootdirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限
所以遵循以上两个原则
1)我们将/data/sftp/mysftp的所有者设置为了root,所有组设置为sftp
2)我们将/data/sftp/mysftp的权限设置为755,所有者root有写入权限,而所有组sftp无写入权限
6、建立sftp用户登入后可写入的目录
照上面设置后,在重启sshd服务后,用户mysftp已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限
#mkdir/data/sftp/mysftp/upload
#chownmysftp:sftp/data/sftp/mysftp/upload
#chmod755/data/sftp/mysftp/upload
7、重启sshd服务
#servicesshdrestart
到这里,mysftp已经可以通过sftp客户端登录并可以上传文件到upload目录。
如果还是不能在此目录下上传文件,提示没有权限,检查selinux是否关闭,可以使用如下指令关闭selinux
修改/etc/selinux/config文件中的selinux=""为disabled,然后重启。或者
#setenforce0
centos 怎么更改用户权限
Linux系统具有多用户、多任务的历史发展特点,所以也迫使其具有了很好的安全性,保障Linux系统安全的背后是复杂的配置工作,Linux系统中文件的所有者、所有组以及其他人所对应的读(r)写(w)执行(x)的一般权限的作用,会添加、删除、修改用户帐户信息。使用SUID、SGID与SBIT特殊权限位让系统权限功能更加的灵活,弥补单纯对文件设置一般权限的功能不足。隐藏权限能够让系统多一层隐形的防护层,让黑客对关键日志信息最多只能看,而不能修改或删除。通过ACL访问控制列表再进一步的针对单一用户、用户组对单一文件或目录进行特殊的权限安排,让文件的权限最大限度满足工作的需求。
usermod命令用于修改用户的属性,格式为“usermod [选项]用户名”。
在Linux系统中的一切都是文件,因此在系统中创建用户也是修改配置文件的过程,用户的信息被保存到了/etc/passwd文件中,可以直接用文本编辑器来修改其中的数值项目,也可以用usermod命令来修改已经创建的用户信息项目,诸如用户身份号码、基本/扩展用户组、默认终端等等:
-c填写帐号的备注信息
-d-m-m与-d连用,可重新指定用户的家目录并自动把旧的数据转移过去。
-e帐户到期时间,格式“YYYY-MM-DD”
-g变更所属用户组
-G变更扩展用户组
-L锁定用户禁止其登陆系统
-U解锁用户,允许其登陆系统
-s变更默认终端
-u修改用户的UID
[root centos~]# usermod-G root centos
[root@centos~]# id centos
uid=1000(centos) gid=1000(centos) 3w.linuxprobe.com\chapter-05.htmlgroups=1000(centos),0(root)
[root@centos~]# usermod-u 8888 centos
[root@centos~]# id centos
uid=8888(centos) gid=1000(centos) groups=1000(centos),0(root)
备注:
超级用户UID0:系统的超级用户。
系统用户UID1-999:系统中程序服务由不同用户运行,更加安全,默认被限制不能登录系统。
普通用户UID1000~:即管理员创建的用于日常工作而不能管理系统的普通用户。
注意UID一定是不能冲突的,管理员创建的普通用户UID从1000开始(即便前面有闲置的号码)
linux中多用户以及权限的理解
linux操作系统是多用户管理系统,管理起来非常麻烦,所以用组的概念来管理用户就变的简单多了,一个用户可以属于多个组,一个组可以有多个用户,用户和组是多对多的关系。
linux的多用户多分组管理系统都是针对文件来说的,每个文件都有所属的用户和所属的分组。
linux系统是根据用户UID来识别用户的,并不是根据用户名。linux用户分为以下3种
每行数据为一个用户,可以看到红色部分为root超级用户,蓝色部分为系统用户,绿色部分为普通用户。
我们可以看到该文件属于root用户和root组。然后root用户权限是rw-,root组内成员的权限是r--,而其他用户的权限是r--。由于其他用户的权限都是r--,所以任何用户都是可以读的。
在/etc/group文件中存储着系统的所有组,查看文件内容,如下图
大致分为4段
我们可以看到图中mail分组的第4段有值为postfix,也就是postfix用户应该有俩个分组,一个初始组和一个附属组,我们执行以下命令验证
用户密码文件shadow和组密码文件gshadow的权限都是000,所有其他用户是不能查看的,只有root用户才可以查看,root用户也是不能修改该文件的。
使用 whoami命令查看。
postfix用户有俩个所属组postfix和mail。由此可见, uid是指用户id(用户名称),gid是指初始组id(初始组名称),groups是指包括初始组在内的所有组id(所有组名称)
我们知道了/etc/group文件的第四段为组内成员,所有我们可以通过 grep来匹配相关组。比如查询mail组内的所有成员,命令如下,可以看到mail组内有mail,postfix和tom3个用户。
上面是一种方法,我们也可以直接使用命令来查看。
添加用户只能root用户来添加,普通用户没有权限,添加用户有俩种方式
在centos系统下,这俩种方式没有区别,都会在/home下自动创建与用户名同名的用户目录,且都是需要使用 passwd userName命令来设置用户密码的,只有设置完密码后才可以正常登录。
在unbantu系统下,这俩种方式是有区别的,使用 useradd userName命令不会在/home下自动创建与用户名同名的用户目录,且不会自动选择shell版本,后续也是需要使用 passwd username来设置密码的。而使用 adduser userName命令的话是会在/home目录下自动创建与用户名同名的用户目录,也会自动选择shell版本,且会自动提示输入用户密码,对用户比较友好,后续不需要在使用passwd来设置密码。
删除用户,并不会删除用户相关的文件
删除用户且一起删除家目录
格式如下:
参数如下:
-g指定组(只有root可以使用)
-a指定用户加入组
-d从组中删除该用户
-p从组中清楚所有成员
-l显示组成员列表
linux中每个文件都是有权限的。每个文件都有自己的所属用户和所属组,且拥有所属用户权限,所属组权限和其他权限3种。
权限一般分为读,写,执行3种,通过这样的机制来限制哪些用户或用户组可以对特定文件进行相应的操作。
目录有x权限才可以cd进入该目录。目录有r权限才能在该目录中使用ll或者ls查看目录。一个目录中的文件能否被删除或者创建取决于该目录是否有w权限。
执行ll命令后显示如下,我们解读一下
从左到右发现一共有7段
然后执行如下命令
test文件的权限改为
常用的参数为-R,常用于修改目录权限,该参数表示为该目录以及目录下的所有子文件都修改为相同的权限。
然后执行如下命令
再次查看test文件
常用的参数为-R,常用于修改目录,该参数表示为该目录以及目录下的所有子文件都修改为相同的用户及用户组。
想切换到root用户,直接使用su命令即可