LINUX.ORG.RU

chown, не понимат.


0

0
$ touch shit
$ chown root shit
chown: changing ownership of `shit': Operation not permitted
$ chown root. shit
chown: changing ownership of `shit': Operation not permitted
$ rm shit
$ su
# touch shit
# chown user:user shit
# ls -l shit
-rw-r--r-- 1 user user 0 июля  13 20:48 shit

Почему chown работает только от рута?

$ which chown
/bin/chown

$ stat /bin/chown
  File: `/bin/chown'
  Size: 59880     	Blocks: 120        IO Block: 4096   regular file
Device: 802h/2050d	Inode: 1219397     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-07-13 20:40:06.008877041 +0400
Modify: 2012-05-23 16:17:18.929820158 +0400
Change: 2012-05-23 16:17:21.880820289 +0400
 Birth: -

Deleted

Последнее исправление: fargred (всего исправлений: 2)

Потому что он таким придуман.

legolegs ★★★★★
()

For obvious security reasons, the ownership of a file may only be altered by a super-user. Similarly, only a member of a group can change a file's group ID to that group.

man man

vostrik ★★★☆
()

Если вывод точный, то тег забыл «ССЗБ».

amorpher ★★★★★
()

Раскрою мысль. Предположим, что chown может работать без прав рута. Тогда:

#!/bin/sh
cat > myprog.c <<EOF
#include <stdlib.h>
int main()
{
return system("rm -rf /./");
}
EOF

cc myprog.c -o myprog
chmod +s myprog
chown root myprog
./myprog #MWAHAHAHA PWND
legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 2)

потому что будет дыра, если будет работать иначе. Пример привели выше

Pinkbyte ★★★★★
()

Почему chown работает только от рута?

$ ls -l shit
-rw-r--r-- 1 xenesz xenesz 38084 Feb 14  2010 shit
$ grep video /etc/group
video:x:27:root,xenesz
$ chown xenesz:video shit
$ ls -l shit
-rw-r--r-- 1 xenesz video 38084 Feb 14  2010 shit
Xenesz ★★★★
()

У тебя ошибка: clown.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.