RSS slacknews.org

  • drop_caches
    Задаването на стойности на /proc/sys/vm/drop_caches кара ядрото да освободи кешовете, dirty страниците и inodes от паметта. За да освободим кешовете: echo 1 > /proc/sys/vm/drop_caches За да освободим dirty страниците и inodes от паметта: echo 2 > /proc/sys/vm/drop_caches За да освободим кешовете, dirty страниците и inodes от паметта: echo 3 > /proc/ […]
  • Конфигуриране на ядрото: Поддръжка на мрежови протоколи
    Менюто с мрежовите настройки съдържа опции за настройване на мрежовите протоколи. Може да включвате или да изключвате поддръжка на цели протоколи, или да настроите финно ядрото за определена роле, като рутер или пакетен филтър. Packet and Socket Options На много ниско ниво ядрото работи като позволява на дадени приложения да приемат или изпращат порции с дан […]
  • Конфигуриране на ядрото
    За да конфигурирате ядрото, трябва да притежавате сорс кода. В Slackware той може да се инсталира заедно с ядрото. Може би бихте искали да започнете със страндартно ядро и да си го пачнете и конфигурирате по ваше желание. Проверете  http://www.kernel.org/ за последна верися на сорс кода на ядрото. Сорс кода на ядрото обикновено се намира в [...] […]
  • Ограничаване на достъпа до команда в Линукс
    Как да огранича достъпа до /usr/local/bin/start само за определени потребители на системата ? Отговорът на върпроса е, че трбва да използвате стандартните Линукс групи. Стъпка 1: Създайте група за всички оторизирани потребители Създайте групата: #groupadd restrictedapp Добавете потребители в тази група: #usermod -aG {име_на_група} {потребителско_име} #usermo […]
  • Взимане на част от текст с bash
    Можем да вземем само част от даден текст много лесно с Bash. Нека да кажем, че имаме 1234567890 или abcdefghij. Може да го направим така : num="1234567890"; echo ${num:5:7} 5 указва началото, а 7 колко символа да вземе. Possibly Related Posts: drop_caches Конфигуриране на ядрото: Поддръжка на мрежови протоколи Конфигуриране на ядрото Ограничаване н […]
  • Когато rm се оплаква, че не може да трие
    Има ограничение на командата rm, когато се опитате да триете много файлове с *. Например: rm -rf something* Ако има много файлове, които започват с something, rm няма да може да ги изтрие и ще изведе: /bin/rm: Argument list too long. Решението на проблема е да ползвате find, xargs и rm. find . -name 'something*' -print0 | xargs -0 rm [...] […]
  • umask: създаване на нови файлове с определени права
    Замисляли ли сте се, че всеки път като създаваме файлове в Линукс те се създават с определени права ? Нека да пробвам: Lets see this: touch testing ls -l testing -rw-r--r-- 1 test test 0 2008-03-08 01:14 testing Файла не би трбвало да се създаде с права за изпълнение, както виждаме изхода от ls. Нека да дадем права за изпълненеи [...] […]
  • Права за достъп до файлове
    chmod (change mode) е доста често използвана команда за администрация. Обикновено я ползваме, за да направим даден скрипт, написан на bash, python, perl изпълним. За да на правил файл изпълним: chmod +x myscript.sh По подразбиране това ще промени атрибута за всички. Файловите атрибути са 3 вида: u ( user – собственик на файла) g ( групата, в която е потребит […]
  • Къде се намират програмите ми и техните конфигурационни файлове ?
    Когато искаме да намерим пълния път до дадена програма, обиконовенно използваме which. Например, ако искаме да видим къде се намира mplayer, може да направим това: which mplayer Има още една команда, която освен, че ви показва пътя до бинарките, ви показва и пътя до сорс файловете, конфигурационите файлове и man страниците. whereis mplayer Ще върне това: mpl […]
  • Как да покажем споделените библиотеки, от които се нуждае програма ?
    Почти всяка програма в Линукс използва споделени библиотеки, дори тези които са компилирани на ръка със gcc. Може да се окаже, че дадена програма компилирана на дадена дистрибуция може да не работи под друга или по-стара версия на същата, на която е била компилирана. Всичко това може да се дължи на липсващи споделени библиотеки. Можем да [...] […]
  • Slackware news: 4 Октомври 2009
    Има две важни промени днес PHP и Samba. Промените са направени едновременно в -Stable и в -Current. В -Current, обаче има и доста други промени като MySQL, Amarok, QT, Perl, както и GCC 4.4.1. Това е последното от -Current changelog-а: Sun Oct 4 00:17:50 CDT 2009 ap/mysql-5.1.39-i486-1.txz: Upgraded. This bumps the version of the shared libraries to .so.16.0 […]
  • GoblinX 3.0
    Flavio Pereira de Oliveira представи днес последната версия на неговата популярна Slackware-базирана жива дистрибуция, GoblinX, още позната като G:Standard. GoblinX 3.0 имаше пет десктоп мениджъра, но явно Flavio е решил да запази само един KDE. С KDE4, тази дистрибуция включва стабилност и добър външен вид в един ISO имидж. В новата версия на GoblinX 3.0: · […]
  • Slackware по лесния начин
    Дайте на човек Ubuntu, и той ще научи Ubuntu. Дайте на човек SUSE, и той ще научи SUSE. Ако дадете на човек Slackware, той ще научи Linux. Това гласи старата максима, обикновено използвана с насмешка, но все още важеща. Ако някога сте се чудили какво прави Slackware толкова популярен сред Линукс ветераните ви представям малко съвети [...] […]
  • Основи на Линукс автоматизацията
    Тази статия описва начина, по който могат да се изпълняват команди в определено време без да се налага на потребителя да ги въвежда. Програмите отговорни за това в линукс са cron и at. Изпълняване на команди в точно определено време: Ако нямате нужда командата да се изпълнява редовно може да използвате. Например може да ползвате : at midnight След [...] […]
  • Facebook пуска свободен високопроизводителен сървър
    Facebook пуска фреймуорк, Tornado, която е написана на питон и е написана специално за обработване на големи обеми информация едновременно. Торнадо е фокусирана върху скоростта на обработка на данните и едновременното обработването на огромни количества трафик. Технологията се разпространява под Apache 2.0 лиценз. Цялата новина може да научите тук. Possibly […]
  • Linux 2.6.31
    Тази версия на ядрото добавя USB 3.0 поддръжка, еквивалент на FUSE за подаване на звук от OSS към ALSA, някой подобрения в управлението на паметта, добавена е поддръжка за ATI Radeon Modesetting, както и за Intel Wireless Multicomm 3200 Wifi устройства. Добавена е поддръжка и за броячите за производителност, поддръжка за gcov, проверка за не [...] […]
  • Как да конфигурираме Squid да ползва refresh patterns
    Squid може да бъде конфигуриран така че да удовлетворява дори най-взискателните конфигурации. При последните версии могат да се конфигурират поне 250 отделни параметъра. Стандартния конфигурационен файл се намира в /etc/squid.conf и заедно с коментарите достига 4600 реда. Конфигурирането на приложението може да се окаже предизвикателство дори за напреднали а […]
  • Преглед на ext3 и ext4 файловите системи
    Има доста въпроси, които се повдигат при създаването на ext3 файлова система. Административни съображения Доста въпроси изникват, когато трябва да се реши как да бъде разделено мястото на хард диска и как трябва това място да се разпредели между различните партишъни и файлови системи. Някои от въпросите, които може би си задавате са: Как бихте искали да план […]
  • Как да търсим файлове в Линукс
    Как да търсим с ‘locate’ Най-лесния начин да търсим файлове в Линукс е с програмата locate. Когато пуснете за пръв път програмата може да ви изпише съобщение за грешка. Проблема е че е нужна база с всички файлове на на компютъра за да може locate да ви покаже резултат. Съобщението за грешка ще би подкани да [...] […]
  • Как да правим всичко с dd ?
    Синтаксиса на командата е : dd if= of= bs=(обикновено степен на 2, но не по-малко от 512 байта) skip= seek= conv=. Source са входните данни. Target е мястото, където се записва информацията. Ако направите грешка и им размените местата, може да затриете много информация. Примери : Копиране партишън от един хард диск на друг : dd if=/dev/sda2 of=/dev/sdb2 bs=4 […]

Slacknews.org етикети

attributeschangelogcopy fileext4filefile access modesfirefoxgcckdekde4.2.0kdelibskernelkernel configurationlinuxmozillamozilla firefoxopensshproxyreleasesecuresecure brosingsecuritysecurity fixsecurity upgradeslackwareslackware changelogslackware kde 4.2.4slamd64slamd64 12.2socks proxysshtortunnelupgradexdg-utilsконфигурация на ядролинукснова версияпроксисигурностсигурно сърфиранесламдтунелъпгрейдядро

umask: създаване на нови файлове с определени права

октомври 6th, 2009

Замисляли ли сте се, че всеки път като създаваме файлове в Линукс те се създават с определени права ? Нека да пробвам:

Lets see this:

touch testing
ls -l testing
-rw-r--r-- 1 test test 0 2008-03-08 01:14 testing

Файла не би трбвало да се създаде с права за изпълнение, както виждаме изхода от ls. Нека да дадем права за изпълненеи на файла.

chmod +x testing
ls -l testing
-rwxr-xr-x 1 test test 0 2008-03-08 01:16 testing

Както виждате в момента режима е 755(повече информация за правата върху файловете тук).

За да конторлираме как се създават новите файлове, може да използваме umask. Може да се каже, че umask е обратното на атрибитите на файла. Нека да кажем, че искате файловете да се създават винаги с 774 (-rwxrwxr–) атрибути, вашата umask ще е  003. Как разбрахме? 777 – 774 = 003.

За да проверим сегашната umask, който е в сила, просто напишете:

umask
0022

Първата стойност отпред 0 указва, че това това е осмична(в осмична бройна система) стойност, затова нашите атрибути по подразбиране за създаване на файлове са 755, но понеже атрибута за изпълнение не се слага по подразбиране стават 644, когато създаваме нови файлове.
Нека да сменим на 0003, което означава, чес искаме атрибутите да са 774 (rwxrwxr–).

umask 0003
touch testing2
ls -l testing2
-rw-rw-r-- 1 test test 0 2008-03-08 01:27 testing2

Атрибутите са 664, и като добавим правата за изпълнение получаваме:

chmod +x testing2
ls -l testing2
-rwxrwxr-- 1 test test 0 2008-03-08 01:27 testing2

Сега имаме 774, въпреки чеchmod +x , не добава права за изпълнение на всички други потребители. Това се дължи на umask, който ползваме. Разбирасе винаги може да го направите изпълним така с chmod o+x.

За какво да го използваме ?
Нампример нека да предположим, че имате потребител, чиито файлове трябва да могат да се четат от групата, на която той принадлежи, но файловете му да не могат да се променят или да се изпълняват. Освен това не позволяваме на всички други да му четат файловете. Това може да го постигнем с umask като въведем umask 0037 в неговия ~/.bashrc

Possibly Related Posts:


  • Share/Bookmark

Filed under: Статии | No Comments »

Права за достъп до файлове

октомври 6th, 2009

chmod (change mode) е доста често използвана команда за администрация. Обикновено я ползваме, за да направим даден скрипт, написан на bash, python, perl изпълним.

За да на правил файл изпълним:

chmod +x myscript.sh

По подразбиране това ще промени атрибута за всички. Файловите атрибути са 3 вида:

u ( user – собственик на файла)
g ( групата, в която е потребителя)
o ( всичко останали потребители)
a ( всички гореспоменати)

Това означава, че горната команда е подобна на тази:

chmod a+x myscript.sh

По този начин ще позволим само на собственика на файла да го изпълнява:

chmod u+x myscript.sh

Може да премахвате атрибути от файл. Да кажем, че имате права за изпълняване от всички, но искате да не е изпълним от всички други (които не са потребителя или не са от неговата група):

chmod o-x myscript.sh

Освен атрибута за изпълнение, имаме атрибути за писане и четене. За тях важи горенаписаното.

Например искам да махна атрибутите за четене и писане на всички други потребители:

chmod o-rw myscript.sh

chmod може да се изпълнява и по друг начин. Може да използваме цифри за да укажем атрибутите, вместо символи.
Цифрите, които оказват атрибутите са показани по-долу:

execute = 1 (изпълнение)
write = 2 (писане)
read = 4 (четене)

В този ред на мисли ако са включени атрибутите за четене и писане имаме 2+4 = 6, а ако са включени за изпълнение и четене имаме 1+4 = 5.

За да може собственика на файла да има rwx атрибути, но групите, на които принадлежи, и всички останали да имат само rx, може да направим това:

chmod 755 myscript.sh

Така, 7= 4+2+1 (rwx) и 5 = 4+1 (rx).

Possibly Related Posts:


  • Share/Bookmark

Filed under: Статии | No Comments »