LINUX目录结构,用户、用户组管理及文件权限、文件属主与属组管理

1、描述linux目录结构以及目录结构命名规定
目录都是按照一定的类别有规律的命名。
使用tree -L 1/ 查看根目录

[root@localhost ~]#tree -L 1 /
/	根目录
├── bin -> usr/bin	基本命令的目录(二进制可执行文件)
├── boot	系统启动引导文件
├── data	这是自定义的目录命
├── dev		磁盘/光驱挂载目录
├── etc		系统配置文件目录
├── home		普通用户的加目录
├── lib -> usr/lib		library库目录
├── lib64 -> usr/lib64		64位library库
├── media		自动挂载的目录
├── opt		其他软件安装目录
├── proc		虚拟目录
├── root		超级管理员root的家目录
├── run			
├── sbin -> usr/sbin		超级管理员才可用的程序目录
├── srv		
├── sys		虚拟系统文件目录
├── tmp		临时文件目录
├── usr		用户程序目录
└── var		系统运行中经常变动的文件目录例如log

2、显示/etc目录下,所有以.d结尾的文件或目录

ls -d /etc/*.d

3、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录

ls -d /etc/[mnrp]*.conf

4、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限

mkdir -p /app/rootdir
cp -rp /root/* /app/rootdir/

5、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z

mkdir -p /tmp/a{1/{a,b},2}
mkdir -p /tmp/{x,q}/{y,z}

6、总结用户、用户组管理命令并演示命令以及常见用法

用户管理

1.添加用户

useradd用来添加新的用户,语法是:
useradd 选项 用户名

useradd选项:
-c 添加描述
-d 指定用户家目录
-f 设定密码多少天后过期,0则创建后马上过期
-g 指定用户所属组
-G 指定用户附加组
-M 不创建家目录
-r 创建系统账户
-s 指定用户shell类型
-u 指定用户的UID,如果使用-o可忽略UID唯一性
-p 指定用户口令

2.修改用户信息

usermod用来修改已有用户的信息,语法是:
usermod 选项 用户名

usermod选项:
-c、-d、-g、-G、-s、-u、-p选项的意义与useradd中的参数一样

3.删除用户

userdel用来删除用户,语法是:
userdel 选项 用户名

userdel 选项:
-r 同时删除家目录,不带此选项删除用户时不会删除用户家目录
-f 强制删除用户,即使正在登陆使用中的用户也可删除
-f删除的用户不会断开用户连接,但用户本身已经被删除,所以即使用户不存在也会仍会显示登陆状态并且是活跃用户,登出后将无法再登陆

4.用户口令管理

passwd可以用来修改口令信息,语法是:
passwd 选项 用户名

passwd 选项:
-l 锁定口令,这会禁用账号
-u 解锁口令
-d 删除口令
-f 强制用户下次登陆必须修改口令
不加参数即修改当前登陆用户的口令
普通用户只可修改自己的口令

用户有关的系统文件

用户的基本信息都记录在/etc/passwd文件中
文件格式例如:

root:x:0:0:root:/root:/bin/bash
用户名:密码:用户ID:主组ID:用户描述:家目录:默认shell类型

用户名由大小写字母和/或数字组成。登录名中不能有冒号‘’:‘’,因为冒号在这里是分隔符

用户密码是由系统加密后单独放出来的,在/etc/shadow中
shadow和passwd中的纪录一一对应,它由pwconv命令根据passwd中的数据产生。
shadow的字段是:

用户名:加密口令:最后一次修改时间:最小时间:最大时间:警告时间:超时期限:有效期
用户名:跟passwd中一致的用户名
加密口令:由系统加密后的口令字符串,如果没有则是无口令。即登录时不需要口令
最后一次修改时间:从1970年开始到用户最后一次修改口令的天数
最小时间:两次口令修改之间需要的最小天数
最大时间:口令有效的最大天数
警告时间:从密码正式失效前的第几天开始警告
有效期:指定用户有效天数,到期后用户名将失效,无法用来登录
批量添加用户

先编辑一个文本用户文件,格式按照passwd中的格式,要注意每个用户的用户名、UID、家目录都不可以相同,其中密码栏可以留做空白或输入x号。例如创建一个users文本文件,内容如下:

test1::1001:1:test:/home/test1:/bin/bash
test2::1002:1:test:/home/test2:/bin/bash
test3::1003:1:test:/home/test3:/bin/bash
test4::1004:1:test:/home/test4:/bin/bash
test5::1005:1:test:/home/test5:/bin/bash
test6::1006:1:test:/home/test6:/bin/bash

然后以超级管理员的身份执行

newusers < users

然后执行getent passwd查看用户是否已经创建
接下来准备一个用户名对照密码的文本文件,例如pwd内容如下:

test1:test1
test2:test2
test3:test3
test4:test4
test5:test5
test6:test6

执行pwunconv取消shadow功能。
然后执行

chpasswd < pwd

最后执行pwconv开启shadow功能,批量用户添加完成

用户组管理

1.添加用户组

groupadd可用来增加新用户组,语法是:
groupadd 选项 用户组名

groupadd选项:
-g 指定用户组的GID号,加上-o可忽略GID唯一性

2.删除用户组

groupdel可用来删除用户组,语法是:
groupdel 用户组名

3.修改用户组信息

groupmod可用来修改用户组信息,语法是:
groupmod 用户组名

groupmod 选项:
-g 指定GID,同样可以用-o忽略唯一性
-n 将用户组名字改成新的名字

用户组有关的系统文件

用户组的信息都存放在/etc/group文件中,跟passwd文件类似,
文件字段分别是:

组名:口令:组ID:组内用户列表
组名:用户组的名字
口令:用户组的口令,普通用户要把自己添加到某个附加组里的时候需要验证口令
组ID:组的GID
组内用户列表:属于这个组的所有用户,用逗号分隔,这个组可能是这些用户的主组或者附加组。

7、文件权限,属主属组管理命令有哪些,并演示命令以及用法

文件权限

文件权限分别为读、写、执行
权限例如:

-rw-r--r--. 1 root  root  235 May  7 12:42 test
drwxr-xr-x. 4 root  root   24 May  8 17:26 a1

第一位d表示是目录,-是文件,权限为后面6位- - - - - -
分别是

- - -- - -- - -
rwxrwxrwx
属主属组其他

chmod命令用来改变权限,语法如下:
chmod 选项 文件名

chmod 选项:
u 表示文件所有者
g 文件所属组
o 其他人
a 所有人
+ 增加权限
- 减少权限
= 指定权限
-f 不显示错误信息
-R 递归遍历子目录中的文件和子目录并应用修改。
-v 不论是否成功都输出信息

实例
将a1增加所有人可以读
chmod ugo+r a1
也可以写为
chmod a+r a1

将a1添加所有者执行权限
chmod u+x a1
若是组或者其他则把 u换成g或者o

将a2目录下的文件增加所有者读写权限
chmod -R u+rw a2

直接指定权限则用等号,设置所有者权限为读、写、执行则:
chmod u=rwx a1

rwx也可以用数字来表示例如:

权限二进制十进制
- - -0000
r - -1004
- w -0102
- - x0011

读是4,写是2,执行权限是1,加起来最大权限是7,
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。

实例
 将a1设置所有人可以读
 chmod 444 a1

将a1设置所有者只有执行权限,其他只读
chmod 144 a1

将a1设置所有人有读写权限
chmod 666 a1

将a2目录下的文件增加所有者读、写、执行权限,其他无
chmod -R 700 a2

文件所属者和所属组

1.修改所有者

chown可以用来修改文件所有者,语法如下:
chown 选项 所有者 文件名

chown选项:
-v 显示修改日志
-R 递归修改

实例
递归修改a2及子目录和文件所有者为test
chown -R test a2

修改a1的所有者为text
chown test a1

修改a1的所有者为test,所属组为tta
chown test:tta a1

修改所有者时如果只加冒号不加组名,默认改为所有者的主组
chown test: a1

只修改a1所属组为tta
chown :tta a1

chgrp可用来改文件所属组(只能改组)语法为:
chgrp 选项 组名 文件名

chgrp选项:
-v 显示修改日志
-R 递归修改

实例
修改a1的所属组为tta
chgrp tta a1

递归修改a2及子目录下的文件和目录所属组为tta
chgrp -R tta a2

8、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为 “Gentoo Distribution”

useradd -G bin,root -s /bin/csh -c "Gentoo Distribution"
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值