Linux用户(组)管理与权限设定,老司机开车深入浅出你懂得!!
2018-02-01 13:00
609 查看
写在前面
篇一 用户组篇
1 超级用户root 与sudo
2 组和用户的创建与删除 groupuser
3 查看组用户的配置信息 id whowhoami w
4 用户的 附加组 和 主组 以及修改 usermod
5 切换用户 su
篇二 文件与目录权限篇
0 预备知识
1 修改文件目录的拥有者和所属组 chown chgrp
2 修改文件目录的权限 chmod
3 权限控制 ACL
command –help #显示 command 命令的帮助信息
man command #查阅命令使用手册
百度自行下载chm命令大全文档
在线的可靠笔记,如RUNOOB.COM 、Linux命令大全
linux 的目录:
1.1 超级用户root 与
Linux系统中的root账号通常用于系统的维护和管理,对系统所有资源具有访问权限。因为权限过大,甚至可以删除系统文件致使系统瘫痪,所以不推荐直接使用root ,而是使用
标准用户有时候必须得到类似root账号的权限才能做一些事情,所以在Linux系统中使用
sudo 命令 # 用预设的root身份来执行命令
标准用户使用
注意 : 本文中大部分命令,都需要使用
1.2 组和用户的创建与删除
sudo groupadd [选项] 组名 #添加新的组
sudo groupdel [选项] 组名 #删除一个组
sudo useradd [选项] 用户名 #创建新用户
sudo passwd 用户名 # 给用户设置密码,如果是给当前用户设置密码,则不用写用户名
家目录的权限默认为: 用户(rwx),组和其他(r-x)
gpasswd [选项] 组 # 组中添加或删除用户
选项:
sudo userdel [选项] 用户名 #删除一个用户
提示: 如果添加用户时,没有加
1.3 查看组、用户的配置信息
添加的组会保存到
创建的用户保存在
老司机领路,用户配置文件
通过如下的命令可以列出有关信息,而不用进入配置文件中查找:
id [选项]….[用户].. #查看用户的UID(用户id) 和 GID(组id) 和附件组等, 用户不写,默认当前用户
who [选项]… #查看目前所有登录的用户和用户IP地址和时间,未登录用户不能显示
whoami [选项] ….. #查看我是哪个用户
w #查看系统负载与用户
提示: tty1~tty6:本地控制台终端;tty7表示图形终端;pts/0~255表示虚拟终端
1.4 用户的 附加组 和 主组 以及修改
附件组和主组: 主组,也叫初始组,是用户一登录就立刻拥有的组,通常在新建用户时用
有些用户(如新建用户)是没有附加组的,所以要使用
usermod -g 组名 用户名 # 修改用户的主组
usermod -G 附件组 用户名 #修改用户的附件组
扩展 :
usermod -s /bin/bash 用户名 # 修改用户登录的Shell
1.5 切换用户
su - [用户名] # 切换用户,
exit # 退出当前登录用户到上一个用户
权限对文件和目录的概念如下 :
Linux的目录和文件对用户、组和其他人的权限的查看用命令:
![](/home/zyq/Pictures/到 选区_001.png 的链接)
硬链接数 : 有多少种方式可以访问到目录或者文件。 例如,
一般 文件的硬链接数为 1 ,目录的硬链接数为
2.1 修改文件|目录的拥有者和所属组
chown [选项] 用户名 文件名|目录 #将文件或目录的拥有者(用户)修改为指定的用户名
chgrp [选项] 组名 文件名|目录 #将文件或目录的所属组修改为指定的组
选项:
2.2 修改文件|目录的权限
三种对象(拥有者、所属组和其他人)对同一个文件和目录都有属于自己的权限。
修改权限的方式有两种:
chmod [选项] .. {对象-操作-权限} 文件名|目录
选项:
对象:
操作:
权限 :
例:
chmod [选项] 八进制权限 文件名| 目录
选项:
八进制权限:
是用三个数字分别是拥有者、组、其他人的权限。
常用权限:
例:
2.3 权限控制
setfacl [选项] 文件名 #对文件为设置对象设置ACl权限
选项:
被设置对象:
提示: 添加的ACL权限和mask权限相与得到的权限才是真正能执行的权限,默认情况下mask的权限为
某一目录被递归设置权限后,该目录下的所有子目录与子文件都被设置了权限,假如此时在该目录下又新建了新的目录或文件,则该文件或目录是没有权限的,所以,需要设置默认ACL权限 (即设置为默认ACL权限的目录,针对该目录下新添加的子文件或目录都默认继承该目录的权限,以前已经存在的权限并不会变,但目录变了),方法是在被设置对象前加
getfacle 文件名 # 查看ACL权限
提示: 添加了ACL权限的目录或者文件,用
ACL演练:
篇一 用户组篇
1 超级用户root 与sudo
2 组和用户的创建与删除 groupuser
3 查看组用户的配置信息 id whowhoami w
4 用户的 附加组 和 主组 以及修改 usermod
5 切换用户 su
篇二 文件与目录权限篇
0 预备知识
1 修改文件目录的拥有者和所属组 chown chgrp
2 修改文件目录的权限 chmod
3 权限控制 ACL
写在前面
linux命令众多,记住几个常用的 ,剩下的通过以下方式获取:Tab自动补全 ,两次
Tab列出有歧义的命令
command –help #显示 command 命令的帮助信息
man command #查阅命令使用手册
百度自行下载chm命令大全文档
在线的可靠笔记,如RUNOOB.COM 、Linux命令大全
linux 的目录:
~表示home目录
.表示当前目录
/表示根目录
篇一 : 用户(组)篇
1.1 超级用户root 与sudo
Linux系统中的root账号通常用于系统的维护和管理,对系统所有资源具有访问权限。因为权限过大,甚至可以删除系统文件致使系统瘫痪,所以不推荐直接使用root ,而是使用home目录下的个人账号(称为标准用户)。
标准用户有时候必须得到类似root账号的权限才能做一些事情,所以在Linux系统中使用
sudo可以为了标准用户预设root身份。
sudo 命令 # 用预设的root身份来执行命令
标准用户使用
sudo时,必须先输入密码,之后5分钟内有效,超过5分钟需要再次输入密码
注意 : 本文中大部分命令,都需要使用
sudo预设的root权限,如组管理、用户管理、更改某些文件目录的权限等
1.2 组和用户的创建与删除 group
、user
sudo groupadd [选项] 组名 #添加新的组sudo groupdel [选项] 组名 #删除一个组
sudo useradd [选项] 用户名 #创建新用户
-m: 自动建立用户家目录,创建用户时最好加这个 。
-g 组名: 指定用户所在的组,否则会建立一个与用户同名的组 , 如:
sudo useradd -m -g 组名 用户名
sudo passwd 用户名 # 给用户设置密码,如果是给当前用户设置密码,则不用写用户名
家目录的权限默认为: 用户(rwx),组和其他(r-x)
gpasswd [选项] 组 # 组中添加或删除用户
选项:
-a 用户名: 将用户添加到组中
-d 用户名: 将用户从组中删除
sudo userdel [选项] 用户名 #删除一个用户
-r: 把用户家目录一并删除
提示: 如果添加用户时,没有加
-m创建家目录,最简单的方法是删除该用户,重新创建。
1.3 查看组、用户的配置信息 id
、who
、whoami
、 w
添加的组会保存到/etc/group文件中,可以通过
cat -n /etc/group | grep 组名单独查看信息。
创建的用户保存在
/etc/passwd文件中,可以通过
cat -n /etc/passwd | grep 用户名单独查看信息。
老司机领路,用户配置文件
$ cat -n /etc/group | grep kmust # 查看kmust组的信息 69 kmust:x:1001: # 组id为1001,69为行号 $ cat -n /etc/passwd | grep zyq # 查看 zyq 用户的信息 40 zyq:x:1000:1000:zyq,,,:/home/zyq:/bin/bash # 40:行号 #zyq:用户名 #x : 密码标志,真正的密码是放在shadow(影子文件)中,并且加密 #1000:1000: 分别是UID和GID。UID(用户ID): 0(超级用户),1~499(系统用户),500~65535(普通用户)。 要想修改一个用户为超级用户,只需将UID改为0即可 #zyq,,, : 用户的说明信息,当初创建用户时随便写的 #/home/zyq : 家目录 #/bin/bash : 登录使用的shell(ubuntu是dash软件)
通过如下的命令可以列出有关信息,而不用进入配置文件中查找:
id [选项]….[用户].. #查看用户的UID(用户id) 和 GID(组id) 和附件组等, 用户不写,默认当前用户
who [选项]… #查看目前所有登录的用户和用户IP地址和时间,未登录用户不能显示
whoami [选项] ….. #查看我是哪个用户
w #查看系统负载与用户
提示: tty1~tty6:本地控制台终端;tty7表示图形终端;pts/0~255表示虚拟终端
1.4 用户的 附加组 和 主组 以及修改 usermod
附件组和主组: 主组,也叫初始组,是用户一登录就立刻拥有的组,通常在新建用户时用-g指定,在
/etc/passwd文件用户信息中的GID就是主组。 用户的附加组是用于指定用户的附加权限,查看方法如下 : (主组只能有一个,附件组可以有多个)
$ cat -n /etc/group | grep zyq # 在组文件中搜索用户(zyq)关键词,从中可以查看zyq用户的附加组 行号 组名 id 5 adm:x:4:syslog,zyq # 用户zyq在组adm(附件组)中,则该用户可以被赋予使用管理员的权利 18 cdrom:x:24:zyq # 用户zyq在组cdrom(附件组)中,则该用户可以被赋予使用光驱 21 sudo:x:27:zyq # 用户zyq在组sudo(附件组)中,则该用户可以被赋予使用sudo 23 dip:x:30:zyq # 用户zyq在组dip(附件组)中 35 plugdev:x:46:zyq # 用户zyq在组plugdev(附件组)中 52 lpadmin:x:113:zyq # 用户zyq在组lpadmin(附件组)中 67 zyq:x:1000: #zyq组的id 为1000 68 sambashare:x:128:zyq # 用户zyq在组sambashare(附件组)中 $ id zyq #查看zyq用户的信息,在用户信息中也可以看到该用户的一些附加组 uid=1000(zyq) gid=1000(zyq) # 用户的UID和GID(主组的id) 组=1000(zyq) # 主组 4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare) #附件组
有些用户(如新建用户)是没有附加组的,所以要使用
usermod命令来添加、管理附加组:
usermod -g 组名 用户名 # 修改用户的主组
usermod -G 附件组 用户名 #修改用户的附件组
扩展 :
usermode还可以修改用户登录的Shell。 新添加的用户一般没有指定Shell,所以在远程登陆端会出现文件和目录并没有颜色区分、用户显示不出来,删除键失灵等等问题。 所以可用如下命令,将windows远程登录所用的Shell软件改成bash:(当然,Shell也并非只有bash,还有nologin,一般为系统用户所有)
usermod -s /bin/bash 用户名 # 修改用户登录的Shell
1.5 切换用户 su
su - [用户名] # 切换用户,-表示同时切换到家目录,用户名不写默认切换到root用户
exit # 退出当前登录用户到上一个用户
篇二 : 文件与目录权限篇
2.0 预备知识
用户、组、权限[/b] :Linux是多用户多任务系统,linux中的目录和文件对不同的用户设有不同的权限,具有相同权限的多个用户为了方便可以放在一个新建的组中,对组设置权限即可。文件类型 | 权限 | 所属 |
---|---|---|
-: 二进制文件 | r4 读 | u: 所有者,也叫(用户或拥有者) |
d: 目录 | w2 写 | g: 所属组 |
l: 软连接 | x1 执行 | o: 其他人 ; a: 所有人 |
权限 | for 文件 | for 目录 |
---|---|---|
r | 可以查看文件内容 | 缺少该权限,只能进入该目录,但是不能查看该目录下的内容 |
w | 可以修改文件内容 | 缺少该权限,可以进入目录,查看修改目录下的内容,但不可以在目录下创建删除其他文件或者目录 |
x | 可以执行文件 | 缺少该权限,不能进入该目录,也不能查看该目录下的内容 |
ls -l:
![](/home/zyq/Pictures/到 选区_001.png 的链接)
硬链接数 : 有多少种方式可以访问到目录或者文件。 例如,
目录a下有
目录b和
目录c。则有如下4种方式可以访问
目录a:
cd xx/xx/a#在任意位置用绝对路径访问
cd .#在a目录下访问当前目录
cd ..# 分别在b目录和c目录下访问上一级目录
一般 文件的硬链接数为 1 ,目录的硬链接数为
2+子目录数
2.1 修改文件|目录的拥有者和所属组 chown
chgrp
chown [选项] 用户名 文件名|目录 #将文件或目录的拥有者(用户)修改为指定的用户名chgrp [选项] 组名 文件名|目录 #将文件或目录的所属组修改为指定的组
选项:
-R表示当为目录的时候递归修改。即把该目录下的所有文件和目录一并修改
2.2 修改文件|目录的权限 chmod
三种对象(拥有者、所属组和其他人)对同一个文件和目录都有属于自己的权限。修改权限的方式有两种:
chmod [选项] .. {对象-操作-权限} 文件名|目录
选项:
-R表示当为目录的时候递归修改。即把该目录下的所有文件和目录一并修改
对象:
a表示所有人;
u表示拥有者;
g表示所属组 ;
o表示其他人
操作:
+表示增加权限 ;
-表示减少权限
权限 :
r读;
w写 ;
x执行
例:
sudo chmod a-w 目录a #对所有对象减少目录a的写权限
chmod [选项] 八进制权限 文件名| 目录
选项:
-R表示当为目录的时候递归修改。即把该目录下的所有文件和目录一并修改
八进制权限:
是用三个数字分别是拥有者、组、其他人的权限。
常用权限:
777表示
u=rwx,g=rwx,o=rwx
755表示
u=rwx,g=rx,o=rx
644表示
u=rw,g=r,o=r
例:
sudo chmod -R 755 目录a #对目录a的权限设置是拥有者rwx,组rx,其他人rx。
2.3 权限控制 ACL
ACL是访问控制列表,是一种权限分配之外的普遍范式。为了应对复杂多变的权限设置。
ACL权限是否被支持与系统根目录所在分区有关。(可用
df -h查询根目录所在分区),通过
dumpe2fs -h /dev/sda3 #查询指定分区详细文件系统信息查看字段
Default mount options:,出现
acl字样说明被支持。在当前绝大多数为文件系统是默认支持ACL权限的,并且在被支持的前提下,ACL是默认已经开启的,如果没有开启,开启方法请自行搜索。
setfacl [选项] 文件名 #对文件为设置对象设置ACl权限
选项:
-m 被设置对象: 设置ACL权限
-x {u:user|g:group}: 删除指定的ACL权限
-b: 删除所有ACL权限,后不用加被设置对象。 会把用户和组权限都删除
-R: 针对目录递归设置ACL权限, 如
setfacl -m u:xiaoting:rx -R ./c
被设置对象:
u:用户名:{r|x|w}: 指定用户设置权限,如
u:zhagnsan:rx。
g:组名:{r|w|x}: 指定组设置权限
m:{r|w|x}: 指定mask权限(最大权限)
提示: 添加的ACL权限和mask权限相与得到的权限才是真正能执行的权限,默认情况下mask的权限为
rwx,可以通过修改mask的权限来控制添加了ACL权限之后的真正最大有效权限 。
某一目录被递归设置权限后,该目录下的所有子目录与子文件都被设置了权限,假如此时在该目录下又新建了新的目录或文件,则该文件或目录是没有权限的,所以,需要设置默认ACL权限 (即设置为默认ACL权限的目录,针对该目录下新添加的子文件或目录都默认继承该目录的权限,以前已经存在的权限并不会变,但目录变了),方法是在被设置对象前加
d:。
getfacle 文件名 # 查看ACL权限
提示: 添加了ACL权限的目录或者文件,用
ls -l命令后,文件或目录末尾会显示
+图标。
ACL演练:
# 对当前目录下的c目录,递归添加ACL权限:用户xiaoting具有rw权限。但是以后目录c下新建的文件或目录并没有该权限。 $setfacl -m u:xiaoting:rw -R c # 对当前目录下的c目录,递归的添加ACL权限:用户xiaoting具有rx权限。以后目录c下新建的文件或目录自动对该用户添加该权限 。而目录c下以前就存在的文件的权限依然没有变,但是以前就存在的目录的权限却变化了。原因是-R选项本身就是递归的改变。 $ setfacl -m d:u:xiaoting:rx -R c #对当前目录下的c目录,递归的取消所有ACL权限,包含目录c下的所有子文件和子目录 $setfacl -b -R c
相关文章推荐
- 浅谈Linux用户权限管理之三(文件与权限的设定)
- 浅谈Linux用户权限管理之三(文件与权限的设定)
- 浅谈Linux用户权限管理之三(文件与权限的设定)
- 浅谈Linux用户权限管理之三(文件与权限的设定)
- 浅谈Linux用户权限管理之三(文件与权限的设定)
- 浅谈Linux用户权限管理之三(文件与权限的设定)
- linux用户权限管理
- 学习Linux 《鸟哥的Linux私房菜 基础学习篇(第三版)》--第14章 Linux账号管理和ACL权限设定1。 笔记
- linux用户管理及文件权限
- 关于linux用户权限的一些管理
- Linux 用户管理 与 文件权限
- Linux用户管理与权限
- 实验楼 Linux 基础入门 用户及文件权限管理 作业笔记
- Linux文件权限及用户管理
- Linux用户管理与权限
- linux用户权限管理
- Linux的用户与权限管理
- Linux用户管理 文件权限
- linux(centos)用户与权限管理
- Linux学习笔记(14)——Linux 账号管理与 ACL 权限设定