linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限

时间:2020-12-30 15:01:44

命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用  -h   格式   命令 -h(查看一个命令的简要帮助) 例:useradd -h

用户:

在useradd的命令的可选项帮助中,最重要的三个:

-g:指定用户的组 默认组是在创建用户的时候,系统自动创建一个和用 户名一样的组。

-G:指定用户的附加组

-u:指定用户的UID,UID是唯一的,默认系统自动分配;在Linux中0~499都是系统用户的UID,0是root用户,用户自定义用户UID从500开始。

创建一个用户 useradd 用户名    例 :useradd  tom


查看一个用户 命令 id 用户名 例 :id tom

显示:uid=502(tom) gid=502(tom) groups=502(tom)  uid:用户ID,gid用户组ID,groups:所属的附加组。

关注UID可使用命令  cat /etc/passwd  查看,会显示出从所有的用户的UID及用户信息

命令:useradd -u uid 用户名  创建一个用户,并手动指定UID例:useradd -u 507 jack

显示:uid=507(jack) gid=507(jack) groups=507(jack)


修改用户信息:

修改用户UID :usermod -u 508 jack

修改用户组: usermod -g tom jack

显示:uid=508(jack) gid=502(tom) groups=502(tom)  用户jack的主用户组就变成了tom


用户创建完以后会有哪些东西:

创建一个用户以后,系统会在/home下自动创建一个以用户名命名的目录

命令 ls -a 可以查看目录 下面的一些隐藏的文件,文件名前带点的都是隐藏文件,如下:

[root@redhat1 tom]# ls -a
.   .bash_logout   .bashrc  .kshrc   .mozilla
..  .bash_profile  .gnome2  .mkshrc  .zshrc


同时会在/etc/passwd文件中创建一些配置信息:

用命令  cat /etc/passwd查看

squid:x:23:23::/var/spool/squid:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
oracle:x:501:501::/home/oracle:/bin/bash
tom:x:502:502::/home/tom:/bin/bash
jack:x:508:502::/home/jack:/bin/bash

x:说明密码是空的;

查看密码使用命令 cat /etc/shadow

显示:

ident:!!:16409::::::
uuidd:!!:16409::::::
nslcd:!!:16409::::::
memcached:!!:16409::::::
squid:!!:16409::::::
tcpdump:!!:16409::::::
oracle:!!:16421:0:99999:7:::
tom:!!:16421:0:99999:7:::
jack:!!:16421:0:99999:7:::

可看到我们创建的用户jack  jack后面有两个  !!  说明这个用户是没有被解锁的。

创建用户之后,第一个要做的事情就是给用户配一个密码

命令 passwd 用户名  例:passwd jack 

BAD PASSWORD: it is based on a dictionary word  :如果你的密码过于简单,系统用会提示这一句,但仍然可以用,再次输入确认密码即可。


删除一个用户

userdel -r 用户名 例:userdel -r jack   

-r  删除用户时,会把创建用户时创建的所有文件都删除掉;

如果一不小心没有带-r那也不要急,可以手动的清理一下创建用户时创建的文件,主要有两个,一个是/home下的目录文件,一个是日志文件

rm -rf /home/jack  删除目录

rm -rf /var/mail/jack  删除日志


---------------------------------------------------------------------------------------------------------------------------------------------------------

用户组:

groupadd -g gid 组名  例:groupadd -g 588 tomc

或者  groupadd tomc  系统会自动分配一个gid 

注:建组的时候,gid最好不要和用 户的的uid一样。

查看组:cat /etc/group


删除一个组:

groupdel 组名 例:groupdel tomc  注:如果组下有用户是不让删除的,需要先删除用户。


修改一个组的信息

例:修改gid    命令:groupmod -g 599


给一个用户添加主组的同时再添加一人副组

useradd -u 522 -g cc -G tomcat user1

结果:uid=522(user1) gid=599(cc) groups=599(cc),91(tomcat)

-g  添加主组(这个组必须存在)

-G 添加副组。

--------------------------------------------------------------------------------------------------------------------

切换用户

命令 su - 用户名  :例:su - tom  切换用户到tom连同环境变量也切过去。

su 用户名 :例: su tom  切换到tom,但环境变量还使用的root


--------------------------------------------------------------------------------------------------------------------

目录、文件权限。

例:ls -ld jack  查看jack目录的权限

显示:drwxr-xr-x. 2 root root 4096 Dec 14 15:52 jack

权限代码断,三个为一组如 rwxr-xr-x可分为以下:

rwx                    r-x                                                r-x

用户权限          用户所在组的权限                    其他用户组的权限

7                        5                                                 5

权限代码相加

                    r  (可读)            w  (可写)             x   (可执行)

数字代码: 4                                2                                1


为目录设置用户 组

命令:chown 用户:组    目录   例:chown oracle:oracle  jack

将oracle用户   oracle组设置给jack目录

设置前:drwxr-xr-x. 2 root root 4096 Dec 14 15:52 jack

设置后:drwxr-xr-x. 2 oracle oracle 4096 Dec 14 15:52 jack

可以看到,目录jack的用户组由root 变为了oracle;但这个设置,只是设置了jack目录的用 户组,其子目录或文件并没有设置,想要连子目录也一起设置组,要加上可选项 

-R   连带其目录下的子目录也一起更改;

命令   chown -R oracle:oracle jack



为目录或文件设置权限

chmod -R 755 /jack 为jack目录及jack目录下的所有文件设置权限为755 如果只是为jack目录设置权限的话,可以不带-R

默认目录权限755  文件权限 644