linux创建用户赋予权限
Linux vsftpd匿名用户开放上传,写入,创建,删除权限
Linux vsftpd匿名用户开放上传,写入,创建,删除权限
安装vsftpd软件包
编辑配置文件,格式要注意,等于号的前后不能有空格。
一行的结尾也不要有空格。
anonymous_enable=YES 表示开启匿名用户访问
anon_umask=022 设置匿名用户所上传文件的默认权限掩码值
anon_root=/var/ftp 设置匿名用户的FTP根目录,也称为宿主目录。
匿名登录
所在的文件目录,注意ftp后面不要有“/”,否则出错。
anon_upload_enable=yes 是否允许匿名用户上传文件
anon_mkdir_write_enable=yes是否允许匿名用户具有创建目录的写入权限
查看目录属性
将目录pub的属性的属主改为ftp(匿名用户映射的用户),千万不要将ftp这个目录属主改为ftp,否则,用户登录时会出错。
这是vaftpd的一个安全机制。
匿名用户的宿主目录不能更改权限,但是宿主下面的子目录可以更改权限。
再次查看,发现文件的属主为ftp,就是为了得到写权限。
当然,这里也可以改其他用户的写权限,不过这样不是很好,建议改属主。
重启服务
打开我的电脑,在地址栏输入ftp://192.168.100.254默认就是匿名登录
往里面上传文件,发现出错。
因为宿主目录没有写权限
打开pub,这是宿主目录的子目录,拥有写权限,因此可以上传文件
也可以创建文件
删除文件时,发现出错
更改配置文件,允许匿名用户有其他写入权限,如改名,覆盖,删除。
覆盖相当于删除同名文件。
重启服务
选择删除
新建文件夹没有了。
高级用户权限管理Linux命令之chmod与sudo
高级用户权限管理Linux命令之chmod与sudo一、chmod命令在Linux系统中,文件和目录的权限是非常重要的,可以通过chmod命令来修改文件和目录的权限。
1. 命令格式chmod [选项]... 模式[,模式]... 文件...2. 命令说明chmod命令可以用来改变一个文件或目录的访问权限。
模式用数字或者字符来表示,数字代表权限的数值表示,字符用r(读取权限)、w(写入权限)、x(执行权限)和-(无权限)来表示。
3. 常用选项- -c:显示所有变动的权限- -R:递归地更改文件的权限,包括目录下的所有文件和子目录- -v:详细显示权限变动信息4. 常用示例(1)将文件test.txt的拥有者权限设置为只读chmod u=r test.txt(2)将文件test.txt的拥有者和群组权限设置为读写执行,其他用户权限设置为只读chmod ug=rwx,o=r test.txt(3)将目录test的拥有者和群组权限设置为读写执行,其他用户权限设置为没有任何权限chmod u=rwx,g=rwx,o= test二、sudo命令在Linux系统中,sudo命令可以让普通用户以超级用户的身份执行特定的命令,从而实现对系统的高级权限管理。
1. 命令格式sudo [选项] 命令2. 命令说明sudo命令允许系统管理员授权普通用户以自己的身份执行命令,可以避免直接使用root账户登录,提高系统的安全性。
3. 常用选项- -u 用户名:以指定的用户名执行命令- -i:使用目标用户的环境变量- -s:以指定用户的shell来执行命令- -l:列出当前用户可执行的命令清单4. 常用示例(1)以root用户身份执行命令sudo Command(2)以其他用户身份执行命令sudo -u username Command(3)以目标用户的环境变量执行命令sudo -i Command(4)列出当前用户可执行的命令清单sudo -l结语通过chmod命令和sudo命令,可以有效地进行高级用户权限管理。
[Linux]-xxx不在sudoers文件中。此事将被报告。
[Linux]-xxx不在sudoers⽂件中。
此事将被报告。
redhat系统:
linux中创建⽤户命令为:useradd ⽤户名, eg: useradd test
指定密码:passwd test
但是有时候我们需要使⽤test运⾏执⾏⼀些root⽤户才有权限执⾏的命令,此时有两种⽅式:第⼀种,⽅式使⽤test⽤户执⾏,采⽤root⽤户执⾏。
第⼆种,使⽤sudo命令临时给⽤户test赋予root权限。
第⼀种我们就不考虑了,第⼆种是我们主要的采⽤⽅式,但是默认情况下,⽤户是不具有sudo权限的,这个需要root⽤户赋予。
如果没有进⾏任何操作,执⾏sudo命令会出现异常:"test不在 sudoers ⽂件中。
此事将被报告。
"。
使⽤root⽤户登录系统,查看⽂件/etc/sudoers权限信息,显⽰如下:
我们可以看到此时该⽂件的权限为root⽤户和supper⽤户组拥有读权限,其他⽤户没有权限。
此时修改该⽂件权限为root⽤户可写,执⾏命令chmod u+w /etc/sudoers或者执⾏chmod 640 /etc/sudoers。
修改⽂件内容:vim /etc/sudoers,修改如下所⽰:
原来的
添加后的
将⽂件权限复原,命令chmod u-w /etc/sudoers或者执⾏chmod 440 /etc/sudoers。
⾄此,完成。
如果还不可以,那么重启⼀下。
Linux2 文件及目录所有者拥有组权限管理
Linux2 文件及目录所有者/拥有组/权限管理Linux系统为每个文件都分配了一个文件所有者,即文件主。
对文件的控制取决于文件主和超级用户。
文件或目录的创建者对创建的文件或目录拥有特别的使用权,而且这种所有关系是可以改变的。
也就是说,可以将文件或目录的所有权转让给其他用户。
如果改变文件或目录的所有权,则原文件主将不再拥有该文件或目录的权限。
用户组是由多个用户组成的。
属于同一用户组的用户具有用户组所拥有的一切权限。
如果一个文件属于一个用户组,则这个用户组内的全部成员对这个文件拥有相同的权限。
Linux系统中的每个文件和目录都有存取许可权限,可用它来确定用户通过何种方式对文件、目录的访问与操作。
Linux 系统规定了4种不同类型的用户,即文件主、同组用户、其他用户及超级用户;规定了3种访问文件或目录的权限,即读、写及可执行(查找)。
1.chgrp更改目录或文件的拥有组chgrp命令的作用是更改目录或文件的拥有组。
分开的要改变属组的文件列表。
chgrp命令主要选项参数如下:-R 递归式地改变指定目录及其子目录和文件的用户属组。
例如,将aa及其子目录下的所有文件的用户组改为sa。
如图15所示。
图15 chgrp命令2.chown更改目录或文件的所有者或拥有组chown命令用于改变某个文件或目录的所有者和所属的组,即可以向某个用户授权,使其变成指定文件的所有者或者改变文件所属组。
语法如下:chgrp命令主要选项参数如表8所示:表8 chgrp命令主要选项参数例如,将目录aa及其下面的所有文件、子目录的文件主改为root,如图16所示。
图16 chown命令3.chmod更改目录或文件权限chmod命令的使用是改变或设置文件或目录的存取权限。
语法如下:根据表示权限的方式不同,该命令支持两种设定权限的方法:●使用字符模式设置权限。
在这种模式下,用u、g、o和a来表示不同用户。
其中,u表示文件主,g表示同组用户,o表示其他用户,a表示所有用户;用r、w、x来表示权限。
Linux文件和目录的权限
Linux初探>Linux文件和目录的权限几个基本概念:·文件所有者(用户)owner·用户组group·其他人others·root文件属性:ls -al 查看文件及属性第一列:文件类型和权限第1个字符代表文件类型(文件、目录或链接文件等)第234个字符表示文件所有者对文件/目录的权限第567个字符表示文件所有者所在用户组对文件/目录的权限第890个字符表示文件所有者所在用户组之外的用户对文件/目录的权限权限用固定的rwx序列表示,有该权限则写相应字符,无权限则写-root拥有最高权限第二列表示有多少个文件名连接到此节点(i-node)第三列表示这个文件/目录的“所有者”账号第四列表示这个文件所属的用户组第五列为这个文件的大小,默认单位B第六列为这个文件的创建或修改日期。
中文日期为乱码可以使用“LANG=en_US”修改语言第七列为文件名,前面为“.”则为隐藏文件改变文件属性与权限:1.chgrp改变文件所属用户组语法:chgrp [-R] groupname dirname/filename参数:-R 递归,同时改变目录及其下所有子目录、文件的权限要求:groupname存在问题:能否改变用户组为文件所有者不支持的用户组。
如果可以,会是什么情况。
2.chown改变文件所有者语法:chown [-R] username dirname/filename要求:必须是存在的用户问题:改变文件所有者或,所属用户组是否随之改变。
3.chmod改变文件/目录权限数字法:用421分别表示rwx的权值,用权值和表示权限,如5代表权限r-x,7代表rwx。
用三位数表示完整权限,如755代表rwxr-xr-x。
字符法:第一组字符:u(user)文件所有者、g(group)用户组、o(others)其他人。
a (all)所有人第二组字符:+ 添加权限、- 去掉权限、=赋予权限第三组字符:r读 w写 x执行语法:chmod [-R] 权限 dirname/filename例:chmod 755 .bashrcchmod u=rwx,go=rx .bashrcchmod a+w .bashrc目录与文件的权限意义:文件:r:可读取此文件的实际内容,如读取文本文件的文字内容。
Linux-user
用户名:加密的口令:用户ID :组ID :帐户的其他说明:家目录:登录时运行的程序
/etc/group文件格式如下
用户管理相关配置
当使用影子口令时,/etc/shadow文件存放着实际加密过的 用户口令
name:password:last:min:max:warn:inactive:expire:reserved
安全
【小知识】:环境变量实际上就是用户运行环境的参数集合。Linux是一个
多用户的操作系统。而且在每个用户登录系统后,都会有一个专有的运行 环境。通常每个用户默认的环境都是相同的,而这个默认的环境实际上就 是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就 是修改相应的系统环境变量。 常见的环境变量如下: PATH是系统路径 HOME是系统根目录 HISTSIZE是指保存历史命令记录的条数 LOGNAME是指当前用户的登录名 HOSTNAME是指主机的名称 SHELL是指当前用户用的是哪种Shell LANG是和语言相关的环境变量 MAIL是指当前用户的邮件存放目录
利用passwd命令来修改用户的口令
用户管理
chage -M命令迫使用户下次登入更改口令 # chage –M 0 username
chage –l查看用户信息 # chage –l username
用户管理
用户信息查询:
id
查询用户的UID,GID及拥有的群组 查询用户能支持的群组 查询用户的一些相关信息
用户管理
用户手动创建实例:
1.添加组信息:# vi /etc/group groupname:x:520: 2.添加用户信息:# vi /etc/passwd username:x:520:520: :/home/username:/bin/bash 3.同步passwd与shadow: # pwconv 4.设置用户密码:# passwd username 5.创建用户的根目录:# cp –r /etc/skel /home/username 6.修改用户目录的权限: # chown –R username.groupname /home/username
Linux目录和权限设置
Linux文件和目录访问权限设置一、文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。
同时,用户能够控制一个给定的文件或目录的访问程度。
一个文件活目录可能有读、写及执行权限。
当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件。
文件所有者可以将这些权限改变为任何他想指定的权限。
一个文件也许只有读权限,禁止任何修改。
文件也可能只有执行权限,允许它想一个程序一样执行。
三种不同的用户类型能够访问一个目录或者文件:所有着、用户组或其他用户。
所有者就是创建文件的用户,用户是所有用户所创建的文件的所有者,用户可以允许所在的用户组能访问用户的文件。
通常,用户都组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。
最后,用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。
在这种意义上,系统内的其他所有用户就是other用户类。
每一个用户都有它自身的读、写和执行权限。
第一套权限控制访问自己的文件权限,即所有者权限。
第二套权限控制用户组访问其中一个用户的文件的权限。
第三套权限控制其他所有用户访问一个用户的文件的权限,这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。
我们可以用-l参数的ls命令显示文件的详细信息,其中包括权限。
如下所示:[root@localhost ~]# ls -lh总用量 368K-rw-r--r-- 1 root root 12K 8月 15 23:18 conkyrc.sampledrwxr-xr-x 2 root root 48 9月 4 16:32 Desktop-r--r--r-- 1 root root 325K 10月 22 21:08 libfreetype.so.6drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic-rwxr-xr-x 1 root root 9.6K 11月 5 08:08 net.eth0-rwxr-xr-x 1 root root 9.6K 11月 5 08:08 net.eth1-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lodrwxr-xr-x 2 root root 48 9月 6 13:06 vmware当执行ls -l 或 ls -al 命令后显示的结果中,最前面的第2~10个字符是用来表示权限。
5 用户及权限管理
例1:将目录/usr/mengqc及其下面的所有文件、子目录的文件 主改变成liu。 $ chown -R liu /usr/mengqc 例2:把文件的拥有者改为longkey用户,同时文件的所属组改 为root组。 # chown longkey:root chap1.txt
3.chgrp命令 功能:改变文件或目录的所属组。 格式:chgrp [选项] 组名 文件名 说明:如果用户不是该文件的文件主或超级用户,则不能改变该 文件或目录的所属组。chown可以同时改变文件拥有者和所属 组,chgrp只具有改变所属组的功能。 参数选项: -R 递归式地改变指定目录及其下面的所有子目录和文件的用户 组。
(2)/etc/shadow 任何用户对passwd文件都有读的权限,虽然密码已经经过 加密,但还是不能避免有人会获取加密后的密码。为了安全, Linux系统对密码提供了更多一层的保护,即把加密后的密码重 定向到另一个文件/etc/shadow。密码如果经过shadow保护, 在/etc/passwd文件中,每一记录行的密码字段会变成“x”,并且 在/etc目录下存在文件shadow。只有超级用户能够读取shadow 的内容。
例1:显示当前的默认权限掩码值。 $ umask 022 例2:显示新创建文件的权限。 $ cat > test $ ls –l test -rw-r--r-- 1 root root 7 3 月 8 12:57 test 以上说明如果用户创建新的文件,文件的权限应为666-022=644 (即rw-r--r--)。
设定文件权限时,在模式中常用以下的字母代表用户或用户组: u(user)表示文件的所有者。 g(group)表示文件的所属组。 o(others)表示其他用户。 a(all)代表所有用户(即u+g+o)。 权限用以下字符表示: r表示读权限; w表示写权限; x表示执行权限。 最后要指明是 (+)增加权限 (-) 取消权限 (=)赋予权限。
Linux-权限管理(文件权限)
Linux-权限管理(⽂件权限)Linux - 权限管理(⽂件权限)⼀:基本权限1.基本权限介绍基本权限类型类型全拼释义权限位r read可读4w write可写2x execute可执⾏1权限的归属归属字母属主u属组g其他⽤户o2.设置权限修改属主、属组# 修改⽂件:1.txt的属主为:darker 属组为:human[root@localhost ~]# chown darker.human 1.txt# 修改⽂件:1.txt的属主为:darker[root@localhost ~]# chown darker 1.txt# 修改⽂件:1.txt的属组为:human[root@localhost ~]# chown .human 1.txt# 递归修改⽬录:file1的属主为:darker 属组为:human[root@localhost ~]# chown -R darker.human file1修改u、g、o对应的权限# 加减法# 修改⽂件:1.txt的权限为:属主为u 属组为w[root@localhost ~]# chmod u+x,g-w 1.txt# 赋值法# 修改⽂件:1.txt的权限为:所有⽤户为rwx[root@localhost ~]# chmod a=rwx 1.txt# 修改⽂件:1.txt的权限为:-[root@localhost ~]# chmod a=- 1.txt# 修改⽂件:1.txt的权限为:属主属组为rw 其他⽤户为r[root@localhost ~]# chmod ug=rw,o=r 1.txt# 数字# 修改⽂件:1.txt的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 7771.txt# 递归修改⽬录:file1的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 777 file1注意:把某⼀个⾮属主⽤户添加到⽂件的属组⾥,他就拥有了该组的权限,⽽不再是其他⼈权限对⽂件/⽬录的意义⽂件:ls -l ⽂件名权限释义r可以cat读取⽂件内容w可以修改⽂件x 可以执⾏⽂件代码,如果该⽂件的代码是编译好的结果那么只有x权限即可执⾏但如果该⽂件的代码是⼀个解释型的脚本程序则需要配合r权限才可执⾏⽬录:ls -dl ⽂件名权限释义r可以ls浏览⽂件下的内容w可以在⽬录下创建新⽂件or⽬录x 可以执⾏⽬录下的程序,除了对⽬录有执⾏权限外,还要对程序⽂件有执⾏权限才⾏可以正常cd切换到⽬录下涉及到多层⽬录如/a/b/c,需要对每⼀级都有x权限才可以正常⾛到下⼀级对⽂件夹的操作(不操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件夹有r或w权限权限释义r可以浏览w可以创建、删除、移动⼦⽂件和⼦⽬录对⽂件的操作(操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件有r或w权限权限释义r可以读取⽂件内容w可以修改⽂件内容注意点:vim修改的原理是将原⽂件删掉,然后再将内容的内容覆盖写⼊了新⽂件,新⽂件名重命名为原⽂件名验证vim修改的原理# (root⽤户)切换到/usr/local⽬录[root@localhost local]# cd /usr/local# (root⽤户)递归创建test01/dir1⽬录[root@localhost local]# mkdir -p test01/dir1# (root⽤户)递归修改⽬录test01权限为733[root@localhost local]# chmod -R 733 test01# (root⽤户)在test01⽬录下创建1.txt并写⼊内容“123”[root@localhost local]# echo "123" > test01/1.txt# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt123# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:其他⽤户只有(r)读的权限[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 root root 4 Nov 2510:02 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:02:58.471562017 -0500Modify: 2020-11-2510:02:58.471562017 -0500Change: 2020-11-2510:02:58.471562017 -0500Birth: -# 切换到其他⽤户/⽤其他⽤户登录PS C:\Users\Darker> ssh darker@192.168.50.101darker@192.168.50.101's password:[darker@localhost ~]$ whoamidarker# (普通⽤户)⽤vim打开/usr/local/test01⽬录下的1.txt[darker@localhost ~]$ vim /usr/local/test01/1.txt123~~~"/usr/local/test01/1.txt" [readonly] 1L, 4C 1,1 All # [readonly] 只读# 按i进⼊插⼊模式-- INSERT -- W10: Warning: Changing a readonly file# (普通⽤户)修改1.txt的内容,强制保存并退出456Esc:wq!# 回到原来的root⽤户的窗⼝# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt456# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:属主和属主变了[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 darker darker 4 Nov 2510:21 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 1000/ darker) Gid: ( 1000/ darker)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:30:54.822530748 -0500Modify: 2020-11-2510:21:17.823541511 -0500Change: 2020-11-2510:21:17.824541511 -0500Birth: -结论vim修改⽂件时:会将原⽂件删除,⽣成新的⽂件,属主和主组会变成修改的那个⽤户和⽤户所在的组⼆:特殊权限权限权限位SUID4SGID2权限权限位SBIT1SUID1.疑问普通⽤户既不是root也不属于root组,因此它对/etc/shadow⽂件没有任何权限(全是---)# 查看/etc/shadow信息[darker@localhost ~]# ll /etc/shadow----------. 1 root root 970 Nov 2407:29 /etc/shadow但是:普通⽤户为何可以⽤passwd直接修改密码?并且修改的是/etc/shadow⽂件,如何实现的?[darker@localhost ~]$ ll `which passwd`-rwsr-xr-x. 1 root root 27832 Jun 102014 /usr/bin/passwd这⾥可以看到,本应为rwx的第三个x变成了s,这就是s权限2.s权限的特殊之处SUID权限仅对⼆进制可执⾏⽂件有效(对⽬录⽆效)如果执⾏者对于该⼆进制可执⾏⽂件具有x的权限,执⾏者将具有该⽂件的所有者的权限本权限仅在执⾏该⼆进制可执⾏⽂件的过程中有效3.权限设定的⽅法字母表⽰法chmod u+s 可执⾏⽂件 # 给属主添加s权限chmod u-s 可执⾏⽂件 # 删除属主的s权限数字表⽰法(第1位4表⽰SUID,后3位表⽰普通权限 rwx)chmod 4755可执⾏⽂件 # 添加SUID权限到⼆进制可执⾏⽂件chmod 0xxx ... # 可以删除⽂件的SUID(但是⽆法删除⽬录的SUID)4.实例# (root⽤户)查看which cat[root@localhost ~]# ll `which cat`-rwxr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:没有权限(普通⽤户虽然是r-x,但是⽆法直接查看)[darker@localhost local]$ cat /etc/shadowcat: /etc/shadow: Permission denied# (root⽤户)修改 which cat 权限[root@localhost ~]# chmod u+s `which cat` # 或者 chmod 4755 `which cat`#(root⽤户)再次查看which cat[root@localhost ~]# ll `which cat`-rwsr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:有权限了[darker@localhost local]$ cat /etc/shadowroot:$6$Jvw3z/jmU1ASO4P1$vpTJ5OGEtfBOmIpjyK55k87iQPHXCC3.kKOFW9jkyslqC2DMdN7SZdT/zYRfmQ4hBAQXG6CQ4kKdRQ8eFqChf.::0:99999:7::: bin:*:16659:0:99999:7:::daemon:*:16659:0:99999:7:::adm:*:16659:0:99999:7:::lp:*:16659:0:99999:7:::...5.上例的⼯作原理环境前提:Linux中有1个⼆进制程序:cat,属组属组都是rootLinux中有⼀个系统⽂件:/etc/shadow,属组属组是: root:root有⼀个普通⽤户:darker普通⽤户:darker 属于其他⽤户,对⼆进制程序:cat 有执⾏(x)的权限普通⽤户:darker 对系统⽂件:/etc/shadow 没有任何权限默认情况下:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程该进程的属主属组是该程序的发起者:darker,也就是: darker:darkercat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:darker:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主属组不匹配,所以被拒绝访问了:Permission denied给⼆进制程序:cat 设置SUID之后:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程执⾏者对于该⼆进制可执⾏⽂件具有 x 的权限,执⾏者将拥有该⽂件的属组的权限该进程属主是程序的发起者:darker,属组是cat原来的:root,属主属组就是:darker:rootcat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:root:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主匹配,可以正常访问SGID1.权限设定的⽅法字母表⽰法chmod g+s ⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod g-s ⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限数字表⽰法(第1位2表⽰SGID,后3位表⽰普通权限 rwx)chmod 2755⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod 0755⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限chmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰[root@localhost ~]# ll 1.txt-rwxr-sr-x. 1 root root 3243 Nov 2515:411.txt3.SGID相关说明作⽤在⼆进制可执⾏⽂件上时:执⾏有SGID权限的程序时,该⽤户将继承该程序的属组权限作⽤在⽬录上时:该⽬录下所有⽤户新建的⽂件都会⾃动继承该⽬录的属组当⼀个⽤户对某⼀⽬录有写和执⾏权限时,该⽤户就可以在该⽬录下建⽴⽂件如果该⽬录同时⽤SGID修饰,则该⽤户在这个⽬录下建⽴的⽂件都是属于这个⽬录的属组4.实例# (root⽤户)切换到/usr/loca/⽬录并创建⽬录:test02[root@localhost ~]# cd /usr/local[root@localhost local]# mkdir test02# (root⽤户)查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-xr-x. 2 root root 6 Nov 2514:19 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:1.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/1.txt[root@localhost local]# ll /usr/local/test02/1.txt-rw-r--r--. 1 root root 0 Nov 2514:19 /usr/local/test02/1.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:2.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/2.txt[darker@localhost ~]$ ll /usr/local/test02/2.txt-rw-rw-r--. 1 darker darker 0 Nov 2514:20 /usr/local/test02/2.txt# (root⽤户)修改⽬录:test02 的权限[root@localhost local]# chmod 2773 test02# (root⽤户)再次查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-sr-x. 2 root root 6 Nov 2514:20 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:3.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/3.txt[root@localhost local]# ll /usr/local/test02/3.txt-rw-r--r--. 1 root root 0 Nov 2514:21 /usr/local/test02/3.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:4.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/4.txt[darker@localhost ~]$ ll /usr/local/test02/4.txt-rw-rw-r--. 1 darker root 0 Nov 2514:21 /usr/local/test02/4.txtSBITSBIT 是the restricted deletion flag or sticky bit的简称,有时也称为Sticky,粘滞位SBIT 与 SUID 和 SGID 的关系并不⼤1.权限设定的⽅法字母表⽰法chmod o+t ⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod o-t ⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Sticky数字表⽰法(第1位1表⽰添加Sticky位,后3位表⽰普通权限 rwx)chmod 1755⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod 0755⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Stickychmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰⽂件other位有x权限,并且⽤t代替了,表⽰被设置了Sticky如果other位没有x权限,会显⽰为⼤写T,表⽰有故障(权限⽆效)[root@localhost local]# ls -dl test03drwxr-xr-t. 2 root root 18 Nov 2514:34 dir013.相关说明对于⼀个多⼈可写的⽬录,如果设置了sticky,则每个⽤户仅能删除和改名⾃⼰的⽂件/⽬录只能作⽤在⽬录上,普通⽂件设置⽆意义,⽽且会被Linux内核忽略⽤户在设置 Sticky 权限的⽬录下新建的⽬录不会⾃动继承Sticky权限4.实例# (root⽤户)切换到 /usr/loca/⽬录[root@localhost ~]# cd /usr/local# (root⽤户)递归创建test03⽬录及2个⼦⽬录dir1和dir2[root@localhost local]# mkdir -p test03/dir{1,2}# (root⽤户)创建2个⽤户:user01、user02[root@localhost local]# useradd user01[root@localhost local]# useradd user02# (root⽤户)分别设置dir1和dir2的属主属组为user01和user02[root@localhost local]# chown -R user01:user01 test03/dir1[root@localhost local]# chown -R user02:user02 test03/dir2# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxr-xr-x. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# (root⽤户)修改⽬录:test03 的权限[root@localhost local]# chmod 1777 test03# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxrwxrwt. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# 切换到普通⽤户:user01[root@localhost local]# su - user01# !测试(普通⽤户)切换到test03⽬录[user01@localhost ~]$ cd /usr/local/test03# !测试(普通⽤户)查看当前⽬录下的信息[user01@localhost test03]$ lltotal 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# !测试(普通⽤户)⽤户user01将dir1重命名为dir11[user01@localhost test03]$ mv dir1 dir11# !测试(普通⽤户)⽤户user01将dir2重命名为dir22[user01@localhost test03]$ mv dir2 dir22mv: cannot move ‘dir2’ to ‘dir22’: Operation not permitted# !测试(普通⽤户)⽤户user01在dir11⽬录中创建⽂件:1.txt[user01@localhost test03]$ touch dir11/1.txt# !测试(普通⽤户)⽤户user01在dir2⽬录中创建⽂件:2.txt[user01@localhost test03]$ touch dir2/2.txttouch: cannot touch ‘dir2/2.txt’: Permission denied5.注意点SBIT ⽬前只对⽬录有效,⽤来阻⽌⾮⽂件的所有者删除⽂件:⽐较常见的例⼦就是/tmp⽬录权限信息中最后⼀位t表⽰该⽬录被设置了 SBIT 权限SBIT 对⽬录的作⽤是:当⽤户在该⽬录下创建新⽂件或⽬录时,仅有⾃⼰和 root 才有权⼒删除,主要作⽤于⼀个共享的⽂件夹(⽬录)三:chattr引⾔你是否遇到过⽂件或⽬录具有可读写权限,但是使⽤root⽤户删除、修改时提⽰"Operation not permitted"的情况?可能是由chattr设置了⽂件的隐藏保护权限导致通过chattr命令修改⽂件或⽬录属性能够提⾼系统的安全性与chmod命令相⽐,chmod只是改变⽂件的读写、执⾏权限,更底层的属性控制是由chattr命令改变的。
linux增加用户并赋予权限用户和用户组操作命令
linux增加⽤户并赋予权限⽤户和⽤户组操作命令===============ubuntu==================================================在Ubuntu13.10下创建⼀个新的⽤户:Step1:添加新⽤户useradd -r -m -s /bin/bash ⽤户名Step2:配置新⽤户密码passwd ⽤户名Step3:给新添加的⽤户增加ROOT权限vim /etc/sudoers然后添加:⽤户名 ALL=(ALL:ALL) ALL另外,如果直接⽤useradd添加⽤户的话,可能出现没有home下的⽂件夹,以及shell⽆法⾃动补全的显现。
出现此问题只要修改/etc/passwd下的/bin/sh为/bin/bash即可。
===============redhat===================================================useradd hadooppasswd 123456这样就增加了⼀个⽤户名是hadoop 密码是123456的⽤户再修改hadoop⽤户的权限:赋予root权限⽅法⼀:修改 /etc/sudoers ⽂件,找到下⾯⼀⾏,把前⾯的注释(#)去掉## Allows people in group wheel to run all commands%wheel ALL=(ALL) ALL然后修改⽤户,使其属于root组(wheel),命令如下:#usermod -g root tommy修改完毕,现在可以⽤tommy帐号登录,然后⽤命令 su - ,即可获得root权限进⾏操作。
⽅法⼆:修改 /etc/sudoers ⽂件,找到下⾯⼀⾏,在root下⾯添加⼀⾏,如下所⽰:## Allow root to run any commands anywhereroot ALL=(ALL) ALLtommy ALL=(ALL) ALL修改完毕,现在可以⽤tommy帐号登录,然后⽤命令 su - ,即可获得root权限进⾏操作。
第七讲 Linux用户及文件权限管理
– – – – 建立新的文件与目录 删除已经存在的文件与目录(不管该文件是属于谁的) 重命名已经存在的文件或目录 移动该目录内的文件、目录位置
执行权限(x)表示允许你在目录中查找,并能用 cd命令将工作目录切换到该目录
UID与GID
用户与用户组的标识号
用户与群组
一个用户可以从属于多个群组 一个群组可以拥有多个用户 root用户是超级管理员
用户与用户组
Linux用户身份与用户组记录的文件 /ect/passwd:所有系统帐号、一般用户以及root的 相关信息 /ect/shadow:密码记录 /ect/group:用户组名
语法: chmod [-R] xyz 文件 其中xyz分别为三组rwx属性组合或其数值和
改变文件权限-数字法
用于改变或设置文件或目录的访问权限。 格式:chmod[选项]num 文件或目录名 说明:只有文件属主或超级用户root才有权用chmod改变 文件或目录的访问权限 选项:
用户和权限(2)
用户组
Linux下,每个文件又属于一个用户组;当创建 一个文件或目录时,系统会赋予它一个用户组 关系,chgrp命令可以改变文件的组关系
访问权限
Linux系统中的每个文件和目录都有访问权限, 用它来确定谁可以通过何种方式对文件和目录 进行访问和操作
访问权限
Linux系统中规定了3种不同类型的用户:
文件扩展名
Linux中的后缀没有意义
.sh、.Z、.tar.gz、.zip、.tgz、.html、.php、.pl
文件名规则
文件名是文件的唯一标识符。Linux中文件名遵循以下约定:
linux 基本操作指令集-概述说明以及解释
linux 基本操作指令集-概述说明以及解释1.引言1.1 概述Linux 是一种自由和开放源代码的操作系统,它是基于类UNIX 操作系统的。
Linux 操作系统主要用于服务器应用领域,但也逐渐在桌面和嵌入式系统中得到广泛应用。
Linux 操作系统具有高度的稳定性、安全性和灵活性,因此备受广大用户的青睐。
在Linux 系统中,我们可以通过命令行终端执行一系列操作指令来完成各种任务。
本文将介绍Linux 中一些基本的操作指令集,包括文件和目录操作、用户和权限管理以及系统管理等内容。
通过学习这些基本操作指令,读者将能够更加熟练地使用Linux 系统,提高工作效率和系统管理能力。
本文将从文件和目录操作开始介绍,然后逐步深入到用户和权限管理以及系统管理等内容,帮助读者全面了解和掌握Linux 操作系统中的基本操作指令,从而更好地利用Linux 系统进行工作和学习。
1.2 文章结构本文将分为三个主要部分,分别介绍了linux基本操作指令集的相关内容。
具体包括:- 文件和目录操作: 介绍如何在linux系统中进行文件和目录的创建、查看、复制、删除等操作。
包括常用的文件操作指令如ls、cp、mv、rm 等。
- 用户和权限管理: 介绍如何管理linux系统中的用户和权限。
涵盖了用户创建、用户组管理、权限设置等内容。
常用的指令包括useradd、passwd、chown、chmod等。
- 系统管理: 介绍如何管理linux系统的状态和信息。
包括查看系统信息、进程管理、服务管理等内容。
常用的指令有ps、top、systemctl等。
通过这三个主要部分的介绍,读者可以对linux系统中常用的操作指令有一个全面的了解,从而更加熟练地操作linux系统。
1.3 目的本文的目的是帮助读者了解和掌握Linux基本操作指令集,包括文件和目录操作、用户和权限管理以及系统管理。
通过学习这些基本操作指令,读者可以提高对Linux操作系统的使用效率,快速地完成常见任务,提高工作效率和生产力。
linux用户管理
Linux用户管理一.权限控制机制Linux系统是个多用户系统,能做到不同的用户能同时访问不同的文件,因此一定要有文件权限控制机制。
Linux系统的权限控制机制和 Windows的权限控制机制有着很大的差别。
Linux的文件或目录被一个用户拥有时,这个用户称为文件的拥有者(或文件主),同时文件还被指定的用户组所拥有,这个用户组称为文件所属组。
一个用户可以是不同组的成员,这可以由管理员控制。
文件的权限由权限标志来决定,权限标志决定了文件的拥有者、文件的所属组、其他用户对文件访问的权限。
用户和权限1.基本概念(1)文件主 Linux为每个文件都分配了一个所有者,称为文件主,并赋予文件主唯一的注册名。
对文件的控制取决于文件主或超级用户(root)。
文件的所属关系是可以改变的,你可以将文件或目录的所有权转让给其他用户,但只有文件主或root才有权改变文件的所属关系。
可以用chown 命令更改某个文件或目录的所有权。
例如,超级用户把自己的一个文件复制给用户user1,为了让用户user1能够访问这个文件,超级用户(root)应该把这个文件的属主设为user1,否则,用户user1无法访问这个文件。
如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的控制权(2)用户组 Linux下,每个文件又属于一个用户组。
当创建一个文件或目录时,系统会赋予它一个用户组关系,chgrp命令可以改变文件的组关系。
(3)访问权限 Linux系统中的每个文件和目录都有访问权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
2.访问权限Linux系统中规定了3种不同类型的用户:文件主(user)、同组用户(group)、可以访问系统的其他用户(others)。
访问权限规定3种访问文件或目录的方式:读(r)、写(w)、可执行或查找(x)(1)文件访问权限读权限(r)表示只允许指定用户读取相应文件的内容,禁止对它做任何的更改操作。
linux系统命令权限之特殊权限
linux系统命令权限之特殊权限⼀.查看系统/⽤户的环境变量命令su - ⽤户名系统想加载⽤户环境变量,进⼊家⽬路,没有/home/⽤户名,导致命令提⽰符错误,如何修复呢?linux中可以查询⽤户相关的,环境变量,命令是 env linux中还有⼀个查询,全系统的环境变量,命令是set PS1变量,就是控制命令提⽰符的[fyy01@yuanlai-0224 ~] set |grep PS1 PS1='[\u@\h \W] '\u 显⽰⽤户名\h 显⽰主机名\W 显⽰⽤户所处⽬录的最后⼀级\w 显⽰⽤户所处的绝对路径,省去你敲pwd\t 以24⼩时制,显⽰时间$ 显⽰⽤户的⾝份提⽰符,⾃动识别root还是普通⽤户最终你可以调整PS1 命令提⽰符如下格式PS1='[\u@\h \w \t]$ '该变量,临时敲打,临时⽣效,重新登录后,系统重新加载⽤户环境变量,该设置丢失如何永久⽣效?把你⾃定义的变量写⼊到,系统全局环境变量配置⽂件中(/etc/profile)那么就有关于⽤户个⼈的配置⽂件,在⽤户家⽬录下~/.bash_profile1.命令提⽰符的变量(属于⽤户系统中⾃定义变量)特别注意:变量名和值之间,不得有空格通常会⽤到‘env’命令查看列如;[root@linux0224 ~]# env |grep rootUSER=rootMAIL=/var/spool/mail/rootPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/cmatrix12/bin:/root/binPWD=/rootHOME=/rootLOGNAME=rootXDG_DATA_DIRS=/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/ [root@linux0224 ~]#2. 当命令提⽰符出现损坏,家⽬录显⽰不正常的时候解决办法⽐如:[root@linux0224 tmp]# su - chaoge01上⼀次登录:四 3⽉ 17 09:51:51 CST 2022pts/0 上su: 警告:⽆法更改到 /home/chaoge01 ⽬录: 没有那个⽂件或⽬录/-bash-4.2 -bash-4.2-bash-4.2 -bash-4.2 echo PS1 \s-\v\$ -bash-4.2修复原理:1.系统读不到⽤户的个⼈配置⽂件,要去找⼀下,⼀般⽤户⽤useradd 创建⽤户时个⼈配置⽂件会在/etc/skel ⽬录下我们要去拷贝所有的⽤户个⼈环境配置⽂件然后粘贴到⽤户⽣成的家⽬录/home/⽤户名1.特殊权限linux系统权限共12位权限,基本权限9位分别是 rwx ,rwx,rwx, 还有三位特除权位suid(setuid)sgid(setgid)sbit(sticky)特除权限对照表2.SUID特殊权限基本原理:1.suid特除权限仅限于可执⾏⽂件,也是个⼆进制命令列如⽐如系统的/usr/bin下提供的命令,如 /usr/bin/ls,如/usr/bin/rm2.suid特殊权限只要⽤户对设有 SUID 的⽂件有执⾏权限,那么当⽤户执⾏此⽂件时,会以⽂件属主的⾝份去执⾏此⽂件3.⼀旦⽂件执⾏结束,⾝份的切换也随之消失图解suid特殊权位总结;SUID位的⽂件被执⾏时,该⽂件将以所有者的⾝份运⾏,也就是说⽆论谁来执⾏这个⽂件,他都有⽂件所有者的特权。
关于Linux下s、t、i、a权限
关于Linux下s、t、i、a权限 ⽂件权限除了r、w、x外还有s、t、i、a权限:⾸先我们利⽤umask查看系统的权限为四位,⾸位就是特殊权限位,SetUID为4,SetGID为2,t为1[root@iz2ze46xi6pjjj69ailg9lz ~]# umask0022⼀、 s权限解读: (SetUID和SetGID)1.SetUID权限解读(针对所属主设置s权限,数字表⽰为4) SetUID:当⼀个可执⾏程序具有SetUID权限,⽤户执⾏这个程序时,将以这个程序所有者的⾝份执⾏。
前提是这个⽂件是可执⾏⽂件,可就是具有x权限(属组必须先设置相应的x权限)。
chmod命令不进⾏必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,⼤写S说明s权限未⽣效) (1)设置权限的⽅法: chmod u+s xxx chmod 4777 xxx 解释:我们利⽤umask知道权限的设置是四位数,后三位是ugo对应的属性,⾸位就是特殊位权限的表⽰,SetUID的权限位是4,因此可以⽤chmod 4777 xxx设置s权限。
例1: linux的passwd命令就具有s权限,因此普通⽤户可以修改⾃⼰的密码:[qlq@iz2ze46xi6pjjj69ailg9lz ~]$ ls -la `which passwd`-rwsr-xr-x. 1 root root 27832 Jun 102014 /usr/bin/passwd 解释:passwd的所属这是root,所属组也是root,具有s权限,因此其他⽤户执⾏passwd的时候是以passwd的所属组root执⾏。
例2:将touch赋予s权限,查看其创建的⽂件的所属组 (1)qlq⽤户touch没有被赋予s权限的时候创建⼀个⽂件(所属主是当前⽤户,所属组是当前⽤户的组:)[qlq@iz2ze46xi6pjjj69ailg9lz test]$ ls[qlq@iz2ze46xi6pjjj69ailg9lz test]$ touch test1file[qlq@iz2ze46xi6pjjj69ailg9lz test]$ lltotal 0-rw-rw-r-- 1qlq qlq0 Mar 3012:54 test1file (2)root⽤户将touch赋予s权限:[root@iz2ze46xi6pjjj69ailg9lz ~]# chmod u+s `which touch` #赋予所属主s权限[root@iz2ze46xi6pjjj69ailg9lz ~]# ll `which touch` #查看touch权限-rwsr-xr-x. 1 root root 62488 Nov 62016 /usr/bin/touch (3)qlq⽤户再次创建⼀个⽂件查看所属主(所属主是root,所属组是当前⽤户所属组)[qlq@iz2ze46xi6pjjj69ailg9lz test]$ touch test1file2[qlq@iz2ze46xi6pjjj69ailg9lz test]$ ll ./test1file2-rw-rw-r-- 1 root qlq 0 Mar 3012:59 ./test1file2(2)收回s权限chmod u-s xxx chmod 0777 xxx例如:收回上⾯的touch的s权限之后再次创建⽂件: (1)root⽤户收回权限[root@iz2ze46xi6pjjj69ailg9lz ~]# chmod 0755 `which touch` #收回权限[root@iz2ze46xi6pjjj69ailg9lz ~]# ll `which touch` #查看权限-rwxr-xr-x. 1 root root 62488 Nov 62016 /usr/bin/touch 第⼀位为特殊权限位。
linux创建用户并赋予用户操作文件夹权限
linux创建⽤户并赋予⽤户操作⽂件夹权限1. 创建⽤户
root⽤户登陆
cd /home 切换到home⽬录
ls查看现有⽤户
useradd xxx 添加⽤户名
passwd xxx 为⽤户添加密码
2.给⽤户赋予操作某⽂件夹的权限
在root⽤户登录的情况,赋予opt⽬录给liuhai这个⽤户权限⽰例代码:
# 将⽬录/opt 及其下⾯的所有⽂件、⼦⽬录的owner⽤户改成 liuhai
chown -R liuhai:liuhai /opt
#给⽬录opt设置权限
chmod 760 /opt
备注:
r表⽰可读--4分,w表⽰可写--2分,x表⽰可执⾏1分
d rwx rwx r-x
⽂件夹所有者群组其他⼈
【⽂件或⽂件夹】【owner权限】【group权限】【others权限】
【⽂件是-,⽂件夹是d】【r/w/x相加】【r/w/x相加】【r/w/x相加】
d rwx rwx rwx =777 表⽰⽬录的操作权限
- rwx rwx rwx =777 表⽰⽂件的操作权限
Linux档案的基本权限就有九个,分别是owner/group/others三种⾝份各有⾃⼰的read/write/execute权限。
Linux终端命令chmod权限管理详解
Linux终端命令chmod权限管理详解Linux系统是一种开放源代码的操作系统,其强大的命令行工具使得用户可以通过终端进行各种操作。
其中,chmod命令是一项非常重要的权限管理命令,用于修改文件或目录的权限。
在本文中,我们将详细介绍chmod命令的使用方法和参数,以及权限管理的一些基本概念。
一、chmod命令简介chmod命令用于修改文件或目录的权限。
权限是Linux系统中非常重要的概念,它决定了不同用户对文件和目录的访问和操作权限。
在Linux系统中,每个文件和目录都有三个不同的权限类别:所有者(Owner)、群组(Group)和其他人(Others)。
每个类别都可以设置读(r)、写(w)、执行(x)的权限,用数字表示,分别对应4、2和1。
通过一些简单的计算,可以把这三个权限相加得到一个三位数的权限值。
二、chmod命令的语法一般来说,chmod命令的语法如下:chmod [选项] 模式文件名其中,选项用于控制chmod命令的行为,模式用于指定权限,文件名则是要修改权限的文件或目录的名称。
三、chmod命令的常用选项在chmod命令中,常用的选项有以下几种:1. -R,递归地修改权限。
即使文件或目录有子目录,也会对其进行相同的权限修改。
2. -v,显示详细的权限修改信息。
在进行权限修改时,显示每个文件或目录的权限修改结果。
3. -c,只显示修改了权限的文件或目录。
如果没有进行权限修改,不显示任何信息。
四、chmod命令的使用示例下面是几个chmod命令的使用示例:1. 将文件file.txt的所有者权限设置为可读、可写、可执行,群组和其他人的权限设置为只读:chmod u=rwx,g=r,o=r file.txt2. 将目录dir的所有者权限设置为可读、可写、可执行,群组和其他人的权限设置为可读和可执行,同时递归地修改dir下的所有文件和目录:chmod -R u=rwx,g=rx,o=rx dir3. 将文件file.txt的所有者权限添加可执行权限:chmod u+x file.txt五、权限管理的基本概念在Linux系统中,每个文件和目录都有一个所有者和一个群组。
Linux命令高级技巧使用chmod命令进行文件与权限的修改与设置的高级方法
Linux命令高级技巧使用chmod命令进行文件与权限的修改与设置的高级方法Linux命令高级技巧:使用chmod命令进行文件与权限的修改与设置的高级方法在Linux操作系统中,权限的管理是非常重要的一方面。
通过正确设置文件的权限,可以控制不同用户对文件的访问、编辑和执行等操作。
其中,chmod命令是用于修改和设置文件权限的关键命令之一。
本文将介绍使用chmod命令进行文件与权限的修改与设置的高级方法。
1. 理解文件和权限在开始学习chmod命令的高级技巧之前,首先需要对文件和权限有一个基本的理解。
在Linux系统中,每个文件都具有三个不同的权限,即读取(r),写入(w)和执行(x)。
这些权限可以针对文件的所有者、所属组以及其他用户进行分别设置。
为了控制文件权限,Linux系统为每个文件分配了一个十进制数值,分别表示所有者、所属组和其他用户的权限。
2. 使用数字权限模式除了可以通过符号权限模式(如+r、-w等)来设置文件权限外,chmod命令还支持使用数字权限模式进行设置。
数字权限模式由三个数字组成,分别表示所有者、所属组和其他用户的权限。
其中,r权限对应数值4,w权限对应数值2,x权限对应数值1。
通过将所需权限的数值相加,即可得到要设置的权限。
例如,如果要设置一个文件的所有者具有读写和执行权限,所属组具有读权限,其他用户没有任何权限,可以使用以下命令进行设置:chmod 750 filename3. 批量修改权限当需要对一系列文件进行相同的权限设置时,手动逐个修改将非常繁琐。
幸运的是,chmod命令还提供了批量修改权限的功能。
例如,如果需要将一个目录下的所有文件设置为只读权限,可以使用以下命令:chmod -R u-w directory这条命令中的"-R"参数表示递归操作,即对目录下的所有文件和子目录进行相同的修改。
"u-w"参数表示去除文件所有者的写权限。
linux创建文件的默认权限
linux创建文件的默认权限
Linux系统中,创建文件时的默认权限是由umask值决定的。
umask是一种权限掩码,它指定了在创建新文件时会屏蔽掉哪些权限。
默认情况下,umask值为022,表示屏蔽掉写权限和执行权限,只保留读权限。
因此,当我们在Linux中创建一个新文件时,它的默认权限是644,即所有者具有读写权限,其他用户只有读权限。
如果是在目录中创建文件,其默认权限为666,即所有用户都具有读写权限。
如果希望更改默认权限,可以通过修改umask值来实现。
例如,将umask值设置为002,表示屏蔽掉执行权限,所有者、所属组和其他用户的权限均为读写权限,这时创建新文件的默认权限为664。
- 1 -。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux下创建用户、配置权限
目的是:在linux系统上建立ftp用户,并限制其通过ftp访问时,只能访问用户主目录;其主目录显示路径也是“/”,看不到上级目录。
例如,我要建立用户usertest,密码为usertest,主目录为
/home/mpsp/ftp/usertest
操作系统:Red Hat Enterprise Linux Server release 5.4 (Tikanga) ftp:vsftp
首先,建立linux系统用户usertest:
1、以mpsp用户登陆系统,建立usertest的主目录
/home/mpsp/ftp/usertest
2、以root用户登录linux系统,建立带有主目录的用户,输入命令: [root@- home]# useradd -d /home/mpsp/ftp/usertest usertest
3、为用户分配密码,输入命令:
[root@- etc]# passwd usertest
Changing password for user usertest.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
此时查看:[root@- etc]# cat /etc/passwd
可看到用户配置是这样的:
usertest:x:504:504::/home/mpsp/ftp/usertest:/bin/bash
系统为用户分配了新的用户id和组id:504、504。
由于该用户的所有文件需对mpsp用户开放访问权限,我们可以将usertest分配到mpsp 组(组id500)。
4、为用户分配新的用户组,输入命令:
[root@- home]# usermod -g mpsp usertest
此时查看:[root@- etc]# cat /etc/passwd
可看到用户配置是这样的:
usertest:x:504:500::/home/mpsp/ftp/usertest:/bin/bash
然后,配置用户ftp权限及访问路径限制:
此时用usertest登陆系统ftp,是否可以访问?如果无法访问,说明我们的ftp做了限制。
打开/etc/vsftpd/vsftpd.conf,查找
userlist_enable、userlist_deny、userlist_file。
如果
userlist_deny=NO:只允许userlist_file文件中的用户可访问ftp;如果userlist_deny=YES:userlist_file文件中列举的用户不能通过ftp访问系统。
userlist_enable是该功能的开关。
我们的系统配置如下:
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
所以需要把用户加入到/etc/vsftpd/user_list文件中,每个用户一行。
由于该主目录是mpsp用户建的,usertest是mpsp组的成员,所以usertest默认具有增删查改权限;而usertest作为mpsp组成员,对/home/mpsp下的所有路径具有访问权限(根据各目录的权限设置,默认是这样),登录ftp后会发现,usertest用户可以访问其他目录,并且具有mpsp组的权限,这样做是不允许的,我们需要将usertest 用户的访问范围控制在其主目录下。
方法如下:
1. cd /etc/vsftpd 进入ftp配置文件目录
2. vi vsftpd.conf编辑此文件,找到#chroot_list_enable=YES,删除前面的那个#号,表示开启此限制功能
找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list
3. 编辑chroot_list文件,加入你要限制的用户名,一行一个用户.
如果更新了vsftpd.conf,一定要重启ftp,命令如下:
[root@linuxsir001 root]# /etc/init.d/vsftpd restart
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]
再用usertest通过ftp访问系统,用户成功登陆,并且成功的被限制在自己的主目录下,无法访问其他目录。
大功告成。