Linux 用户权限

最后更新于:2022-04-01 22:02:57

[TOC] 添加用户:`useradd -m 用户名 然后设置密码 passwd 用户名` 删除用户:`userdel -r 用户名` 1. 在root权限下,`useradd`只是创建了一个用户名,如 `useradd +用户名 `,它并没有在`/home`目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的,为了避免这样的情况出现,可以用 `useradd -m +用户名`的方式创建,它会在`/home`目录下创建同名文件夹,然后利用` passwd + 用户名`为指定的用户名设置密码。 2. 可以直接利用`adduser`创建新用户`adduser +用户名`这样在`/home`目录下会自动创建同名文件夹 3. 删除用户,只需使用一个简单的命令`userdel 用户名`即可。不过最好将它留在系统上的文件也删除掉,你可以使用`userdel -r 用户名`来实现这一目的。 Linux系统如何添加用户这个问题到网上问一下或者搜一下,很多人可能会说`useradd`,实际这是不对的。`useradd`只会添加一个用户,没有创建它的主目录,除了添加一个新用户之外什么都没有。这个用户甚至不能登录,因为没有密码。`adduser`,这个命令实际是一个perl脚本,是`useradd`等类似底层命令的更友好的前端,它会用交互性的方式建立新用户,使用它可以指定新用户的家目录,登录密码,是否加密主目录等等,它会: 1.建立一个新目录作为家目录 2.建立同名新组 3.把用户的主要组设为该组(除非命令选项覆盖以上默认动作,比如`–disall-homdirecry`之类) 4.从`/etc/SKEL`目录下拷贝文件到家目录,完成初始化 5.建立新用户的密码 6.如果其存在的话,还会执行一个脚本。 > [创建用户useradd和删除用户userdel](http://blog.csdn.net/beitiandijun/article/details/41678251) ## Centos 增加管理员账户或超级用户的几种方法 Centos 增加管理员账户或超级用户的几种方法: 测试环境:CentOS 6.0 1、添加普通用户 ``` [root@server ~]# useradd -m chenjiafa //添加一个名为chenjiafa的用户 [root@server ~]# passwd chenjiafa //修改密码 Changing password for user chenjiafa. New UNIX password: //在这里输入新密码 Retype new UNIX password: //再次输入新密码 passwd: all authentication tokens updated successfully ``` 2、赋予root权限 **方法一:** 修改/etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉 ``` ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL` (注释(#)去掉) ``` 然后修改用户,使其属于root组(wheel),命令如下: `#usermod -g root chenjiafa` 修改完毕,现在可以用shenlanit帐号登录,然后用命令su – ,即可获得root权限进行操作。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/cf625022261ea1a733e8490b11277b3e_439x98.png) **方法二:** 修改`/etc/sudoers` 文件,找到下面一行,在root下面添加一行,如下所示: ~~~ ## Allow root to run any commands anywhere root ALL=(ALL) ALL chenjiafa ALL=(ALL) ALL ~~~ 修改完毕,现在可以用chenjiafa帐号登录,然后用命令`su –`,即可获得root权限进行操作。 **方法三:** 修改`/etc/passwd` 文件,找到如下行,把用户ID修改为0 ,如下所示: `chenjiafa:x:500:500::/home/chenjiafa:/bin/bash` 修改后如下 `chenjiafa:x:0:500::/home/chenjiafa:/bin/bash` 保存,用chenjiafa账户登录后,直接获取的就是root帐号的权限。 !!!其实你再建一个ID是0,也就是和root权限一样的用户,你修改的时候也相应的修改了root。因为电脑不会区别admin和root,只知道0。 ## 在LINUX下安装的程序,root运行提示权限不够 以root用户运行,linux提示权限不够。root用户难道不是最高的吗?如何解决这个问题呢? 其实这里面是有原因的,首先我们要这样做: 用#`ls -l filename`命令看看,如果显示类似如: `-rw-rw-rw- 1 root root .... ` 则表示任何用户都没有可执行权限(即使是root用户). 解决方法: #`chmod a+x filename` 呵呵,然后就可以了。 PS:用字符串来设定文件访问权限。其中读用 r 表示,写用 w 表示,执行用 x 表示;所有者用 u 表示,组用户用 g 表示,其他用户用 o 表示,所有用户用 a 表示。例子: `chmod a+r,u+w,u+x,g+w a.txt` ## 777,644,755等用户权限说明 ![document/2015-08-23/55d9b2e625d50](http://box.kancloud.cn/document_2015-08-23_55d9b2e625d50.png) 读取写入执行权限 444 r–r–r–600 rw——-644 rw-r–r–666 rw-rw-rw-700 rwx——744 rwxr–r–755 rwxr-xr-x777 rwxrwxrwx 三位数字代表9位的权限,分成3部分,第一部分3位表示所有者的权限,第二部分3位表示同组用户权限,第三部分3位表示其他用户权限,r代表读取权限等于4,w代表写入权限等于2,x代表执行权限等于1。 比如777,第一位7等于4+2+1,所以就是rwx,所有者有读取、写入、执行的权限,第二位7也是4+2+1,rwx,同组用户具有读取、写入、执行权限,第三位7,代表其他用户有读取、写入、执行的权限。 比如744,第一位7等于4+2+1,rwx,所有者具有读取、写入、执行权限,第二位4等于4+0+0,r–,同组用户只有读取权限、第三位4,也是r–,其他用户只有读取权限。 ## Linux RWX权限 权限 `rwx r-x r-x` 解读 rwx :文件所有者(owner)可读,可写,可执行; r-x:同组用户(group)可读,不可写,可执行; r-x:其他用户(others)可读,不可写,可执行。 权限 `rwx r-x r-x` 是Linux系统常见的代码,权限 `rwx r-x r-x` 又可写为755。 第一个是文件所有者(owner)的权限,第二个是同组用户(group)的权限,第三个是其他用户(others)的权限。 权限分为三个,r是读,为4;w是写,为2;x是执行,为1。 更改权限用 `chmod` 命令,格式是 `chmod 用户名 文件或目录` ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/27/1c/271cac585dc8f445f0b863a0be58615d_600x652.png) 每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。 利用ls -l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为 准。第一个字段由10个字符组成,如下: -rwxr-xr-x 第一位表示文件类型,-表示文件,d表示目录 2-4位表示文件所有者的权限,u权限 5-7位表示文件所有者所属组成员的权限,g权限 8-10位表示所有者所属组之外 ### Linux RWX权限的解读: Linux的权限不是很细致,只有RWX三种 * r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。 * w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。 * x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。 * 目录的只读访问不允许使用cd进入目录,必须要有执行的权限才能进入。 * 只有执行权限只能进入目录,不能看到目录下的内容,要想看到目录下的文件名和目录名,需要可读权限。 * 一个文件能不能被删除,主要看该文件所在的目录对用户是否具有写权限,如果目录对用户没有写权限,则该目录下的所有文件都不能被删除,文件所有者除外。 * 目录的w位不设置,即使你拥有目录中某文件的w权限也不能写该文件。 > 更多参考:[Linux超级用户权限控制](http://blog.csdn.net/wwj_748/article/details/8708622) >
';