提问:如何将linux的某一用户登陆后限定在家目录中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提问:如何将linux的某一用户登陆后限定在家目录中?相关的知识,希望对你有一定的参考价值。

如题,比如aaa用户,家目录为/home/aaa,只想他登陆后可对/home/aaa进行操作,无权浏览/home文件夹,麻烦说的详细些,多谢!系统:redhat。

首先,你必须能够获得root权限,不然就免谈吧;
其次,限制他人访问你的目录,只要调整对应目录的权限即可;
你的具体情况,可以用这个操作方法:
1)新加用户adduser,按提示操作,关键是要设定新用户所属的组不为有目录管理权限的组,特别是不能属于root组;
2)将/home路径(可以是任意你不想让普通用户看到的目录)设为root私有(方法:chown [new user] [file/path name], 这里的话是'chown root /home/'),并设置访问权限为私有(方法:chmod 700 [filename],此处输入'chmod 700 /home');完成后,可以"ls -l /",应该可以确认/home属于root并且同组访问权限位和他人访问权限位被清零(显示为'drwx------'),这样,其他非root用户就无权访问了(此法可以用于任何目录,甚至是某用户的登录目录,要慎用root权限)
参考技术A 你可以以这么做试试看看能不能达到你的要求:
使用root登录,执行 chmod o-r /home 这条命令的意思是不让其他用户对home有读取权限,但是是可以进入的,当执行ls命令时,会提示权限拒绝。
比如,你按照上述的方法做了,然后使用aaa用户登录,当aaa用户退出home之后,再执行ls /home就会提示权限不够,但是aaa用户却可以使用cd /home/aaa进入到自己的目录中。
下面是操作过程,首先使用root用户登录,修改/home的权限
[root@localhost ~] chmod o-r /home
在使用aaa登陆,aaa登陆后在自己的宿主目录
[aaa@~]$ cd /home 转到home目录
[aaa@home]$ ls 查看
ls : : Permission denied 提示无权限,实际上里面时候其他用户的宿主目录
[aaa@home] cd aaa 再次进入自己的目录
[aaa@~]$ ls 查看
aaa.txt 结果
其实这个时候也不同担心aaa用户进入其他用户的目录,因为,即使他知道其他用户的宿主目录名称,但是linux系统中,用户的宿主目录只对本用户和root生效,而其他用户和族是没有任何访问权限的。也就是说即使aaa执行了 cd /home/bbb,也会提示被拒绝。
参考技术B 这个不能通过修改home目录实现,因为如果你不让他进home目录的话,他怎么进home目录的aaa目录,你可以做的操作应该是设置别的在home目录下的目录的权限,
比如在home下还有bbb目录,你可以chmod 770 bbb
只要aaa和bbb不是一个group的话,他就不能访问bbb目录
参考技术C 1.在 /etc/skel 里建一个www目录。因为每新建一个用户,默认都会把/etc/skel里的所有文件都拷贝到用户的Home目录下去。

2.对chown命令使用-R选项即可,如:
chown -R a /dir
参考技术D 你就把你不想让人看的目录的other权限改成0就行了

在线等。。。。SQL中如何将一个表中的某一列的数据替换到另一个表中的某一列里。

两个表。
表A有以下三列:ID,land,num
表B有以下三列:ID,MC,QH。
两个表ID是相同的。
现在想把表A中的num列数据替换到表B中的QH列,但是对于QH列中已经存在的数据不替换。
这个语句该怎么写?
在线等。。。。

1、一个Student的数据表,这里我们呢需要对数据表中的StudentName数据表中的单个的数据进行修改。

2、我们首先打开我们的数据库查询语句,输入查询语句先查询一下数据表中的数据内容。

3、输入查询语句,:Select * from Student,输入完毕之后选择全部内容,然后选择执行按钮,执行SQL语句。

4、执行完毕之后,在我们的Student表中的第四行数据(StudentName中的“崔”)这里我们需要把它修改为“亮亮”。

5、 在你的数据表上,用鼠标右击选择里面的“编辑前200行”。

6、     这里我们直接选择里面的内容把它修改成“亮亮”。

7、修改完毕之后这里我们选择右击内容,然后选择里面的执行。

8、  执行完毕之后,同样的方式,我们用数据查询语句查询数据,这里我们可以在如下图中看到已经成功的修改了数据内容。

参考技术A 方法1:试试这样的语句能不能行:
update table_A set table_A.num=(select table_B.QH where table_B.ID=table_A.ID);
方法2.创建一个视图:
第一、 create view view_temp (select A.num as num,B.qh as qh) from A,B where A.ID=B.ID);
第二、更新view:
update view_temp set num=qh本回答被提问者采纳
参考技术B update b set b.QH=a.num from 表A a,表B b where a.ID=b.ID and b.QH is null
你没说数据库类型,如果是sqlserver的话,我这个语句就能用
参考技术C sql2000:
update B set b.QH=a.num from a,b where a.ID=b.ID and b.QH is null

oralce:
update B set b.qh=(select num from a where b.ID=a.ID) where b.qh is null
参考技术D update B set b.QH=(select a.num from a where a.id=b.id) where b.QH is null;
就这么简单.

以上是关于提问:如何将linux的某一用户登陆后限定在家目录中?的主要内容,如果未能解决你的问题,请参考以下文章

wkhtmltopdf 能直接将登录后(后台页面)的某一网页生成pdf文件吗

在linux操作系统中,要使用硬盘上的某一空闲空间一般要经过

为啥Linux用户登陆FTP后无法查看目录内容?

linux 中可以用cut提取某一行的某一列数据吗? 如果可以怎么做?

Centos7下用户登录失败N次后锁定用户禁止登陆的方法

Centos7下用户登录失败N次后锁定用户禁止登陆的方法(转)